AGYSO ZK-DAO-VOTE

AGYSO ZK-DAO-VOTE

AGYSO-zkdao-vote is a privacy-preserving voting protocol for DAOs, combining homomorphic encryption and zero-knowledge proofs (ZKPs) to protect voter privacy and ensure fairness.

AGYSO ZK-DAO-VOTE

AGYSO ZK-DAO-VOTE

AGYSO-zkdao-vote is a privacy-preserving voting protocol for DAOs, combining homomorphic encryption and zero-knowledge proofs (ZKPs) to protect voter privacy and ensure fairness.

The problem AGYSO ZK-DAO-VOTE solves

People can use AGYSO-zkdao-vote to bring privacy and integrity to decentralized decision-making within DAOs. Here’s how it can make existing tasks easier and safer:

Privacy-Preserving Voting: Unlike traditional DAO voting systems where votes are visible on-chain, AGYSO-zkdao-vote uses homomorphic encryption to hide individual votes while allowing aggregate vote counts to be verified. This is ideal for DAOs handling sensitive topics where anonymity is crucial.

Secure Token-Weighted Voting: The system ensures that votes reflect each member’s token holdings, preventing users from casting more votes than their voting power allows. This safeguards the fairness and accuracy of DAO decision-making.

Verified, Anonymous Voting: By leveraging zero-knowledge proofs, AGYSO-zkdao-vote verifies that votes comply with rules (e.g., no negative votes, correct vote power) without disclosing voter identities. This gives users confidence that their votes are counted correctly and fairly.

Reduced Risk of Retaliation or Manipulation: Since individual voting preferences remain confidential, DAO members can vote without fear of retaliation or manipulation, creating a safer environment for honest decision-making.

In short, AGYSO-zkdao-vote makes DAO voting safer and fairer by protecting voter privacy, ensuring accurate token-weighted voting, and promoting a transparent yet anonymous voting process.

Challenges we ran into

In our proof system, we initially chose Groth16 on BN254 due to its compatibility with a universal setup-free configuration. Although we successfully verified the generated proofs locally, we encountered a "submitted proof is invalid" error when submitting them to the AlignedLayer. According to the documentation, Groth16 on BN254 was supported, yet verification on the AlignedLayer failed. Consequently, we transitioned to using Plonk on BN254 as our proof system.

Because of lack of time, we couldn't run on the browser. To generate and submit proof, we use a web server.

Discussion