Privote is a decentralized voting mechanism that allows users to vote on-chain in a private and secure manner. It uses Maci protocol made by PSE team to ensure that votes don't leak and are not tampered with. The project is open-source and anyone can contribute to it. Privote enables users to create various types of private polls and vote on them. It also provides various types of auth mechanisms like Anon-Aadhar (aadhar based verification from India), WorldCoin-auth, NFC (can be used in IRL events like ethglobal hackathons), etc, enabling holding of various interesting polls without revealing the choice of voters.
The project uses MACI to ensure privacy and collusion resistant voting .
We solved various problems through various stacks listed below-
On-chain Vote Visibility:
- Problem: Traditional on-chain voting mechanisms expose voter choices publicly, which can lead to voter hesitance and resistance due to privacy concerns.
- Solution: We utilize the Maci protocol for private voting, ensuring that votes remain confidential and only the final tally is revealed.
Lack of Ways to Avoid Bad Actors (Multiple Voting, etc.):
- Problem: Traditional on-chain voting mechanisms lack ways to prevent bad actors from voting multiple times or manipulating the voting process. People can create multiple wallets, etc, to dodge the system.
- Solution: We use various auth mechanisms like Anon-Aadhar, WorldCoin-auth, NFC, etc, to ensure that only legitimate users can vote as per the rules auth of organizers.
Bribery and Coercion:
- Problem: Traditional on-chain voting mechanisms are susceptible to bribery and coercion, as voters can be forced to reveal their choices as can be verified on-chain.
- Solution: With Privote, voters can vote privately, ensuring that their choices remain confidential and cannot be verified on-chain, leaving no incentive for bribers or coercers.
Lack of Cross-chain Compatibility:
- Problem: With advent of various L2s and other chains, chain limitation have got real, people having tokens on different chains can't interact with dapps on other chains.
- Solution: We use Chainlink CCIP to enable usage of Privote from multiple chains, enabling users to vote from any chain they have tokens on.