Обзор системы голосования Agora

Agora – это швейцарский фонд, предоставляющий децентрализованную систему цифрового голосования, основанную на технологии blockchain. Решение Agora позволит обеспечить безопасное и дистанционное голосование с устройств, а также позволить каждому избирателю проверить валидность его голоса в конечном отчете.

Процесс голосования в Сьерра-Леоне:

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

Результаты нашего участия в голосовании Сьерра-Леоне

Результаты Агоры в качестве международного наблюдателя были близки к официальным подсчетам NEC. Ниже приведено сравнение показателей Агоры и NEC. Данные компании Agra были собраны с 280 участков и не участвовали в итоговых подсчетах.


Agora улучшает и защищает от всех слабых мест, присутствующих в текущих EVM.

Agra разработала две технологические инновации: Skipchain и Cotena. Skipchain обеспечивает механизм согласования с высокой пропускной способностью и эффективной проверкой транзакций. Затем Cotena предоставляет способ хранения криптографических доказательств Skipchain в блочной цепочке биткойнов. Архитектура обеспечивает сквозную проверку с высоким уровнем безопасности.

Агора блокчейн, называемая Bulletin Board, представляет собой распределенный permission ledger на основе архитектуры Skipchain, которую мы разрабатываем с 2015 года. Данные Bulletin Board криптографически привязана к блокчейну биткойна через слой Cotena, который обеспечивает высокий уровень неизменности и децентрализации  данных. Такая система обеспечивает высокую пропускную способность и низкие накладные расходы, что позволяет использовать Agora на устройствах с низкой пропускной способностью.

Архитектура состоит из следующих компонентов:

  •   Bulletin Board
  •  Cotena
  •  Bitcoin blockchain
  •  Votapp

Bulletin Board

Bulletin Board является распределенным permission ledger сети Agora, который состоит из узлов с правами на запись и сторонних узлов-свидетелей с правами только для чтения (которыми может управлять любой человек в мире)

Cothority

Узлы, которые защищают Bulletin Board, состоят из разрешенного коллективного органа («Cothority»), который подтверждает транзакции. Каждый узел в сети поддерживает копию всех транзакций и утверждает новые транзакции в блоки. Узлы независимо контролируют друг друга, чтобы гарантировать, что запись данных системы остается неизменной.

Cotena

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

Bitcoin blockchain

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

Votapp

Votapp – это application layer сети Agora. Любой может написать приложения поверх Agora, чтобы обеспечить взаимодействие с Bulletin Board. Первичные приложения, которые будут существовать на уровне Votapp, включают Voting Booth, Audit Audit и Node.

 

 

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

1. Configuration: администраторы выборов создают избирательное событие.

2. Casting: Избиратели передают свои зашифрованные бюллетени в сеть Агоры.

3. Anonymization: сеть Агоры анонимизирует все избирательные бюллетени.

4. Decryption: сеть Agora расшифровывает анонимные бюллетени.

5. Tallying: подсчитываются все голоса.

6. Auditing: аудиторы публикуют свои рецензии, подтверждающие достоверность результатов выборов.

1. Configuration – параметры выборов

-          Список должностных лиц

Включают имена и открытые ключи (идентификаторы) должностных лиц по выборам.

-          Тип выборов

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

-          Время начала / окончания выборов

-          Список избирателей

Личность избирателей известна или защищена методами анонимности или, например, путем размещения сокращенной версии списка с деревьями Меркле.

-          Список кандидатов

-          Список аудиторов (необязательно)

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

-          Пользовательские параметры (необязательно)

Другие параметры могут быть добавлены администраторами выборов на основе конкретных потребностей выборов.

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

2. Casting – заполнение бюллетеней

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

Программное обеспечение для голосования, устанавливаемое на устройство, определяет параметры выборов из Bulletin Board и позволяет избирателю заполнить бюллетень.

Когда избиратель передает свой бюллетень, он зашифровывается с помощью открытого открытого ключа Cothority, которые являются распределенными узлами-валидаторами сети Agora. Программное обеспечение Agora использует пороговую криптосистему ElGamal для шифрования. Чтобы убедиться, что зашифрованный бюллетень по-прежнему отражает выбор избирателя, программное обеспечение позволяет избирателю выполнять проверку с использованием Cast-as-Intended.

После подтверждения того, что шифрование произошло правильно, избиратель передает свой зашифрованный бюллетень, отправив его в Bulletin Board и подписав транзакцию с его цифровыми удостоверениями личности. Зашифрованное бюллетень принимается одним из узлов и заверяется в Cothority. Далее аутентифицированные бюллетени включены в следующий блок блокчейна Bulletin Board.

3. Anonymization –  процесс анонимизации

Как только период голосования завершается, сеть Agora запускает все бюллетени в блокчейне через Mixing Network (сеть микширования для анонимизации)

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

4. Decryption – дешифровка результатов

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

5. Tallying – подсчет голосов

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

6. Auditing – аудит

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

Автор: блокчейн-лаборатория brdt.pro 

0
0
0
s2smodern