ЭЛЕКТРОННАЯ СИСТЕМА ГОЛОСОВАНИЯ НА ОСНОВЕ БЛОКЧЕЙНА
ЭЛЕКТРОННАЯ СИСТЕМА ГОЛОСОВАНИЯ НА ОСНОВЕ БЛОКЧЕЙНА
Сулейменов Алибек Батырулы
магистрант, Казахстанско-Британский технический университет,
Казахстан, г. Алматы
BLOCKCHAIN BASED ELECTRONIC VOTING SYSTEM
Alibek Suleimenov
postgraduate, Kazakh-British Technical University,
Kazakhstan, Almaty
АННОТАЦИЯ
Условия пандемии привнесли сложности проведения выборов в классическом виде и заставили рассмотреть возможность управления избирательным процессом посредством электронного голосования. Однако следует отметить, что этот способ стоит рассмотреть не только из-за всемирной пандемии. Так-как технологии стремительно развиваются, у большинства людей сейчас в распоряжении имеются умные устройства, что в свою очередь тоже является немаловажным фактором для разработки более удобной, электронной системы голосования. Однако этот метод электронного голосования может иметь свои недостатки и риски. В данной статье описывается метод реализации системы электронного голосования с использованием блокчейна и технологии распознавания лиц.
ABSTRACT
The conditions of the pandemic have introduced the complexity of holding elections in the classical form and made us consider the possibility of managing the electoral process through electronic voting. However, it should be noted that this method is worth considering not only because of the worldwide pandemic. Since technology is developing rapidly, most people now have smart devices at their disposal, which in turn is also an important factor in the development of a more convenient, electronic voting system. However, this method of e-voting may have its drawbacks and risks. This article describes a method for implementing an electronic voting system using blockchain and face recognition technology.
Ключевые слова: электронное голосование, блокчейн, выборы, распознавание лиц, децентрализованное приложение, проектирование системы голосования.
Keywords: electronic voting, blockchain, elections, face recognition, decentralized application, voting system design.
Разработка электронной системы голосования сегодня является горячей темой для исследований. Конечно, главное преимущество этого метода заключается в том, что избиратели могут проголосовать удаленно, используя умные устройства, такие как смартфоны или ПК. Поскольку количество умных устройств в мире постоянно растет, метод электронного голосования становится все более актуальным. Переход от бумажных к электронным системам голосования имеет свои преимущества, такие как: подсчет голосов в реальном времени, экологичность, немедленные результаты, прозрачность и может сильно сократить количество возможных ошибок при подсчетах. Более того, эти системы могут быть децентрализованы, что, в свою очередь, повышает безопасность таких систем. По мере развития систем цифрового голосования все еще могут возникать многочисленные проблемы с безопасностью и уязвимости [1]. В любой системе электронного голосования наиболее важными системными требованиями являются аутентификация, анонимность, точность, непротиворечивость и проверяемость [2]. В последние годы было проведено несколько исследований системы электронного голосования с использованием технологии блокчейн [3–5]. Суть демократии в том, что все принимают результаты выборов, даже если они их проигрывают. Выборы позволяют населению выбирать своих представителей и выражать свои предпочтения в отношении того, как они будут управляться. Естественно, целостность избирательного процесса является основой целостности самой демократии. Достичь этой цели непросто, поскольку системы электронного голосования требуют надежного шифрования, чтобы обеспечить целостность и безопасность голосования, но при этом быть поддающимся проверке. Это необходимо учитывать, также система по-прежнему должна оставаться удобной для пользователя, что, в свою очередь, труднодостижимо. Ниже приведен список требований для построения реальной системы голосования.
Доступность: Система электронного голосования должна быть доступна в течение всего периода выборов. Также система должна иметь возможность обслуживать избирателей, которые подключаются со своих устройств.
Надежность: система не должна допускать фальшивые голоса.
Справедливость: система голосования должна обеспечивать честность голосования.
Анонимность: связь между голосом пользователя и самим пользователем не должна восстанавливаться без его помощи.
Достоверность: результаты должны храниться в секрете до завершения подсчета.
Корректность: результаты выборов должны быть правильно подсчитаны и опубликованы.
Право на участие: Только имеющие право голоса должны иметь право голоса и только один голос на каждого избирателя.
Цель состоит в том, чтобы спроектировать и, если возможно, построить систему электронного голосования на основе технологии блокчейн. Использование преимуществ блокчейна, который разделяет доверие между членами сети, помогает нам повысить доступность системы голосования, которая позволяет не полагаться на общественное доверие. Также стоит упомянуть, что прозрачность блокчейна может расширить возможности тестирования честности системы голосования.
Для реализации нашей системы мы попытаемся объединить идею распознавания лиц и технологии блокчейн. На рисунке 1 вы можете увидеть предварительную схему процесса голосования с использованием нашей системы голосования.
Целостность системы голосования повышается за счет идентификации избирателя с использованием технологии распознавания лиц. Распознавание лиц — это первый шаг в процессе голосования. Этот процесс повышает безопасность процесса голосования, предотвращая многократное голосование одного и того же избирателя. Затем по результатам проверки на первом этапе система разрешает или не разрешает избирателю голосовать.
Рисунок 1. Схема процесса голосования
При успешном прохождении системы идентификации избиратель может отдать свой голос, он может проголосовать только один раз. При прохождении этапа идентификации личности информация о внешнем виде избирателя сопоставляется с данными, хранящимися в базе данных избирателей. Если в системе уже есть информация о том, что избиратель проголосовал, доступ к голосованию для него будет закрыт, так как окажется, что этот избиратель уже отдал свой голос. Уже проголосовавший избиратель, не может голосовать повторно. Также нельзя сказать, что этот процесс нарушает конфиденциальность избирателя, поскольку информация, используемая системой распознавания лиц, будет использоваться только для того, чтобы позволить избирателю проголосовать, а также для того, чтобы убедиться, что один человек не проголосовал несколько раз. Информация о том, кто голосовал за того или иного избирателя, не будет привязана к самому избирателю.
Кроме того, этот метод исключает возможность того, что человек намеренно сможет проголосовать вместо других людей, чтобы нечестным путем увеличить количество голосов за того или иного кандидата. Так как людей может быть много, скорость работы алгоритма становится одной из важнейших характеристик для нашей системы. Поэтому при выборе алгоритма мы уделили большое внимание этому параметру. Для реализации распознавания лиц в прототипе мы используем Dlib. По сравнению с такими подходами, как Mtcnn и Facenet, Dlib оказался быстрее своих конкурентов. Например, он потратил меньше времени на обработку минуты видео, чем его конкуренты. Результаты времени, затраченного на обработку видео, представлены на рисунке 2.
Рисунок 2. Время, затрачиваемое на обработку минуты видео
Кроме того, в таблице 1 мы показали результаты того, сколько общих точек обнаружения имеет один алгоритм по сравнению с другими. На главной диагонали показано общее количество обнаружений.
Таблица 1.
Результаты наложения и общее количество обнаружений
|
Mtcnn |
Dlib |
Facenet |
Mtcnn |
1697 |
794 |
1147 |
Dlib |
794 |
1815 |
756 |
Facenet |
1147 |
756 |
1759 |
На стороне блокчейна мы добавляем функцию голосования. Также здесь мы гарантируем, что пользователь может проголосовать и не может повторно отдать свой голос. Также здесь мы устанавливаем, что все голоса будут подсчитаны и отображены после того, как пользователи завершат отправку своих голосов. Мы взаимодействуем с блокчейном (модифицируем данные и т. д.) с помощью «контрактных вызовов».
Для нашего прототипа мы выбрали протокол NEAR в качестве блокчейн платформы.
NEAR — хорошее решение, потому что:
- он позволяет новым пользователям взаимодействовать с децентрализованным приложением не требуя кошелька.
- решение для сегментирования под названием «Nightshade».
Сегментирование — это архитектура блокчейна, в которой каждый участвующий узел блокчейна хранит только небольшое подмножество данных платформы. Разделение позволяет более эффективно масштабировать блокчейн и обеспечивает большее количество транзакций в секунду с более низкой стоимостью транзакции.
Когда дело доходит до безопасности, архитектура «Nightshade» снижает количество потенциальных точек отказа. Это достигается за счет того, что участвующие узлы отвечают только за обслуживание небольших участков цепи.
В результате мы разработали систему голосования на основе блокчейна. Прототип системы голосования в основном написан на тайпскрипт. По полученным результатам можно сказать, что прототип хорошо справляется с поставленной задачей, данные передаются в блокчейн без проблем. Реализованные нами смарт-контракты успешно обрабатывают запросы. Вы можете зарегистрировать пользователя в системе. Зарегистрированный пользователь может голосовать, и условие, что один избиратель может голосовать только один раз, выполняется безошибочно. Результат того, что произойдет, если пользователь, который уже проголосовал, попытается проголосовать еще раз, показан на рисунке 3. Для наглядности в консоль выводится сообщение.
Рисунок 3. Результат повторной попытки голосования.
Далее, для проверки и лучшего понимания пользователя, при нажатии на кнопку голосования за определенного кандидата, после голосования кнопка становится неактивной. Для достижения этой цели у нас есть вызов контракта под названием «didVote». Принцип прост, если пользователь проголосовал, он вернет true, а если не false. Пример результатов вызова контракта для проголосовавшего и еще не проголосовавшего пользователя показан на рисунке 4.
а) б)
Рисунок 4. Результат для пользователя, который еще не проголосовал (а) и проголосовал (б)
Также благодаря использованию системы распознавания лиц вероятность того, что один избиратель проголосует несколько раз под разными именами, стремится к нулю, что, в свою очередь, повышает честность выборов.
Если говорить о вопросах безопасности, то использование технологии блокчейн решает проблему взлома путем подключения вредоносного оборудования, за счет того, что оно хранит голоса в децентрализованной сети, что снижает зависимость системы от памяти устройства. Также из-за такого подхода становится невозможно взломать подмену памяти, что в итоге дает нам достаточно безопасную систему для проведения честных выборов.
В данной работе мы рассмотрели возможность создания системы электронного голосования на базе блокчейна. Мы также предложили свой вариант системы. Для обеспечения безопасности выборов в этой системе используются смарт-контракты и система распознавания лиц. Полученный прототип показал, что технология блокчейн может помочь преодолеть существующие ограничения и барьеры на пути внедрения систем электронного голосования. Технология блокчейн также обеспечивает безопасность и честность выборов и закладывает основу для прозрачности.
Список литературы:
- Douglas W Jones. Threats to voting systems. In NIST workshop on threats to voting systems, 2005.
- Yi Liu and Qi Wang. An e-voting protocol based on blockchain.
- Tadayoshi Kohno, Adam Stubblefield, Aviel D Rubin, and Dan S Wallach. Analysis of an electronic voting system. In Security and Privacy, 2004. Proceedings. 2004 IEEE Symposium on, pages 27–40. IEEE, 2004.
- Rifa Hanifatunnisa and Budi Rahardjo. Blockchain based e-voting recording system design. In Telecommunication 866 Systems Services and Applications (TSSA), 2017 11th International Conference on, pages 1–6. IEEE, 2017.
- Lijun Wu, Kun Meng, Shuo Xu, Shuqin Li, Meng Ding, and Yanfeng Suo. Democratic centralism: A hybrid blockchain architecture and its applications in energy internet. In Energy Internet (ICEI), IEEE International Conference on, pages 176–181. IEEE, 2017.