Venture capital firm Andreessen Horowitz, popularly known as A16z, has created a Solidity library that enables anonymous voting on Ethereum. The library dubbed ‘Cicada,’ ensures confidentiality by encrypting individual voters’ choice until polling ends. This encryption is possible through “time-lock puzzles,” a type of cryptography that encrypts secret values that can only be decrypted after a specific period has passed. Puzzles of this nature required users to reveal their secret values after the time period had lapsed up until 2019.
But in 2019, cryptographers Giulio Malavolta and Aravind Thyagarajan proposed “homomorphic” time-lock puzzles. The latter allowed the addition of puzzles to produce a final puzzle that discloses the sum of the individual values without disclosing the individual values comprising that sum. According to A16z engineer Michael Zhu in a blog post on May 24, Cicada relies on homomorphic puzzles to ensure users’ votes get counted even when they go offline before polling.
A16z researchers discovered a roadblock while attempting to transfer the system proposed by Malavolta and Thyagarajan to the blockchain. This block was the requirement for each vote’s encoding as a boolean value of “1” or “0,” which attackers could use to increase their voting power by misrepresenting their choices. Cicada addresses this issue by necessitating voters to submit a zero-knowledge proof of ballot validity alongside each ballot, demonstrating the submission of a vote informed by the correct encoding without revealing the vote’s exact contents.
It is essential to note that Cicada only confers confidentiality on votes until the poll’s closing time or the time-lock period lapses. After this, anybody can determine the content of the vote through brute-forcing the solution to the puzzle. A16z suggests that this problem is manageable by combining Cicada with zero-knowledge group participate in systems such as Semaphore, Semacaulk, or zero-knowledge state proofs. In such a case, brute-forcing the puzzle reveals that the vote was cast by an eligible voter while withholding the credentials used to prove voter eligibility.
For instance, in a sample contract produced using Cicada, Zhu gave a link to Semaphore that demonstrates voter eligibility verification.
Nowadays, decentralized autonomous organizations (DAOs), the governing bodies that often manage blockchain apps, frequently utilize tokens to represent votes in voting systems. This system raises concerns since individual users can have an outsized influence if they hold a considerable number of tokens. Such an attack took place on May 22, and the malicious attacker took over Tornado Cash by casting extra votes on a malicious proposal, draining the governance contract’s funds before offering to return control to the users.
Sasha Ivanov, the founder of Waves, has opined that DAOs have to transition to a fairer democratic voting system to prevent governance attacks such as this one. Cicada and systems like Semaphore present an ideal solution to pressuring issues encountered with conventional voting systems and can promote a more equitable approach to voting.
According to https://cointelegraph.com/news/a16z-releases-anonymous-voting-system-for-ethereum
The material in this article is written on the basis of another article.