Архитектура системы

Система WE.Vote основан на блокчейн-платформе Waves Enterprise и представляет собой несколько серверов, развернутых в блокчейн-сети.

Система может быть развернута двумя способами:

  • в виде нескольких серверов в сети Waves Enterprise Mainnet;

  • в виде частной блокчейн-сети, состоящей из серверов организации.

Архитектура системы WE.Vote

Архитектура системы WE.Vote

Основные компоненты системы:

  1. Сервер - узел системы, состоящий из следующих элементов:

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

  • Криптографический сервис - сервис, участвующий в процессе распределенной генерации главного ключа и производящий частичную расшифровку результатов голосования.

  1. Мастер-сервер - главный узел системы, который, помимо функций сервера, осуществляет функционирование системы в целом:

  • создание новых голосований;

  • мониторинг доступности криптографических сервисов;

  • формирование главного публичного ключа голосования;

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

  1. Смарт-контракт онлайн-голосования - блокчейн-приложение, выполняющее следующие функции:

  • хранение правил голосования и списков участников;

  • регистрация публичных данных, полученных при распределенной генерации ключа;

  • проверка и хранение отправленных голосов и результатов голосования.

  1. Бэкэнд - серверная часть системы, которая:

  • обрабатывает запросы клиентской части;

  • взаимодействует с мастер-сервером;

  • хранит конфиденциальные данные, касающиеся голосования.

  1. Клиент - клиентская часть системы, состоящая из следующих компонентов:

  • Клиентское приложение - веб-приложение, обеспечивающее взаимодействие пользователя с сервисом.

  • Сервис шифрования - сервис, выполняющий шифрование заполненного бюллетеня на публичной части главного ключа.