Table of Contents
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), gitcoin passport, nfts, tokens, etc, enabling holding of various interesting polls without revealing the choice of voters.
Privote is made up of the following components:
- Frontend - The UI for Privote that allows users to create different types of polls and handle voting procedure smoothly.
- Maci-Docker - The docker image for the Maci protocol flow to publish votes easily. Users publishing votes from the frontend can use this docker image to publish votes in few commands. Privote deploys the Maci-Docker image on a server and uses it to provide users options to publish votes on-chain directly from the frontend.
- Contracts - The smart contracts for Privote on which the whole voting mechanism is based. The contracts integrate
- Maci - The protocol for private voting
- Anon-Aadhar - Aadhar based verification for Indian users
- 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.
- UX complexity:
- Problem: Using any web3 dapp comes with its UX complexity around wallets, let alone having gas, multiple chains, etc.
- Solution: We provide easy on-boarding to privote for users with email, passkey using porto along with traditional wallets catering to different users. With porto we aim to abstract multiple chains for users giving them as smooth flow as possible.
-
More Auth Mechanisms We will be integrating more on-chain authentication mechanisms like emails, etc to make the dApp more generic.
-
Further Plans Other Features: Make things more automated, UI more inclusive, etc.
-
Vote Without Wallet There may be a market for paid polling through this mechanism that allows users to directly vote with gas sponsorships, etc., without the need for funds.
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt for more information.
Your Name - @0xlord_forever - [email protected]
Project Link: https://github.com/Privote-project
We extend our deepest gratitude to the mentors from PSE, Maci, porto, and all the other organizations who generously shared their time, expertise, and guidance throughout this journey. Your support was invaluable in helping us navigate challenges, refine our ideas, and ultimately bring this project to fruition.
Thank you for inspiring us and pushing us to reach our full potential. We are truly grateful for the opportunity to have learned from such talented and passionate individuals.
