13 февраля 2023

DeVote: проект по созданию действительно эффективной системы для онлайн-голосования

В течение последних 30 лет мир активно осваивал цифровую среду. Многие сервисы и услуги перешли в онлайн. Однако есть по крайней мере одна из сфер, в которой до сих пор используются исключительно традиционные инструменты — это голосование. 

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

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

В последние годы активно развивается блокчейн, который зарекомендовал себя как эффективное средство для создания доверия в цифровых приложениях. Еще одно направление технологий, которое может стать недостающим элементом для онлайн-голосования — «доказательство с нулевым разглашением» (zero-knowledge proof, ZKP), что необходимо для возможности верификации голосов без раскрытия личностей участников. Ведь анонимность — один из базовых принципов любой процедуры голосования.

Поэтому неудивительно, что сегодня сразу в нескольких экосистемах, например на Tron или Polygon, развивают проекты по блокчейн-голосованию на базе блокчейна и ZKP. В Everscale создали собственное приложение для онлайн-голосования под названием  DeVote. На конференции Global Blockchain Association его представил один из лидеров проекта, Евгений Морозов.

В чем недостатки существующих цифровых систем для голосования и как их можно решить?

В начале презентации Морозов перечислил проблемы в существующих системах для онлайн-голосования:

  1. Недостаток анонимности. Во многих случаях организаторы голосования могут узнать, кто именно и как проголосовал.
  2. Централизация. Данные о голосовании собираются на нескольких серверах, используя ПО с закрытым кодом.
  3. Риски безопасности. Как процедура голосования, так и данные его участников уязвимы к хакерским атакам и манипуляциям.
  4. Трудности в верификации результатов. Централизация и закрытость ПО для голосования делает проверку результатов крайне сложной.
  5. Сложности в интеграции с традиционной системой голосования. Электронное голосование тяжело совместить с «бумажной» процедурой.

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

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

Как работает онлайн-голосование в DeVote

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

Согласно презентации проекта, обмен данными в DeVote происходит полностью через смарт-контракты, а верификацию ZKP осуществляет специальная нода. Процесс обмен данными выглядит следующим образом:

  1. При регистрации для пользователя генерируются приватный и публичный ключи.
  2. При инициализации новой сессии в приложении происходит генерация ключей, деплой контракта и адреса для пользователя.
  3. Когда пользователь делает выбор, нужные данные загружаются в контракт через ончейн-транзакцию, система проверяет доказательство ZKP.
  4. По окончании дедлайна голосования система подсчитывает голоса. Результат публикуется с ключом расшифровки.
  5. Результаты подсчета также проходят верификацию.

В DeVote используется доказательная система groth16, необходимая для «разделения» личности голосующего и его выбора при голосовании. Подробнее об этой технологии в контексте проекта можно прочитать в блоге Бенджамина Бейтмана.

Сейчас проект ориентируется на рынок Соединенных Штатов. В конце июля 2022 года DeVote объявил о сотрудничестве с организацией WinterGreen Research.

Обсудить в Discord!