Navigation auf uzh.ch
Electronic transformation of political systems has become a challenging task in recent years. Applying cryptography to voting and electoral processes is crucial for democracy. The lack of trust placed in Remote Electronic Voting (REV) systems poses the main obstacle to adoption. Transparency measures and additional public security tests (e.g., public intrusion tests), such as the publication of the source-code, actively contribute towards public verifiability, and hence, trust placed in REV systems. Serving as a transparent, immutable, and distributed ledger, Blockchains (BC) offer new benefits for REV. Instead of relying on a single, centralized authority, a system of distributed, equivalent authorities can be used. Further, BCs serve as a highly replicated, tamper-proof audit trail, which enables the verification of cryptographic proofs, crucial for REV.
In order to evaluate the feasibility of deploying a BC-based REV system, in 2018, the first version of Provotum 1.0 was proposed and implemented in the context of a Master's Project. Currently, the Provotum 2.0 prototype is documented below, showing a fully end-to-end verifiable voting process, implemented using a dedicated public permissioned Proof-of-Auhtority BC, based on Ethereum. Also, different new directions are explored as well, for instance, deploying a custom-built BC, developed in Rust, in order to achieve Universal Cast-as-Intended Verifiability.
Reference: | Research Project |
Source of funding: | UZH |
Project Duration: | Since 01.03.2019 |
The tutorial on a "Practical Introduction to Blockchain-based Remote Electronic Voting" as presented at the IEEE International Conference on Blockchain and Cryptocurrency (ICBC 2020), May 2-6, 2020, Toronto, Canada, as a Virtual Conference refined the technical details.
The practical part of the tutorial is based on the code of Provotum 2.0, which was developed by Moritz Eck, Alex Scheitlin and Nik Zaugg in the scope of their Master Project with the CSG@IfI.
git clone git@github.com:christiankiller/master-project-evoting.git
./docker-prebuilt-up.sh
docker ps
and verify all components are running by visiting the following links with your favorite web browser
If everything is running smoothly so far, you can continue by following the tutorial steps.
ssh -D 5000 -C -q -N [REMOTE-IP]
to enable -D
Dynamic application-level port forwarding, -C
use compression, -q
quiet mode, -N
macOS specific (Do not execute a remote command. This is useful for just forwarding ports.)Provotum 1.0
Provotum 2.0
Inquiries may be directed to the CSG project team:
Prof. Dr. Burkhard Stiller
University of Zürich, IFI
Binzmühlestrasse 14
CH-8050 Zürich
Switzerland
Phone: +41 44 635 67 10
Fax: +41 44 635 68 09