A16z 發布以太坊匿名投票系統

風險投資基金 Andreessen Horowitz,也稱為 A16z,發布了一個 Solidity 庫,可用於以太坊上的匿名投票。 該圖書館名為“Cicada”,可防止個別選民的選擇在投票結束前被知曉。 根據 A24z 工程師 Michael Zhu 16 月 XNUMX 日的博客文章,當與 Semaphore 等零知識組成員系統結合使用時,它還可以使選民的身份永久不可知。

朱說,Cicada 依賴於時間鎖謎題,這是一種允許用戶加密只能在特定時間段過去後才能解密的秘密值的密碼學。

這些謎題自 1996 年就已存在。但在 2019 年之前,它們會要求用戶在時間段過去後透露其秘密值。 在投票系統中,這可能會導致用戶提交選票然後下線,從而導致所有選票無法統計。

2019 年,密碼學家 Giulio Malavolta 和 Aravind Thyagarajan 提出了“同態”時間鎖謎題的概念。 這允許將謎題加在一起產生一個最終的謎題,這個謎題比單個謎題的總和更容易解決。 最終難題的解決方案僅揭示了各個值的總和,而沒有揭示構成該總和的各個值。

根據 A16z 帖子,Cicada 使用這些同態拼圖,即使用戶下線也可以計算選票。

當試圖將 Malavolta 和 Thyagarajan 的系統轉移到區塊鏈時,A16z 研究人員遇到了創建公平投票系統的障礙:每個選擇都需要編碼為布爾值“1”或“0”。 這意味著攻擊者可以嘗試通過錯誤編碼投票來增加他們的投票權——例如,將“100”編碼為他們的價值。

該帖子稱,為了解決這個問題,Cicada 要求選民在每張選票的同時提交選票有效性的零知識證明。 證明表明投票編碼正確,但沒有透露投票內容。

相關新聞: Anchorage Digital 為託管客戶開放 DeFi 投票

Cicada 僅在進行民意調查時防止選票被知道。 一旦“投票結束”或時間鎖定期結束,任何人都可以通過暴力破解謎題來確定投票的內容。 然而,A16z 建議可以通過將 Cicada 與零知識組成員系統(如 Semaphore、Semacaulk 或零知識狀態證明)相結合來解決這個問題。 在這種情況下,暴力破解謎題只會揭示投票是由合格選民投票的,但不會揭示用於證明選民資格的憑據。

例如,Zhu 提供了一個使用 Cicada 生成的樣本合約的鏈接,該樣本合約也依賴 Semaphore 來證明選民資格。

長期以來,投票系統一直是去中心化自治組織 (DAO) 的組成部分,DAO 是經常管理區塊鏈應用程序的管理機構。 但在大多數情況下,DAO 使用代幣來代表選票,這意味著如果個人用戶持有大量代幣,他們可以產生巨大的影響力。 例如,22 月 XNUMX 日,攻擊者通過對惡意提案進行額外投票控制了 Tornado Cash,用它來耗盡治理合約的所有資金。 攻擊者後來提出將控制權交還給用戶。

Waves 創始人 Sasha Ivanov 認為,如果要避免此類治理攻擊,DAO 必須轉向更民主的投票系統。

來源:https://cointelegraph.com/news/a16z-releases-anonymous-voting-system-for-ethereum