Nationwide Election Days in Russia 2020–2022

The Waves Enterprise team used its e-voting service technologies in cooperation with Rostelecom, Russia’s telecommunications provider, to create a remote e-voting system for Russia during nationwide elections in September 2020–2022.

System Requirements

The main requirements for a remote e-voting system are roughly identical to those imposed on systems for conventional voting with physical presence at election centers, and are specified in Russia’s Federal Law no. 67-FZ from 12 June 2002 (amended 31 July 2020) “On Basic Guarantees of Electoral Rights and the Right of the citizens of Russian Federation to Participate in a Referendum”.

1

Voting in elections and referenda shall be by secret balloting, which shall exclude any control over expression of a citizen’s will (Article 7).

2

The right to vote shall be granted only to those who have active suffrage in this election.

3

A single voter shall have only a single vote. Double voting shall not be allowed.

4

The voting process shall be open and public for electors and observers.

5

The integrity of each vote cast shall be ensured.

6

There shall be no possibility for counting the interim results of a vote before it is completed.

Thus, there are three main actors in the system: the voter, the election committee and the observer, with an established order for interaction between them. A fourth actor can also be identified — these are the authorities (primarily the law enforcement and other executive bodies) in charge of registering Russian citizens at their places of residence, given that active suffrage is connected to citizenship and the citizens’ registration is at their places of residence. All these actors interact with each other.

The remote e-voting system was developed by PAO Rostelecom and Waves Enterprise by order of the Central Election Commission of the Russian Federation. The Waves Enterprise development team supplied the technical solution based on cryptographic libraries, smart contracts, ballot accounting servers and auxiliary utilities, so as to ensure the required set of functions, properties and specifications for the remote e-voting system.

banner

“This system is based on blockchain technology, Russian cryptography. We have cooperated with the relevant agencies and developed a complete threat model. We are confident that we meet all relevant requirements in terms of information security and user anonymity.”

img
Maksut Shadayev

The Russian Minister of Digital Development, Communications and Mass Media.

Technical implementation

Preparing for the voting

To be able to participate in remote voting, a voter must submit an application on the unified state and municipal service portal. Following the period for submission of applications, representatives of the Central Election Committee check them and record voters' data on an external medium. At the same time, these voters are removed from lists at traditional voting sites.

In the presence of the media, the remote e-voting (REV) territorial election commission generates a key pair from the private and public voting keys. The public key is recorded to the blockchain network. The private key is divided, with each of its parts handed over for storage to responsible persons, who are representatives of parties and public movements, on separate media. The original key is destroyed.

Then the REV territorial election commission uploads all voting data to the software and hardware complex. Key pairs are created for the constituencies — these will later be used to verify the right of voters to vote while maintaining their anonymity. To access them from this point on, a private key shared between responsible persons will need to be assembled.

The Voting Process

The voter logs into the voting portal using the State Services portal. Through this service, the system receives all the required information to identify the voter. Their browser is checked for compatibility with the system, and then an SMS authorization code is sent to the voter’s mobile phone.

The voter’s credentials, which are checked at the time of the voting access request, and their unique identifier (public key) — which is used to make the user present in the voting system — are dissociated. The voter is redirected to the anonymous voting area, where his key, blind signature and identifier are verified for their uniqueness, so as to ensure protection against repeat voting.

The voter receives an electronic ballot and casts his or her vote. The vote is immediately encrypted, so that it cannot be matched with the voter’s data. If the connection to the voting system is interrupted, the user can re-enter and complete his or her ballot.

In 2022 every voter was able to receive an electronic receipt to verify that his vote had been counted. The receipt was generated after the voter became anonymous for the system, so he can’t be identified via his receipt. But he can use the receipt data to find his vote in the transaction history and ensure that his vote was counted.

Tallying the Results

After the voting time expires, the system’s smart contract receives the respective blockchain transaction and stops accepting votes. Voters’ encrypted ballots are verified for format-correctness with the help of zero-knowledge proof technology. Then, also without decryption, all the ballots are amassed.

Responsible persons assemble the private voting key from sections which have been entrusted to them. The key, together with the territorial election commission’s key, is used to decrypt election results. They are published decrypted. Using a dedicated tool, observers may check whether the calculation of the final votes is correct.

In 2021 we made a special tool for independent observers to watch the voting and ensure its immutability. The observers use this utility successfully and prove its stability and transparency on different system configurations.

In 2022 we introduced a new type of nodes within the voting — watcher nodes. They do not mine blocks, they get them from miners and apply to their state. The voting observers can connect to these nodes to get voting data directly from the blockchain anytime.

Thus, the combination of modern blockchain and cryptography technologies makes it possible to arrange a reliable and secure process for receipt, processing, storage and tallying of votes, as well as to ensure that the ultimate election results cannot be falsified. Open source instruments available for anyone, together with real-time access to the blockchain provide maximal transparency of the e-voting.

How did the voting go?

In 2020, e-voting using the Rostelecom and Waves Enterprise system was conducted in two constituencies in the Kursk and Yaroslavl regions. Based on these successful results, remote e-voting geography was further extended: for federal elections on September 17–19, 2021 the system was used in 6 regions of Russia, including the Kursk, Murmansk, Nizhny Novgorod, Yaroslavl, and Rostov, as well as in the city of Sevastopol. In 2021, more than 600 thousand people cast their votes through our system. Voter turnout was more than 90%.

banner

First, remote voting technologies began to spread to regions. It is very interesting and highly important for us to see how both the election commissions and the voters themselves respond to these technologies. To date, the picture looks fairly positive. Although it’s clear that voters do not fully understand how remote voting technologies work and why they can trust them, voter turnouts for e-voting speak for themselves.

Secondly, the digital voting systems that have been in use in Russia up to this point were developed by Moscow’s Department of Information Technologies. In 2020, however, constituencies in Kursk and Yaroslavl used a system that was developed by Rostelecom and Waves Enterprise, by order of Russia’s Central Election Commission. Thus, the development effort has been taken to the federal level, as we specified as necessary back in June.

As of today, the new system has put up a good performance: there have been no significant malfunctions or negative feedback from voters. The share of unused ballots was three times lower than what was seen in voting on the amendment of the Constitution. There are also no objections to the system’s architecture or to interactions with the system’s developers: as early as in August, our group of experts received a detailed technical description of the new system.

For us, as an observer, it is especially important to note the detailed statistics that the remote e-voting systems provide — they include everything up to second-by-second information about when ballots were distributed and votes were accepted. When the voting is over, we will perform a detailed analysis of these statistics, and ensure that results are made available to the general public”

img
Oleg Artamonov

Head of Scientific and Technical Expertise, Direct Democracy Party

Results

Around 30,000 voters voted remotely in the September 2020 elections, and around 600 000 voted remotely in September 2021. No appreciable malfunctions or systems faults were identified during voting. The Waves Enterprise team, in cooperation with PAO Rostelecom, continues to develop the e-voting system so that it can be used in the future to conduct larger national elections.

725 000

people voted remotely during the elections in 2020–2022

7 regions

of the Russian Federation voted distantly in 2022

90%

was the overall turnout of the voting in 2020–2021