zkVoting (zero-knowledge voting) is the world's best voting app that supports voter privacy by utilizing zk-SNARKs (zero-knowledge Succinct Non-interactive ARguments of Knowledge) zero-knowledge proof technology.
zkVoing provides the following voting characteristics:
End-to-End verifiability
Individual verifiability: zkVoting stores individual votes on a public blockchain, allowing anyone to verify that their votes have been properly placed in the ballot box.
Eligibility verifiability: Anyone can verify that a vote stored on a public blockchain is a valid vote that has been validly voted only once by a valid voter.
Tally verifiability: Anyone can verify that the voting results are correct.
secret ballot
Voter anonymity: No one, including the voting manager, can know the identity of the voter from the votes stored on the public blockchain.
Ballot privacy: The content of the vote is unknown to anyone other than the person who counted the votes.
Receipt freeness: Voters cannot confirm the votes stored in the blockchain to a third party.
Coercion-resistance: As the strongest secret voting property, it is a safe vote even if the voter's voting key is exposed due to coercion by a third party. To support this, you need to register a fake key. Currently, zkVoting has a step-down resistance function implemented internally and is disabled on the app screen. In consideration of user convenience, we plan to activate it on the screen in the future.
Prevent vote tampering
Board integrity: Votes stored on a public blockchain cannot be altered by anyone.
Non-repudiation of votes: Votes can only be created by voters, and no one else, including Voting Administrators, can create them. So, if a legitimate vote was created, the vote was created by the voter.
To create zkVoting votes, simply become a voting manager at www.zkvoting.com.
The voting sequence is as follows.
1. Register your voter ID in the zkVoting app
2. Pass the voter id to the voting manager
3. Voting manager creates votes including voter id
4. Voters register their voting keys to votes created in the app
5. When voting starts, use the registered voting key to vote
6. End of voting
7. After voting ends, the voting manager counts the votes
8. Check the Counting
Voter id and voter email are stored on the server.
For app-related inquiries, please contact contact@zkrypto.com.
References:
SAVER: SNARK-friendly, Additively-homomorphic, and Verifiable Encryption and decryption with Rerandomization https://eprint.iacr.org/2019/1270
zk-SNARK based electronic voting system supporting coercion resistance
Mobile implementation of blockchain voting system supporting zero-knowledge proof-based verification