The article discusses Cicada, an open-source Solidity library designed for private on-chain voting. Cicada uses time-lock puzzles and zero-knowledge proofs to ensure privacy in voting systems. It offers unique privacy properties, minimal trust assumptions, and is efficient enough for use on Ethereum mainnet. The document also explores the different layers of privacy in voting systems, including ballot privacy, running tally privacy, and voter anonymity. Cicada focuses on running tally privacy but can be combined with zero-knowledge group membership proofs for voter anonymity and ballot privacy.
- Explore Cicada: Developers and crypto research firms can explore and adapt Cicada to support different voting schemes and features.
- Consider Privacy in Voting Systems: When designing or analyzing on-chain voting systems, consider the different layers of privacy – ballot privacy, running tally privacy, and voter anonymity.
- Combine with Zero-Knowledge Proofs: For indefinite ballot privacy, Cicada can be combined with an anonymous voter eligibility protocol, instantiated by zero-knowledge group membership proofs.