DAOrayaki DAO研究獎金池:

資助地址:DAOrayaki.eth

投票進展:DAO Committee 3/0

通過研究種類:ZK, PLONK, Governance

原文作者:Eric Zhang, Felix Cai

翻譯者:DAOctor @DAOrayaki

原文:PLONK-Based MACI

一直以來,MACI (最小化抗共謀基礎設施)是DoraHacks.io 上的一個有效的工具。該工具使社區治理具有抗共謀性和促使Grant DAO 分配更加公平。

在2022 年期間, DoraHacks 上一些主要的活動採用了MACI工具。其中,包括ETHDenver22[1]、OpenSea Hackathon 評審[2]和Dora Grant DAO 輪次[3]。 DoraHacks-MACI [4]是用於支持這些社區治理事件的開源存儲庫。

DoraHacks-MACI是在MACI 1.0 [5]的基礎上建立的,並做了一些改變和簡化。 DoraHacks MACI和MACI 1.0都使用Groth16來創建零知識證明。 Groth16 [6]的安全性依賴於創建通用參考字符串(CRS)的過程,稱為可信設置[7]。但並不是通用的(即如果有一個電路變化,CRS必須再次產生)。

在實踐中,我們使用兩階段的可信設置。第一階段與電路無關(例如永續TAU(Perpetual Powers of Tau) [8]),第二階段與電路有關。

使用基於Groth16 的MACI 意味著每次電路發生變化時,我們都需要重新進行第二階段的可信設置。事實上,電路總是在或大或小的變化:高級邏輯更新以及包括錯誤修復在內的小迭代。另一方面,嚴格的可信設置儀式既昂貴又耗時。如果一個可信的設置沒有被公開證明,整個系統就不能完全可信,因此,我們不能運行高風險的MACI 回合。以上的特性導致基於Groth16 的MACI 無法擴展。

PLONK [9] 為通用電路提供簡潔的驗證。通過產生結構化參考字符串(SRS) 的單階段可信設置,所有達到一定規模的電路都可以使用同一個SRS。

將DoraHacks-MACI從Groth16轉移到PLONK並不是一件難事。最近的一輪ETH研究資助[10]已經使用MACI-PLONK來驗証投票[11]。 MACI-PLONK [12]用PLONK取代了Groth16的證明驗證系統。因此,PLONK 可信設置只需要單階段SRS 生成。這是一個比較:

DAOrayaki |基於PLONK的MACIDAOrayaki |基於PLONK的MACI

MACI 規模:最多5^4 個用戶,5^2 個選項,每批25 條消息。在配備AMD Ryzen 5 5600X 6 核處理器3.70 GHz 的PC 上進行基準測試。

在相同條件下,基於PLONK 的MACI 生成的證明比Groth16 大得多。然而,MACI 投票輪次通常跨越數天或數週,此時,產生的更大證明的鏈外開銷在可接受範圍。另一方面,驗證消息的Gas fee只增加了約50%。因此,在鏈上採用基於PLONK 的MACI 是沒有障礙的。

下一步:(1)我們可以在DoraHacks.io 上逐步採用MACI-PLONK,以便更多的社區和生態系統可以使用MACI 來做決策:常規的資金或治理決策;(2) 準備一個可信啟動儀式並為所有MACI 事件(達到一定的電路大小)生成SRS。

參考文獻

  1. ETHDenver22:https://dorahacks.io/grant/ethdenver22/top
  2. OpenSea Hackathon 評審:https://dorahacks.io/grant/opensea/proof
  3. Dora Grant DAO 輪次:https://dorahacks.io/dora
  4. DoraHacks-MACI:https://github.com/dorahacksglobal/qf-maci
  5. DoraHacks-MACI是在MACI 1.0:https://medium.com/privacy-scaling-explorations/a-technical-introduction-to-maci-1-0-db95c3a9439a
  6. Groth16:https://eprint.iacr.org/2016/260.pdf
  7. 可信設置:https://zkproof.org/2021/06/30/setup-ceremonies
  8. 永續TAU(Perpetual Powers of Tau):
    https://github.com/weijiekoh/perpetualpowersoftau
  9. PLONK:https://eprint.iacr.org/2019/953.pdf
  10. ETH研究資助:https://dorahacks.io/grant/ethre
  11. 使用MACI-PLONK來驗証投票:https://dorahacks.io/grant/ethre/proof
  12. MACI-PLONK:https://github.com/dorahacksglobal/maci-plonk