Ethereum gets private on-chain voting tool through a16z’s ‘Cicada’
Unveiling Cicada, the private on-chain voting tool for Ethereum developers, and its game-changing potential using time-lock puzzles.
Andreessen Horowitz (a16z) announced a new private, on-chain voting tool for Ethereum developers called “Cicada.”
In a blog post, a16z developer Michael Zhu acknowledged existing on-chain voting features but noted that many of those systems are fully public and transparent.
Running tally privacy
By offering private voting, Cicada addresses issues found in public voting, such as vote manipulation and improper voter incentivization.
Cicada specifically allows for running tally privacy, meaning it conceals the number of votes for each option until voting ends. This approach relies on time-lock puzzles, which conceal individual votes for a set amount of time, and homomorphic time-lock puzzles, which combine the other puzzles and conceal the overall tally.
Zhu said that Cicada could also be used for voter anonymity and ballot privacy with the addition of zero-knowledge group membership proofs.
Cicada is a Solidity library, meaning it is compatible with the programming language used in Ethereum smart contracts. Zhu said the library is efficient enough to be used on Ethereum’s mainnet (as opposed to layer 2 networks).
Real-world use not recommended
Zhu acknowledged on Twitter that on-chain voting is not “not ready for high-stakes real-world use cases yet” but expressed hope for future progress.
In the meantime, numerous blockchain projects have governance systems that rely on on-chain voting. For example, Uniswap and other DeFi platforms use on-chain governance to choose which blockchains to deploy to, while the stablecoin project Maker uses on-chain voting to determine the makeup of its reserves and other decisions.