Российские выборы на блокчейне обойдутся в 6 миллиардов
Власти потратят 6 млрд руб. на обеспечение избирательных прав граждан с помощью технологии блокчейн. В прошлом году ЦИК уже протестировал соответствующее решение «Ростелекома» и Waves Enterprise. Отдельное решение для выборах на блокчейне используется в Москве.
Цена российских выборов на блокчейне
Обеспечение задачи предоставления цифровых сервисов для участников избирательного процесса обойдется федеральному бюджету в 6,2 млрд руб. Это следует из федерального проекта «Цифровое государственное управление» национальной программы «Цифровая экономика».
Запланированными целями являются: доступность процедуры голосования для избирателей вне зависимости от места их нахождения; организация деятельности избирательных комиссий на основе цифровых данных об избирателях и других участниках избирательного процесса, получаемых в том числе с использованием национальной системы управления данными; предоставление цифровых сервисов для избирателей, кандидатов на замещаемую посредством выборов должность, наблюдателей, средств массовой информации.
Должны быть разработаны методологии перехода на цифровую платформу реализации основных гарантий избирательных прав и права на участие на референдуме граждан России, функциональные и технические требования к цифровой платформе для реализации цифровых сервисов, требования к ним и регламенты их предоставления.
В законодательство и нормативные акты Центральной избирательной комиссии (ЦИК) должны быть внесены изменения, необходимые для реализации цифровых сервисов для участников избирательного процесса. Цифровые сервисы должны быть реализованы в личных кабинетах участников избирательного процесса.
Кроме того, должно быть обеспечено централизованное ведение, хранение, актуализация и анализ данных об избирателях и участниках референдума с учетом данных, предоставляемых из государственных информационных систем и других государственных органов в рамках Национальной системы управления данными (НСУД). А избирательным комиссиям будет предоставлен доступ к цифровой платформе для обеспечения реализации их полномочий, планирования и проведения избирательных кампаний, определения результатов выборов.
Как в России прошли первые эксперименты по выборам на основе блокчейна
Цифровизация выборного процесса в России и в мире происходит на базе технологии распределенных реестров — блокчейн. Впервые в России эксперимент по выборам на основе блокчейна происходил в 2019 г. в ходе выборов в Московскую городскую думу. Соответствующее решение было создано на базе платформы Polys, разработанной резидентом центра инноваций компании «Лаборатории Касперского». Основой для Polys является платформа Ethereum.
В конце 2019 г. столичные власти сменили подрядчиков: теперь соответствующее решение разрабатывает компания Bitfury (платформа Exomun). «Лаборатория Касперского», со своей стороны, разрабатывает новый продукт — Polys.ГОСТ — созданный на базе отечественных криптографических алгоритмов и предназначенный для проведения выборов на муниципальной и региональном уровнях.
В 2020 г. о выборах на блокчейне задумалась ЦИК. Изначально эксперимент на базе соответствующей федеральной платформы планировалось провести в июне в Москве и Нижнем Новгороде в ходе референдума по изменениям в Конституции. Но из-за пандемии короновируса федеральное решение не было готово, и дистанционное голосование по Конституции в указанных регионах происходило на столичном решении.
Но в конце августа — начале сентября ЦИК все-таки провела эксперимент по работе собственного решения для дистанционных выборах. Эксперимент происходил в трех избирательных округах. Два из них были связаны с реальными довыборами депутатов Госдумы в Ярославкой и Курской областях, еще один округ был виртуальным и предназначен для работы экспертов.
Как работает совместное решение «Ростелекома» и Waves Enterprise
Разработчиком федерального решения стали компании «Ростелеком» и Waves Enterprise. Исходный код соответствующей системы был опубликован в репозитории Github. Описание работы данного решения было опубликована «Ростелекомом» на ресурсе «Хабрахабр».
Требованиями к соответствующей системе стали: обеспечение тайного голоса, допуск к голосованию исключительно лиц с избирательным правом, обеспечение требования «один избиратель — один голос», открытость голосования для избирателей и наблюдателей, обеспечение неизменности поданного голоса и отсутствие возможности подсчитывать промежуточные итоги голосования до его завершения.
Участниками системы являются избиратель, избирательная комиссия и наблюдатели. Также к процессу могут привлекать органы МВД (Министерства внутренних дел). Для участия в выборах избиратель должен был иметь подтвержденную учетные запись на Едином портале государственных и муниципальных услуг (ЕПГУ) и заранее подать через данный портал свое заявление.
После получения заявления данные избирателя проверялись ЦИК и загружались в компонент «Список избирателей» программно-технического комплекса Дистанционное электронное голосование (ПТК ДЭГ). Процесс загрузки сопровождался записью уникальных идентификаторов в блокчейн. Допуск к просмотру списка имели члены избирательной комиссии и наблюдатели с помощью автоматизированного комплекса (АРМ), размещенного в помещении избирательной комиссии.
Как правильно подсчитывать зашифрованные голоса
Голосование происходило на портале госуслуг, авторизация избирателей осуществлялась через ЕСИА (Единая система идентификации и аутентификации). Для решения одновременно двух задач — обеспечения анонимности процесса голосования вместе с допуском к выбору только авторизированных избирателей — был применен криптографический алгоритм, известный как «слепая электронная подпись».
Для получения электронного бюллетеня пользователя переводят в другой домен — так называемую «анонимную зону». При этом человек может использовать VPN или сменить свой IP-адрес. Бюллетень заполняется на устройстве пользователя. Для шифрования бюллетеня на устройстве пользователя генерируется пара открытый и закрытый ключ.
Подписанный бюллетень в зашифрованном виде отправляется в компонент «Распределенное хранение и подсчет голосов», построенной на базе блокчейн-платформы. Но для того, чтобы бюллетень был принят, другой компонент, «Список избиратель» должен получить открытый ключ избирателя и удостовериться, что он присутствует в списке избирателей.
В то же время для сохранения тайны голосования открытый ключ никому, кроме самого избирателя, не должен быть известен. С этой целью открытый ключ на устройстве проходит процедуру маскировки («ослепления») с помощью алгоритма RSA с длиной ключа 4096 бит. В результате валидатор подписывает замаскированный открытый ключ, не зная исходного ключа. При этом пользователь, получив подпись на замаскированный ключ, может сделать обратные преобразования и получить подпись — валидную и для исходного, незамаскированного ключа.
С целью недопущения определения результатов голосования до завершения процесса голосования шифрование голосов происходит с использованием схемы из открытого и закрытого ключей. Открытый ключ известен всем участникам процесса, он непосредственно шифрует голоса. Выработка ключа осуществляется с помощью алгоритмов DKG Pedersen 91 и протокола разделения ключей Шамира. Расшифровать голоса можно только с помощью закрытого ключа. Данный ключ разделен между участниками избирательного процесса (членами избирательных комиссий, общественной палаты, операторами серверов подсчета и т. д.) таким образом, что каждая его отдельная часть бесполезна.
Подсчет голосов будет возможен только для сборки ключа. Подсчет голосов происходит вместе с их фиксацией в блокчейне. При этом используется схема гомоморфного шифрования по схеме Эль-Гамаля на эллиптических кривых: записанные в систему учета зашифрованные бюллетени можно без расшифрования скомбинировать таким образом, что результатом расшифровки такого комбинированного шифротекста будет суммирование значения по каждому варианту выбора в бюллетенях. Для доказательства корректности содержимого бюллетеня без его расшифрования используется протокол Disjunctive Chaum-Pedersen range proof.
Для чего в выборном процессе нужны блокчейн и смарт-контракты
Блокчейн в указанной схеме решает следующие задачи: неизменность информации в рамках голосования; обеспечение прозрачности исполнения и неизменности программного кода в виде смарт-контрактов; обеспечение защиты и неизменности данных, используемых в процессе голосования (списка избирателей, ключах, используемых для шифрования бюллетеней на различных этапах криптографического протокола); обеспечение децентрализованного хранения данных, при котором каждый участник имеет абсолютно идентичную со всеми копию, подтвержденную свойствами системы; возможность просматривать транзакции и отслеживать ход голосования, полностью отражающегося в цепочках блоков, от его начала до записи рассчитанных итогов.
Смарт-контракты проверяют каждую транзакцию с зашифрованными бюллетенями на подлинность электронной и «слепой» подписей, а также проводят базовые проверки корректности заполнения зашифрованного бюллетеня. При этом компонент «Распределенное хранение и подсчет голосов» не ограничивается только блокчейн-узлами: для каждого узла может быть развернут отдельный сервер, которые реализует основные критографические функции протокола голосования — серверы подсчета.
Серверами подсчета являются децентрализованные компоненты, обеспечивающие процедуру распределенной генерации ключа шифрования бюллетеней, а также расшифровку и подсчет итогов голосования. В их задачи входит: обеспечение распределенной генерации части ключа шифрования бюллетеней, проверка корректности зашифрованного бюллетеня без его расшифрования, обработка бюллетеней в зашифрованном виде для формирования итогового шифротекста, распределенного расшифрование итоговых результатов.
Директор по продукту Waves Enterprise Артем Калихов отмечает, что пока ни в одной стране мира нет примера системы децентрализованных онлайн-выборов, которая работала бы на 100% в тех масштабах электората, который подразумевается в России. «Тем не менее, и российские, и некоторые зарубежные власти много ставят на эту технологию и охотно сотрудничают с коммерческими компаниями, у которых есть подобные решения и экспертиза, — говорит Калихов. — Российский рынок коммерческих решений для блокчейн-голосований оценивается в 200 млн руб. в год, а потенциал зарубежного составляет примерно $100 млн».