The WE.Vote system is based on the Waves Enterprise blockchain platform and consists of several servers deployed in a blockchain network.

The system can be deployed in two variatns:

  • in the form of several servers on the Waves Enterprise Mainnet;

  • in the form of a private blockchain network consisting of the organization’s servers.

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

WE.Vote architecture

Basic components of the system:

  1. Server - a system node consisting of the following elements:

  • Node - a blockchain network node that processes transactions, forms blocks and implements the consensus algorithm.

  • Cryptographic service - a service that participates in the process of distributed main key generation and produces partial decryption of voting results.

  1. Master server - the main node of the system, which, in addition to the functions of the server, carries out the functioning of the system as a whole:

  • creation of new polls;

  • access monitoring of cryptographic services;

  • formation of the voting main public key;

  • publishing voting results.

  1. Online voting smart contract is a blockchain application that performs the following functions:

  • storage of voting rules and lists of participants;

  • registration of public data obtained during distributed key generation;

  • verification and storage of sent votes and voting results.

  1. Backend - the server side of the system, which:

  • handles client requests;

  • interacts with the master server;

  • keeps confidential data related to voting.

  1. Client - the client part of the system, consisting of the following components:

  • Client application - a web application that provides user interaction with the service.

  • Encryption service - a service that encrypts the filled-in ballot on the public part of the master key.