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.
The following overview of the user interface could be a helpful starting point for you.
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 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.
What is ...
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.
You can request access to a non-exclusive demo environment for a limited period of time. We will provide you with the information you need for using the demo: the ORGANIZATION and the RPC_NODE.
You can access the demo by replacing ORGANIZATION and RPC_NODE in the URL https://decentra.vote/app?address=ORGANIZATION.decentravoteapp&network=RPC_NODE. Alternatively you can download and host the HTML file on any other web server.
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 061c62f0f80575d3cc5086b74dd5b3ecb10ec86799b20205728c0075377b8cc5. Do not trust sourecode with a different hash!