Institute OnChain Voting System with ZKPs


  • Blockchain


Mentors :

  • Nikhil Tiwari

  • Ananya Khandelwal

  • Ishit Garg

Mentees :

  • 5

The plan is to build a transparent onchain election portal where students can vote in a specified time and their votes are encrypted on chain but verifiable using ZKPs. The number of votes won by a contestant will only be revealed once the election is over with the privacy of voter being maintained. ZKP ensures that each voter only votes once anonymously. Circom can be used to write ZK circuits. We plan to use SnarkJS to generate proofs for verification. Smart contract wallet (Account abstraction) can be used for storing votes and other information which can be made recoverable.

Prerequisites : Enthusiasm and development knowledge

Tentative Timeline :

Week Work
Week 1 Gain basic knowledge of blockchain and cryptography (ZKPs)
Week 2 Start building a basic smart contract capable to handle simple voting
Week 3 Build smart contract wallet and look for its recovery
Week 4 Use circom to write ZKP circuits
Week 5-6 Use ZKP for verification ie.,for post voting results, Do audit of smart contracts
Week 7 Build an UI and deploy