Anonymous ZKVote- Zero Knowledge Voting Platform

Project Name: Anonymous ZKVote

Project Track: Web3/DAO

Team Members: @Harsh8196


This application allows anyone to create new voting process or to vote on already existing processes. In order to vote users need to register their identity using Discord. Registration is done with the use of Semaphore smart contracts. User’s IdentityCommitment is stored on chain, but their identity remains private. When casting a vote, proof of registration is created and verified by Semaphore smart contract. Users are not allowed to vote on the same voting process twice. Double voting is disabled with the use of external nullifiers (voting process id). Nullifier hash (hash of external nullifier and identity nullifier) is stored on chain and checked every time voting happens, which prevents double voting.


This application can be used by DAOs as a governance tool. DAO members can vote on important decisions without revealing which voting option they chose. This privacy aspect is really important as it prevents discrimination and possible conflicts inside DAO. Anonymous ZKVote can essentially be used for any big public decision, where keeping privacy is important.


UI Demo

GitHub Repo


Just after that, Anonymous ZKVote is planning to develop possible feature:

  • Adding the discord bot to get all the candidates from the DAO into a list.
  • Adding time lock features to end votes at a certain interval.
  • Adding funds inside a wallet to automate proposal payout once 5 stars have been reached.
  • Adding basic template(s) for adding custom polls.