В российских выборах задействуют блокчейн. Цена вопроса – 6 млрд рублей

Из федерального бюджета выделят 6 млрд рублей для обеспечения избирательных прав граждан с помощью технологии блокчейн. В 2020 году Центральная избирательная комиссия провела тестирование соответствующего решения «Ростелекома» и Waves Enterprise. Отдельное решение, подразумевающее применение технологии блокчейн, используется для выборов в Москве.

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

В результате планируется обеспечить:

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

Обязательно должны быть разработаны такие документы, как:

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

Кроме того, в законодательные и нормативные акты Центральной избирательной комиссии (ЦИК) должны быть внесены такие изменения, которые необходимые для функционирования цифровых сервисов для участников избирательного процесса. Сами цифровые сервисы должны работать в личных кабинетах участников избирательного процесса.

Еще одна необходимая мера - централизованное ведение, хранение, актуализация и анализ данных об избирателях и участниках референдума с учетом данных, предоставляемых из государственных информационных систем и других государственных органов в рамках Национальной системы управления данными (НСУД). Избирательным комиссиям должны получить доступ к цифровой платформе для обеспечения реализации их полномочий, планирования и проведения избирательных кампаний, определения результатов выборов.

Федеральное решение разработано «Ростелекомом» совместно с Waves Enterprise. Исходный код системы был размещен в репозитории Github, а то, как работает решение, было рассказано «Ростелекомом» на «Хабрахабре». От системы требовалось:

  • обеспечение тайного голоса;
  • допуск к голосованию только лиц с избирательным правом;
  • обеспечение требования «один избиратель — один голос»;
  • открытость голосования для избирателей и наблюдателей;
  • обеспечение неизменности поданного голоса;
  • отсутствие возможности подсчитывать промежуточные итоги голосования до его завершения.

В качестве участников системы определены избиратель, избирательная комиссия и наблюдатели. Также в процессе могут быть задействованы органы МВД (Министерства внутренних дел). Чтобы принять участие в выборах, избиратель должен был иметь подтвержденную учетные запись на Едином портале государственных и муниципальных услуг (ЕПГУ) и заранее подать через него заявление.

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

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

Для получения электронного бюллетеня пользователя переводят в другой домен -«анонимную зону». При этом человек может использовать VPN или сменить свой IP-адрес. Бюллетень заполняется на устройстве пользователя. Для шифрования бюллетеня на устройстве пользователя генерируется пара открытый и закрытый ключ.

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

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

Чтобы не допустить определения результатов голосования до его завершения, шифрование голосов происходит с использованием схемы из открытого и закрытого ключей. Открытый ключ известен всем участникам процесса, он непосредственно шифрует голоса. Выработка ключа осуществляется с помощью алгоритмов DKG Pedersen 91 и протокола разделения ключей Шамира. Расшифровать голоса можно только с помощью закрытого ключа. Он разделен между участниками избирательного процесса таким образом, что каждая его отдельная часть бесполезна.

Подсчет голосов возможен только для сборки ключа. Голоса обычно, считаются вместе с их фиксацией в блокчейне. В процессе задействована схема гомоморфного шифрования по схеме Эль-Гамаля на эллиптических кривых: записанные в систему учета зашифрованные бюллетени можно без расшифрования скомбинировать таки что результатом расшифровки такого комбинированного шифротекста будет суммирование значения по каждому варианту выбора в бюллетенях. Для доказательства корректности содержимого бюллетеня без его расшифрования используется протокол Disjunctive Chaum-Pedersen range proof.

Блокчейн в обозначенной схеме обеспечивает;

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

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

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

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

Автор: Александр Абрамов.

Тематики: Регулирование, Финансы, Инновации

Ключевые слова: регулирование, блокчейн