Enterprise capital fund Andreessen Horowitz, often known as A16z, has launched a Solidity library that can be utilized for nameless voting on Ethereum. Referred to as “Cicada,” the library prevents a person voter’s selection from being identified earlier than polling ends. When mixed with zero-knowledge group membership techniques like Semaphore, it may additionally make the id of the voter completely unknowable, based on a Could 24 weblog put up from A16z engineer Michael Zhu.
Excited to announce Cicada: a brand new constructing block for personal on-chain voting. https://t.co/hxE4KL4Se6
— moodle zoup (@moodlezoup) May 24, 2023
Cicada depends on time-lock puzzles, a kind of cryptography that enables customers to encrypt secret values that may solely be decrypted after a selected time frame has handed, Zhu said.
These puzzles have been round since 1996. However earlier than 2019, they might have required customers to disclose their secret values as soon as the time interval had handed. In voting techniques, this might have triggered issues with customers submitting votes after which going offline, stopping all of the votes from being countable.
In 2019, the idea of “homomorphic” time-lock puzzles was proposed by cryptographers Giulio Malavolta and Aravind Thyagarajan. This allowed the puzzles to be added collectively to supply a ultimate puzzle that was a lot simpler to unravel than the sum of the person puzzles. The answer to the ultimate puzzle reveals solely the sum of the person values with out revealing the person values making up this sum.
In keeping with the A16z put up, Cicada makes use of these homomorphic puzzles, permitting votes to be counted even when customers go offline.
When making an attempt to switch Malavolta and Thyagarajan’s system to the blockchain, A16z researchers bumped into an impediment to creating a good voting system: Every selection wanted to be encoded as a boolean worth of “1” or “0.” This meant that attackers may attempt to enhance their voting energy by incorrectly encoding the vote — by encoding “100” as their worth, for instance.
To resolve this drawback, Cicada requires voters to submit a zero-knowledge proof of poll validity together with every poll, the put up stated. The proof reveals that the vote was encoded accurately, however with out revealing the contents of the vote.
Associated: Anchorage Digital opens up DeFi voting for custody purchasers
Cicada solely prevents votes from being identified whereas the ballot is being performed. As soon as the “ballot has closed” or the time-lock interval has handed, any particular person can decide the contents of a vote by brute-forcing the answer to the puzzle. Nonetheless, A16z prompt that this drawback may be solved by combining Cicada with zero-knowledge group membership techniques like Semaphore, Semacaulk or zero-knowledge state proofs. On this case, brute forcing the puzzle will solely reveal that the vote was solid by an eligible voter however is not going to reveal the credentials used to show the voter’s eligibility.
For example, Zhu offered a hyperlink to a pattern contract produced utilizing Cicada that additionally depends on Semaphore to show voter eligibility.
Voting techniques have lengthy been a part of decentralized autonomous organizations (DAOs), the governing our bodies that always handle blockchain apps. However typically, DAOs use tokens to symbolize votes, which signifies that particular person customers can have an outsized affect in the event that they maintain numerous tokens. For instance, on Could 22, an attacker took management of Twister Money by casting further votes on a malicious proposal, utilizing it to empty the entire governance contract’s funds. The attacker later provided to present again management to customers.
Waves founder Sasha Ivanov has argued that DAOs should transfer to a extra democratic voting system if governance assaults like these are to be prevented.
Read the full article here
Discussion about this post