en
Anonymous voting powered by blockchain
Advanced cryptography and legal expertise
Protecting your privacy and voting rights

Why use a decentralized anonymous voting protocol built on blockchain?

Members of cooperatives and shareholders of joint-stock companies are eligible to participate in general meetings, which represent the highest governing body of these organizations. In these general meetings, directors and other key staff are appointed and dividend payouts and strategic decisions are approved. Elections and voting on resolutions are central components belonging to these general meetings.

The vote of each and every participant is important and can change the outcome of elections. In conventional general meetings, the on-site presence of the participants ensures trust in the votes. However, there are a couple of good reasons for the digitization of general meetings: high costs, low turnout and last but not least, travel restrictions in pandemic times.

Many organizations still struggle with digital general meetings. They fear legal consequences like void resolutions if the technology is susceptible to manipulation. Thus e-voting systems used in general meetings are required to withstand external attacks and detect and prevent internal fraud as well. Neither system operators nor officials belonging to the organization must be able to compromise the system. To avoid lawsuits the system must provide indisputable evidence of the proper conduct of the voting.

To meet these demands, we have built DecentraVote: a tamper-proof, anonymous, e-voting protocol based on blockchain and zero knowledge proofs.

Decentralized
Decentralized
Conventional e-voting systems are run on central computers under the control of a single organization. The DecentraVote protocol is run by several independent blockchain nodes in operating in parallel. Each of them stores your votes, counts your votes and double checks the results.
Transparent
Transparent
Users of conventional e-voting solutions have no choice but to blindly trust the system. DecentraVote is fully transparent and verifiable. Computations and data modifications are traceable via transactions and even the user interface and the data displayed and input are secured by hashes stored on the blockchain.
Unforgeable
Unforgeable
Votes cast using DecentraVote are digitally signed. Nobody can forge the voters’ signature to manipulate their votes. Once stored on the blockchain, the votes can’t be changed or removed anymore. Smart contracts ensure that only eligible voters can participate and prevent them from casting more votes than allowed.
Anonymous
Anonymous
Only the users know which vote they have cast. To ensure full anonymity, DecentraVote uses zk-SNARKs which prove their eligibility to vote without disclosing any information about their identity. This way they can create a new voting account each time they register for a vote.
Confidential
Confidential
Nobody knows the interim results before the vote ends. The votes cast are stored on the blockchain and kept secret until the key opening the ballot box is revealed. As soon as the key is published on the blockchain, every user can count the votes and verify the results.
Compliant
Compliant
DecentraVote doesn’t store personal information on the blockchain. The blockchain only contains hashes in order to secure all information stored in the decentralized storage. Retrieval requests using the hashes are digitally signed to authorize access to the information.

Functionality

The following overview of the user interface could be a helpful starting point for you.

Manage general meetings
Manage general meetings
Directors can convene general meetings. They must appoint a chairperson and set the date of the general meeting. Members can register for an upcoming general meeting or authorize a representative, which must be recorded by a director.
Manage votes
Manage votes
Directors can set up votes for the planned resolutions in advance of the general meeting and the chairperson can also do this during the general meeting. They can specify the title, description and an optional attachment as well as the voting options. They can exclude members, which are not allowed to cast votes. Before starting the vote, the chairperson can make it anonymous.
Cast votes
Cast votes
As soon as the chairperson has initiated the voting procedure, members can cast one or more votes depending on the number of their voting rights. The chairperson can see how many of the available voting rights have already been used.
Count votes
Count votes
As soon as the counting of the votes has been started by the chairperson, members will see the number of votes that have been cast in favor of each available voting option.

Infrastructure

DecentraVote can connect to any Ethereum blockchain network. You can test it on Ropsten, Rinkeby or any other test network and go live on Mainnet or a public permissioned network like Bloxberg, the Energy Web Chain or another secure blockchain network of your choice.

DecentraVote performs security critical computations like the generation of zero knowledge proofs in your browser. Therefore we only support Web browsers, which are able to provide the necessary features and performance. These include, among others, Chrome, Firefox and Edge on Windows and Mac computers and mobile browsers on Android and iOS.

DecentraVote implements REST services required by the frontend. These services can be hosted by the organization or its members, which want to be independent from the infrastructure provided by the organization. To host the services they need an environment supporting Docker containers, which can be any cloud or on-premise hosting environment.

DecentraVote components

DecentraVote provides interfaces to membership registries using single sign-on protocols such as OpenID Connect / OAuth and SAML. Members can be authenticated based on the credentials they use to log in to the organization’s membership registry. Upon successful authentication they will be added as active members in DecentraVote. DecentraVote only receives the personal data which is to be displayed (e.g. first and last name, e-mail address). After removal from the membership registry, users will be automatically disabled in DecentraVote.

Technology

What is ...

Blockchain
Smart Contract
Wallet
Account
Oracle
Storage
zk-SNARK
Relay

Whitepaper

DecentraVote is the product of years of research. Several diploma theses examined different aspects of the system and from these, prototypes emerged to prove its technical feasibility and commercial viability. They were guided by the common goal of developing the most tamper-proof electronic voting protocol. To find out more about our vision, download our whitepaper.

Demo

You can request access to a non-exclusive demo environment for a limited period of time.

Integrity check

Open the URL https://decentra.vote/app in your browser (before calling the DecentraVote application) or call the URL with curl. Save the source code and check its integrity by comparing its keccak-256 hash with 6ef447d27a6ae5433a5ed630e690e0f9a3a93e7749119879dab518272f0df47f. Do not trust sourecode with a different hash!

Documentation

Here you can find the latest DecentraVote documentation and video tutorials.

Documents:

- User documentation for the participants.

- User documentation for the chairperson of the meeting and the board members.

Video tutorials:

Admission und registration

- Registration

- Accreditation

Preperation and implementation of the meeting

- User managemnt

- Meeting preparation

- Implementation of the meeting