Inspiration
With the current paper-based voting system, there are a lot of trust issue because paper-based voting system can be easily manipulated. We want to fix that issue using blockchains where every vote is transparent and cannot be manipulated.
What it does
We made an anonymous voting system, where it is deployed on the blockchain with the user privacy being secured through zero knowledge proof.
How we built it
The system mainly has 3 components, which are frontend, backend, and blockchains. The frontend application is built using the React framework with Tailwind CSS for styling and the backend is built using Express hosted on a Node.js server. Lastly, the blockchains is govern through smart contracts written in the Solidity language.
Challenges we ran into
There are many challenges we ran into:
- Learning new web 3.0 technologies
- Difficulty in understanding and applying new programming languages and frameworks, particularly Solidity, for smart contract development.
- Time constraints in learning and implementing new technologies, leading to delays and mistakes.
- Developing the API to connect the frontend and blockchains
- Complexities in designing and implementing a functional and secure API to connect the frontend with the blockchain technology used.
Accomplishments that we're proud of
- Successfully implemented smart contracts on the Ethereum blockchain to create a new cryptocurrency, Cabbagecoins, for the hackathon project.
- Successfully implemented a Zero Knowledge Proof (ZKP) protocol to enable anonymous and secure voting, which is applicable in real life.
- Successfully implemented a user-friendly and visually appealing interface for the hackathon project.
What we learned
- Merkle Tree
- Gas Fees and Transaction
- Cryptocurrency Creation
What's next for ZkAnonymousVoting
- Hashing Password
- Access Token Login Sessions
- Better Content Management System
Log in or sign up for Devpost to join the conversation.