We were inspired by the recent 2024 and 2020 presidential elections where candidates were accusing different parties of election fraud. A platform supporting zero knowledge architecture solves this problem because election results can be transparent and trustworthy while maintaining privacy and security. Voting systems like this can also be used in professional business or school club environments where conflicts of interest made be present and voters wish to stay anonymous.
The working idea of SilentVote is that election results can be transparent while still maintaining anonymity of voters by aggregating votes without connecting votes to respective voters by utilizing Zero Knowledge Proofs.
SilentVote is a Decentralized Application built on the Midnight blockchain with zk-SNARKS, a non-interactive proof system.
The main challenge of this project was setting up the Midnight testnet and generating correct proofs and verifying them.
We managed to create a functional PoC voting platform that supports different blockchain operations on both the shielded and unshielded ledger.
We hope that this project inspires future collaborations between cryptographers and web3 developers to create a fully established ecosystem of anonymous voting systems.
This project was a part of the 24 hour 2024 TAMU Datathon. You can learn more about it here
Go to the frontend folder
cd frontend
Install dependencies
npm i
Start local server
npm start
Follow this link to download the compactc compiler based on your OS and to setup your wallet + midnight environment. Once completed utilize our given examples folder and continue the setup for the examples. Complete the full setup till the call to yarn testnet in the board-cli directory near the end of part 3.