Анонимная зона дэг не работает

Блокчейн нас подвёл? Почему ДЭГ — это плохо и можем ли мы адекватно контролировать процесс подсчёта голосов?

Интересно наблюдать, как дискредитируется термин блокчейна на выборах в госдуму. Вроде голосование было на блокчейне, но его якобы подделали. Т.е. блокчейн можно подделать или ЦИК и ДИТ нам подсунули какой-то лохчейн вместо блокчейна. И мало кто обсуждает происходящее по существу без эмоций, связанных с результатами партий и кандидатов.

Фоторобот майора ФСБ, управляющего ходом электронного голосования

За последние пару дней уже появилось несколько хороших статей про Дистанционное электронное голосование и анализ его данных. Например, «Что же не так с ДЭГ в Москве?» Так же есть отличные разборы данных на канале Каца. А так же чуть раньше этой опубликованная статья «Что же не так с любыми электронными голосованиями?», поднимающая схожие вопросы о применимости ДЭГ вообще.

Почему об этом вообще важно писать в ИТ сфере? Наблюдатели — это основа гарантии прозрачности выборного процесса. Быть наблюдателем на участке ТИК может каждый — есть соответствующая подготовка в рядах многих партии, призывающих наблюдателей. А вот наблюдением за ДЭГ нужно заниматься людям, понимающим в блокчейне, способным задать правильные вопросы ДИТ и ЦИК до, во время и после голосования, а так же готовым быстро писать скрипты и программы для независимой проверки результатов.

Честно скажу, в ДЭГ я не очень верил (голосовал на старом добром участке), не ожидал, что в Москве на ДЭГ запишется так много человек, и никакого интереса к технологии до выборов не проявлял. А зря.

Что не так?

Записи о голосовании якобы велись на блокчейне. Не проверял — нужно больше информации, а документации фактически нет, времени не было всё поисследовать. Нам предлагается скачать базу с результатами. Но и без документации что-то можно покопать. Данные тут.

Судя по тем осколкам описаний, что удалось найти, верификацией блоков занимались всего 4 узла валидатора. Кто это были? ДИТ и ЦИК? Почему всего 4?

Сколько было full нод и все ли они были подконтрольны ДИТ/ЦИК? Судя по доке наблюдатели могли видеть данные в каком-то виде, но полную копию в реальном времени делать не могли. Иначе бы не жаловались на пропадание доступа ровно в 20:00 19 сентября (якобы из-за окончания сертификатов ФСБ, но причем тут вообще ФСБ? данные вообще в открытом доступе должны быть). После этого и до выкладывания на сайте данные в теории могли изменяться — проверить это можно только имея слепки всех записей на 20:00. Делал ли кто-то из сторонних независимых наблюдателей такие копии? Не ясно. Вроде в статьях, упомянутых выше, делали и совпало.

Вместо принятого в Ethereum или Bitcoin распределённого и децентрализованного блокчейна в голосовании использовали приватный централизованный блокчейн, да ещё и с возможностью повторно переподписать все волеизъявления (см. ниже — мы же не знаем, какой уровень доступа к сертификату пользователей у операторов системы ДЭГ, может они к ним имеют доступ и могут переподписать) и блоки (подписант судя по всему один — это ДИТ).

Чем подписывались голоса, хэши которых кладутся в блоки? Если сертификатом избирателя на Госуслугах, то у большинства сертификат лежит на серверах Госуслуг, входят они по паролю и СМС, и они даже открытого ключа своего не знают, тем более приватного. Или вообще по какому-то специально для этого созданному ключу? В общем, проверить избиратели ничего не могут, а их сертификат всё равно доступен кому-то в системе Госуслуг.

В теории каждый избиратель, зная свой открытый ключ, мог бы проверить, сколько он раз голосовал и как. Это дало бы возможность каждому из нас проверить, что переголосования (для Москвы), неучёта голоса, многократного учёта голоса или иного подлога не произошло. Однако нехватка ответов на вопросы выше мы не можем ничего проверить. Есть инструкция, но как проверить, если не записал на момент голосования номер своей тразакции?

Пожалуй самое важное: Как обстоят дела с анонимностью? Если подписание идёт сертификатом избирателя, то это совсем не анонимно — портал госуслуг (и любой наблюдатель) знает кто и как голосовал. Если для голосования выдавался отдельный голос (токен), то опять же или государство и наблюдатели знают, кому какой токен выдан, т.е. кто как проголосовал, или нельзя гарантировать, что каждому избирателю выдали ровно один токен. Этот контроль нужно осуществлять каким-то другим методом вне блокчейна и с доступом наблюдателей.

Данные в системе хранятся в зашифрованном виде, якобы чтобы не раскрывать анонимности голосования. Но ключ для расшифровки явно существует. В федеральном ДЭГ подсчёт голосов (суммирование) велось в зашифрованном виде через «слепую подпись» (хотя и тут не хватает аудита кода, чтобы подтвердить реализацию), но в Москве, где ДИТ решил сделать возможность изменения волеизъявление до окончания голосования, посчитать голоса без расшифровки явно нельзя — нужно оставить только последний голос данного избирателя. И плакала анонимность.

Я лично тоже решил проверить все выводы, которые сделала Брюханова, и не понял как выделить переголосования. Получается, выложенных данных на сайте не хватает для полного анализа данных.

UPD: Доступа к спискам избирателей, я так понял, тоже не было. А это полный аналог доступа к журналам на оффлайн участке. Нет возможности проверить, что эти люди реально существую, и что они имеют право голосовать именно по этому участку.

В итоге от блокчейна и хорошей технологии остались рожки да ножки. Ничего непонимающим в криптографии людям покажется, что фуфло это блокчейн, и доверять ему нельзя. А выборы опять, возможно, фальсифицировали, только во всём этом стало ещё сложнее разбираться даже техническим специалистам.

Из сказанного видно, что сама технология как есть вообще не очень подходит для тайного (анонимного) голосования. Скорее всего из технологии блокчейн применили только термин и кучу бессмысленного шифрования и подписания. В остальном это обычная база данных с возможностью всё переписать/нарисовать/изменить без нашего участия, часть которой нам ещё и не покажут. Код нам тоже не показывают, аудит его сделать нельзя. Технология совсем не выглядит открытой, документации нет, открытого тестирования надёжности алгоритмов нет. И понятно, почему. При детальном изучении скорее всего выяснится, что математически/программно система дырявая, доверия к ней будет столько же, сколько напёрсточнику на рынке в 90-х.

Читайте также:  Как настроить ведьмака 3 чтобы не лагал

Как хотелось бы

Напомню, что главными критериями тайного голосования являются анонимность волеизъявления (невозможность связать голос с конкретным лицом) и открытость подсчётов (гарантии того, что учтены голоса всех пришедших и только они).

Цель информационной системы ДЭГ — сделать так, чтобы фальсификация была сложнее, а сам процесс проверки и подсчёта голосов более прозрачным.

Поэтому в текущую систему следовало бы ввести следующие изменения:

В идеале выборы надо делать на блокчейне с применением концепции zero knowledge — доказательством факта без знания деталей этого факта (да, проголосовал именно он, но не знаю, как; да, голос за такую-то партию, но кто голосовал, не знаю). Но это направление криптографии пока не достигло должных успехов, чтобы ему доверять. Все попытки применения в странах развитых демократий пока не прошли стадию PoC из-за найденных проблем (кроме Эстонии). Исследования ведут многие страны, а США и Швейцария и скандинавские страны периодически предлагают сообществу и участие в разработке, и в поиске уязвимостей (таких как деанонимизации голосов, возможности вбросов, да и просто дыры). Здесь нужно перенимать опыт.

Должно было обязательно быть подписание блоков многими наблюдателями и общественными организациями с правом участия в консенсусе в случае расхождения результатов (тут консенсус не в принятом смысле, а в смысле возможности отменить все блоки после расхождений через ТИК/ЦИК/суд — это как член комиссии с ПРГ, только электронно) в процессе всего голосования, чтобы постфактум ничего нельзя было поменять.

Данные должны быть общедоступными (гражданам и наблюдателям, и без всяких ФСБ!), а сама технология, вся математика, алгоритмы и процессы должны быть описаны в открытом доступе с документацией, чтобы каждый мог результат проверить.

Правильно для голосования требовать делать сертификаты с генерацией на стороне избирателя, а не с хранением сертификата на Госуслугах. Это исключит возможность переголосования за избирателя, которая есть сейчас.

UPD: Наблюдателям должны предоставляться списки избирателей с доказательством того, что они действительно зарегистрированы по указанным адресам. В идеале это бы делать по базе МВД и ФМС, которые тоже должны вестись на открытом децентрализованном блокчейне (как и многие другие гос. базы), чтобы было легко гарантировать, что человек действительно переехал не менее 3 месяцев назад (или сколько там по закону нужно). А наблюдатели должны получать полный доступ к спискам, включающим ФИО, адрес, паспорт как на оффлайн участках. Это уменьшит вероятность регистрации «ботов». Фальсифицировать настолько заранее, да ещё и вбрасывать в базы смежных ведомств и силовых органов затратнее и опаснее.

UPD: Уменьшить грануляцию (размер участка) до типичного оффлайн участка (

1000 человек), чтобы были лучше видны статистические отклонения по районам и можно было легче проверять списки избирателей на участках. Это позволит наблюдателям в районах легче отслеживать «мёртвые души». Я например, знаю, кто никогда не голосует в моём доме, и каждые выборы «подсматриваю» в журнал при получении бюллетеня (пока подписываю), чтобы проверить, что за «молчунов» никто ничего не вписал (я прихожу всегда к закрытию участка).

Всё это позволило бы вернуть доверие к ДЭГ. Но, кажется, такой задачи не стоит.

Поэтому пока мы не знаем ни как это работает, не видим полных данных, но конечным числам и графикам должны почему-то доверять. Такой вот zero knowledge и full trust в представлении ЦИК.

Ещё раз про анонимность

После прочтения комментов хочется заострить внимание на теме анонимности и проверки списка избирателей. Очевидно, что при тайном голосовании при нужно отдельно вести два журнала: журнал получивших бюллетень и журнал голосов. Первый нужен для идентификации избирателя (имеет право голосовать на этом участке и ещё не голосовал где-то ещё: оффлайн или по открепительному — проверяется отдельно как и при оффлайн). Второй нужен собственно для подсчёта голосов и содержит в том числе испорченные бюллетени. Важно, чтобы суммы в этих списках на участке были равны за периоды голосования (по дням), если не допускать выноса бюллетеня с участка. В оффлайн за этим следят наблюдатели. На текущем ДЭГ за этим нормально не следили.

Следить тут можно или связав списки (и тогда плакала анонимность), ли выдавать каждому рандомный токен (бюллетень) для голосования (идеально для анонимности человек сам его сгенерирует), не связанный с его личным ключом авторизации на участке, но тогда никто кроме самого избирателя не сможет проверить, что его голос учтён и он за того кандидата, а не за него что-то там вбросили. Т.е. каждый должен стать наблюдателем, а сторонние наблюдатели будут бессильны.

Кроме того если даже как-то обеспечить анонимность (что технически пока никто не умеет нормально делать на блокчейне — см. выше), и при этом вести записи в обоих журналах, то можно уже по времени записей понять, кто за кого голосовал. Фишка оффлайн голосование в урне, в которую кидают бюллетени, не раскрывая в этот момент за кого. А уже при подсчёте смотрят на голоса. Урна — это хранилище. В блокчейне аналогов этому пока нет.

Одна из логичных идей — записывать блоками по, например, 100 человек в оба журнала, тогда анонимность уже больше, но и нельзя уже гарантировать, что проголосовал именно нужный человек, а не бот за него.

В общем, блокчейн тут вообще не к месту. Хайпанули на нём нормально власти, подменив доверие к системе сложным термином.

Тем, кто интересуется, можно почитать ещё вот эту хорошую статью и полистать краткую доку на официальном сайте.

Касаемо результатов, у Брюхановой в видео интересные и грустные выводы, и тут я ей верю — лично проверил на примере моего 208 округа. Не всё ещё проанализировал, но пока всё сходится с данными в видео по 198 округу. Фальсификации были, и видно это даже без заглядывания в приватный блокчейн, который нам показывать не хотят. Видимо там это точно доказуемо.

Картинка от прекрасной petit.pi.

Тем, кто хочет самостоятельно поиграться с данными, прошу под кат

Скрипт для рисования графиков голосования по округам

Распакуйте и загрузите в PostgreSQL в базу deg

Для тех, кто первый раз пользуется PostgreSQL (как я), сразу ставьте Adminer из их репозитория. Будет легче визуализировать данные.

Читайте также:  Сломался фильтр стиральной машины индезит

Я рисовал графики в Gnuplot, но вы можете заменить на что угодно.

Тут лишь часть скриптов, чтобы дать затравку — сам пока не всё изучил.

Замените 208 округ на нужный — не подумал переменную завести, т.к. пока только на своём анализом занимался

За качество скриптов не судите — ночные часы с попыткой разобраться дают о себе знать.

Пока разбирался, нарисовал схему. Самая важная таблица — это transactions и её поле payload, которое в зависимости от method_id имеет разный формат.

Источник

Обзор системы дистанционного электронного голосования ЦИК РФ

31 августа 2020 состоялся публичный тест системы дистанционного электронного голосования (далее ДЭГ) с применением технологии блокчейн, разрабатываемой по заказу ЦИК РФ.

Для знакомства с новой системой электронного голосования и понимания того, какую роль в ней играет технология блокчейн и какие еще компоненты используются, мы начинаем серию публикаций, посвященных основным техническим решениям, применяемым в системе. Начать предлагаем по порядку — с требований к системе и функциям участников процесса

Требования к системе

Основные требования, которые предъявляются к любой системе для голосования, в целом одинаковы и для традиционного очного голосования, и для дистанционного электронного голосования, и определены Федеральным законом от 12.06.2002 N 67-ФЗ (ред. от 31.07.2020) «Об основных гарантиях избирательных прав и права на участие в референдуме граждан Российской Федерации».

  1. Голосование на выборах и референдуме является тайным, исключающим возможность какого-либо контроля за волеизъявлением гражданина (ст.7).
  2. Возможность голосования должна быть предоставлена только лицам, обладающим активным избирательным правом на этом голосовании.
  3. Один избиратель – один голос, не допускается «двойное» голосование.
  4. Процесс голосования должен быть открытым и гласным для избирателей и наблюдателей.
  5. Должна обеспечиваться неизменность поданного голоса.
  6. Должна отсутствовать возможность подсчитать промежуточные итоги голосования до его завершения.

Итак, у нас три участника: избиратель, избирательная комиссия и наблюдатель, между которыми определен порядок взаимодействия. Еще можно выделить четвертого участника – органы, осуществляющие регистрационный учет граждан на территории (прежде всего, органы МВД, а также другие органы исполнительной власти), поскольку активное избирательное право связано с гражданством и местом регистрации.

Все эти участники взаимодействуют друг с другом.

Протокол взаимодействия

Рассмотрим процесс голосования на традиционном участке, с урной и бумажными бюллетенями. В общем упрощенном виде он выглядит так: избиратель приходит на участок и предъявляет документ, удостоверяющий личность (паспорт). На участке работает участковая избирательная комиссия, член которой проверяет личность избирателя и наличие его в списке избирателей, который был составлен ранее. Если избиратель найден, член комиссии выдает избирателю бюллетень, а избиратель расписывается в получении бюллетеня. После этого избиратель отправляется в кабинку для голосования, заполняет бюллетень, и опускает его в урну. Чтобы все процедуры соблюдались строго по закону, за всем этим следят наблюдатели (представители кандидатов, общественных институтов наблюдения). После завершения голосования избирательная комиссия в присутствии наблюдателей производит подсчет голосов и устанавливает итоги голосования.

Необходимые для проведения голосования свойства в традиционной системе голосования обеспечиваются организационными мерами и установленным порядком взаимодействия участников: проверкой паспортов избирателей, личной росписью за бюллетени, использованием кабинок для голосования и опечатанных урн для бюллетеней, порядком подсчета голосов и т.д.

Для информационной системы, которой является система дистанционного электронного голосования, этот порядок взаимодействия называется протоколом. Поскольку все взаимодействие у нас становится цифровым, этот протокол может рассматриваться как алгоритм, который реализуют отдельные компоненты системы, и комплекс организационно-технических мероприятий, выполняемых пользователями.

Цифровое взаимодействие накладывает определенные требования к реализуемым алгоритмам. Давайте рассмотрим действия, выполняемые на традиционном участке, в терминах информационных систем и то, как это реализовано в рассматриваемой нами системе ДЭГ.

Сразу скажем – технология блокчейн не является здесь «серебряной пулей», которая решает все вопросы. Для создания подобной системы потребовалось разработать большое количество программных и аппаратных компонентов, отвечающих за разные задачи, и связать их единым процессом и протоколом. Но при этом все эти компоненты взаимодействуют с блокчейн-платформой.

Компоненты системы

С технической точки зрения система ДЭГ представляет из себя программно-технический комплекс (далее ПТК), объединяющий набор компонентов для обеспечения взаимодействия участников избирательного процесса в единой информационной среде.

Схема взаимодействия компонентов и участников системы ПТК ДЭГ приведена ниже на рисунке.


Кликабельно

Процесс дистанционного голосования

Теперь подробно рассмотрим процесс дистанционного электронного голосования и его реализацию компонентами ПТК ДЭГ.

Согласно Порядку дистанционного электронного голосования, для включения в список участников дистанционного электронного голосования избирателю необходимо подать заявление на портале Госуслуг. При этом подать такое заявление могут только те пользователи, которые имеют подтвержденную учетную запись и успешно сопоставлены с регистром избирателей, участников референдума системы ГАС «Выборы». После получения заявления данные избирателя еще раз проходят проверку в ЦИК России и загружаются в компонент «Список избирателей» ПТК ДЭГ. Процесс загрузки сопровождается записью уникальных идентификаторов в блокчейн. Доступ к просмотру списка имеют члены избирательной комиссии и наблюдатели с помощью специального АРМ, размещенного в помещении избирательной комиссии.

При визите избирателя на участок происходит его аутентификация (сопоставление с данными паспорта) и идентификация в списке избирателей, а также проверка того, что этот избиратель ранее еще не получал бюллетень. Здесь важный момент – невозможно установить, опустил ли избиратель полученный бюллетень в урну или нет, только факт того, что бюллетень уже выдавался ранее. В случае ПТК ДЭГ визит избирателя представляет собой обращение пользователя на Портал ДЭГ – это сайт, расположенный по адресу vybory.gov.ru Как и на традиционном участке, на сайте размещены информационные материалы о проводимых избирательных кампаниях, сведения о кандидатах и другая информация. Для проведения идентификации и аутентификации используется ЕСИА Портала Госуслуг. Таким образом, сохраняется общая схема идентификации как при подаче заявления, так и при участии в голосовании.

После этого начинается процедура анонимизации – избирателю выдается бюллетень, который не содержит никаких идентификационных отметок: у него нет номера, он никак не связан с избирателем, которому он был выдан. Интересно рассмотреть вариант, когда участок оборудован комплексами электронного голосования – в этом случае анонимизация выполняется следующим образом: вместо бумажного бюллетеня избирателю предлагается выбрать из стопки любую карточку со штрих-кодом, с которой он подойдет к устройству для голосования. На карточке нет никаких данных об избирателе, только код, определяющий, какой бюллетень должен быть предоставлен устройством при предъявлении такой карточки. При полностью цифровом взаимодействии основная задача – реализовать такой алгоритм анонимизации, чтобы, с одной стороны, невозможно было установить никакие идентификационные данные пользователя, а с другой стороны – предоставить возможность голосования только тем пользователем, кто ранее был идентифицирован в списке. Для ее решения в ПТК ДЭГ применяется криптографический алгоритм, известный в профессиональной среде как «слепая электронная подпись». Мы подробно расскажем о нем в следующих публикациях, а также опубликуем исходный код, вы тоже можете собрать дополнительную информацию из публикаций в интернете по ключевым словам – «криптографические протоколы тайного голосования» или «слепая подпись»

Читайте также:  Star wars battlefront 2 курсор не работает

Затем избиратель заполняет бюллетень в месте, где невозможно увидеть сделанный выбор (закрытая кабинка) – если в нашей информационной системе избиратель голосует дистанционно, то единственное такое место – это личное устройство пользователя. Для этого пользователь сначала переводится на другой домен – в анонимную зону. Перед переходом можно поднять VPN-соединение и сменить IP-адрес. На этом домене и происходит отображение бюллетеня и обработка выбора пользователя. Исходный код, который исполняется на устройстве пользователя, изначально открыт – его можно увидеть в браузере.

После того как выбор сделан, бюллетень зашифровывается на устройстве пользователя с применением специальной схемы шифрования, отправляется и записывается в компонент «Распределенное хранение и подсчет голосов», построенный на базе блокчейн-платформы.

Одна из важнейших характеристик протокола – это невозможность узнать итоги голосования до его завершения. На традиционном участке это обеспечивается опечатыванием избирательной урны и контролем со стороны наблюдателей. В цифровом взаимодействии лучшим решением является шифрование выбора избирателя. Используемый алгоритм шифрования исключает возможность раскрытия результатов до завершения голосования. Для этого используется схема с двумя ключами: одним (открытым) ключом, который известен всем участникам, производится шифрование голоса. Расшифровать его этим же ключом нельзя, нужен второй (закрытый) ключ. Закрытый же ключ разделен между участниками избирательного процесса (членами избирательных комиссий, общественной палаты, операторами серверов подсчета, и так далее) таким образом, что каждая отдельная часть ключа бесполезна. Приступить к расшифровке можно только после того, как закрытый ключ будет собран. В рассматриваемой системе процедура разделения ключей включает в себя несколько этапов: разделение части ключа внутри системы, разделение ключа вне системы и формирование общего публичного ключа. Мы подробно покажем процесс шифрования и работы с криптографическими ключами в следующих публикациях.

После того как ключ собран и загружен, начинается подсчет итогов для их дальнейшей фиксации в блокчейне и последующего оглашения. Особенностью рассматриваемой системы является использование технологии гомоморфного шифрования. Мы подробно опишем этот алгоритм в следующих публикациях и расскажем о том, почему эта технология широко используется для создания систем голосования. А сейчас отметим ее основную особенность: записанные в систему учета зашифрованные бюллетени можно без расшифрования скомбинировать таким образом, что результатом расшифровки такого комбинированного шифротекста будет суммированное значение по каждому варианту выбора в бюллетенях. При этом в системе, конечно, реализованы математические доказательства корректности такого расчета, которые также записываются в систему учета и могут быть проверены наблюдателями.

Ниже приведена схема процесса голосования.


Кликабельно

Блокчейн-платформа

Теперь, когда мы разобрали основные особенности реализации системы дистанционного электронного голосования, ответим на вопрос, с которого начинали – а какую роль в этом играет технология блокчейн и какие задачи она позволяет решить?

В реализованной системе дистанционного голосования технология блокчейн решает определенный круг задач.

  • Базовая задача – обеспечение неизменности информации в рамках голосования, и, в первую очередь, голосов избирателей.
  • Обеспечение прозрачности исполнения и неизменности программного кода, реализуемого в виде смарт-контрактов.
  • Обеспечение защиты и неизменности данных, используемых в процессе голосования: списка избирателей, ключах, используемых для шифрования бюллетеней на различных этапах криптографического протокола, и так далее.
  • Обеспечение децентрализованного хранения данных, при этом каждый участник имеет абсолютно идентичную со всеми копию, подтвержденную свойствами консенсуса в сети.
  • Возможность просматривать транзакции и отслеживать ход голосования, полностью отражающегося в цепочках блоков, от его начала до записи рассчитанных итогов.

Таких образом, мы видим, что без использования данной технологии добиться наличия в системе голосования необходимых свойств, как и доверия к ней, практически невозможно.

Функциональность применяемой блокчейн-платформы обогащена использованием смарт-контрактов. Смарт-контракты проверяют каждую транзакцию с зашифрованными бюллетенями на подлинность электронной и «слепой» подписей, а также проводят базовые проверки корректности заполнения зашифрованного бюллетеня.

При этом в рассматриваемой системе дистанционного электронного голосования компонент «Распределенное хранение и подсчет голосов» не ограничивается только блокчейн-узлами. Для каждого узла может быть развернут отдельный сервер, который реализует основные криптографические функции протокола голосования – серверы подсчета.

Серверы подсчета

Это децентрализованные компоненты, обеспечивающие процедуру распределенной генерации ключа шифрования бюллетеней, а также расшифрование и подсчет итогов голосования. В их задачи входит:

  • Обеспечение распределённой генерации части ключа шифрования бюллетеней. Процедура генерации ключа будет рассмотрена в следующих статьях;
  • Проверка корректности зашифрованного бюллетеня (без его расшифрования);
  • Обработка бюллетеней в зашифрованном виде для формирования итогового шифротекста;
  • Распределенное расшифрование итоговых результатов.

Каждый этап исполнения криптографического протокола фиксируется в блокчейн-платформе и может быть проверен на корректность наблюдателями.

Для придания системе необходимых свойств на различных этапах процесса голосования используются следующие криптографические алгоритмы:

  • Электронная подпись;
  • Слепая подпись публичного ключа избирателя;
  • Схема шифрования Эль-Гамаля на эллиптических кривых;
  • Доказательства с нулевым разглашением;
  • Протокол DKG (Distributed Key Generation) Pedersen 91;
  • Протокол разделения закрытого ключа по схеме Шамира.

Более подробно криптографический сервис будет рассмотрен в следующих статьях.

Итоги

Давайте подведем некий промежуточный итог рассмотрения системы дистанционного электронного голосования. Мы кратко описали процесс и основные компоненты, которые его реализуют, а также определи средства достижения необходимых для любой системы голосования свойств:

  • Верифицируемость избирателей. Система принимает голоса только от верифицированных избирателей. Это свойство обеспечивается с помощью идентификации и аутентификации голосующих, а также фиксации списка избирателей и факта предоставления доступа к бюллетеню в блокчейн.
  • Анонимность. Система обеспечивает тайну голосования, закрепленную в законодательстве РФ, личность голосующего невозможно определить по зашифрованному бюллетеню. Реализовано с помощью алгоритма «слепой подписи» и анонимной зоны для заполнения и отправки бюллетеня.
  • Конфиденциальность голосов. Организаторы и другие участники голосования не могут узнать результат голосования до его окончания, подсчета голосов и расшифрования итоговых результатов. Конфиденциальность достигается за счет шифрования бюллетеней и невозможности расшифрования до окончания голосования.
  • Неизменность данных. Данные о волеизъявлении избирателей не могут быть изменены или удалены. Неизменное хранение данных обеспечивается блокчейн-платформой.
  • Проверяемость. Наблюдатель может проверить, что подсчет голосов осуществлялся корректным образом.
  • Надежность. В основе архитектуры системы лежат принципы децентрализации, обеспечивающие отсутствие единой «точки отказа».

Источник

Оцените статью