priveasyVoting

priveasyVoting

priveasyVoting is a simple, versatile solution for private voting. Offering a variety of voting resolution styles, multiple ways to determine voting eligibility and able to be used by everyone.

priveasyVoting

priveasyVoting

priveasyVoting is a simple, versatile solution for private voting. Offering a variety of voting resolution styles, multiple ways to determine voting eligibility and able to be used by everyone.

The problem priveasyVoting solves

Problems Solving

  • Public voting: On public blockchains, voting data can be seen at any point. This reveals what individual addresses are voting for. Additionally, subsequent voters can see what prior users have voted for which can bias their decision.
  • Restrictive voting styles: Traditionally blockchain voting models have had to stick to simplistic systems such as First Past the Post due to computational overhead incurring excessive gas costs. On zkSync, the chain is scalable enough to facilitate more complex voting styles that arguably come to a better consensus such as Ranked Choice Voting, Single Transferable Vote and Quadratic Voting.
  • Only available for blockchain users: In order to vote on a blockchain, users had to already have a blockchain wallet and funds to pay for the voting transaction. zkSync's native account abstraction is leveraged to allow social logins and a Gasmaster is deployed to fund their transactions. This massively lowers the barrier for entry, as users simply need an email to receive their unique voting code.

Use Cases

priveasyVoting is a flexible protocol that can be adapted for a wide range of use cases. In it's current form, there are multiple ways to allow blockchain and non-blockchain users to vote. The protocol could very easily be utilized to enable sending voting links via alternative sources such as through social media or SMS.

Challenges we ran into

  • There were issues with getting the frontend to consistently function correctly. Performing the same action could either result in a successful or failed tx. Attempted to debug as thoroughly as possible to get a proof of concept ready to demo.
  • Attempted to use txTsuko for an easy integration of a gasless paymaster on zkSync, but found that they were not deployed for use on the testnet. Instead, deployed a simple GeneralPaymaster and funded it.
  • Encountered issues with integrating social logins with web3auth, which supports account abstraction for EIP-4337 models but currently not compatible with zkSync's native account abstraction. For now, we implemented a rudimentary mock implementation.

Tracks Applied (5)

Global Bounty

priveasyVoting was built with zkSync's tech stack in mind, but it can easily be adapted to a protocol like Aleph Zero. A...Read More

Aleph Zero

Product Path

priveasyVoting was built with zkSync's tech stack in mind, but it can easily be adapted to a protocol like Aleph Zero. A...Read More

Aleph Zero

Best cryptography for society

priveasyVoting is a protocol designed to allow for voting on proposals that is better at achieving consensus, preserves ...Read More

Nethermind Research

Best ZK Application deployed on zkSync

This project was built on zkSync for three reasons: Privacy (with Validiums) Scalability Native Account Abstraction Th...Read More

zkSync ∎

Prizes for Finalists, Hackers' Choice & Chewing Glass

priveasyVoting is effective due to combining privacy, scalability and Account Abstraction. The synergy of all is facilit...Read More

Discussion