設置儀式可以為協作社區以及正在實現這些的項目提供機會。它們代表了一個值得擁抱的機會,而不是一個需要克服的必要罪惡。
原文標題:《道之力:我是如何不再擔心並愛上可信設置的》
撰文:Sam Parker and Alex Pruden
翻譯:Kurt Pan
自從在 Zerocoin 和 Zerocash 中首次實現以來,零知識證明(ZKP)在加密貨幣領域中就有著特別重要的歷史。早期的實現是以廣義的隱私為目標,ZKP 現在才剛開始被用於許多除了僅僅做混淆以外更強大的功能。例如,zkRollups 在以太坊上實現了更大的交易吞吐量,並且諸如 Halo 之類的遞歸證明構造正用於創建壓縮的區塊鏈;諸如「必要工作量證明」 之類的提案利用 zkSNARK 的功能在網絡的共識層提供安全性;藉助諸如 Zexe 之類的結構,ZKP 使進行鏈外計算甚至是全新的編程模型變成了可能。
「零知識證明」通常被作為一個整體引用,但請務必記住,有許多不同類型的 ZKP。嚴格來說,ZKP 方案是一種提供「零知識」性質的方案,在該方案中,證明的驗證者沒有得到任何關於要證明的陳述是如何被證明的知識。ZKP 可以是交互式的,其中驗證者可以直接與證明者進行交互;也可以是非交互式的,證明者可以獨立生成證明。有幾類滿足該條件的非交互式 ZKP,包括:
- 非交互式零知識論證(NIZK)
- 簡潔非交互零知識論證(SNARG)
- 簡潔非交互零知識知識論證(SNARK 或 zkSNARK)
由於 zkSNARK 的簡潔性和效率,它與加密貨幣最相關。第一個用於生產環境的 SNARK 是基於最初在 Zcash 中使用的 Pinocchio。後來,Zcash 和其他幾個項目採用了 Jens Groth 在其 2016 年論文「Groth16」 中描述的 zkSNARK。
儘管 zkSNARK 頗受歡迎,但它有兩個主要缺點。
首先,非通用的 zkSNARK (例如 Groth16)特定於給定的 NP 關係。換句話說,證明是特定於固定程序的,從而限制了該方案的靈活性。
其次,生成和驗證任何 zkSNARK 證明都需要事先生成一個公共參考字符串(CRS)。可以認為此過程是創建只有系統「知道」的秘密,任何了解如何生成 CRS 的人都可以偽造證明,因此破壞了可靠性。
關於通用 SNARK (例如 Marlin,PLONK 等)的學術研究已在很大程度上解決了第一個問題,但是即使這些方案仍然需要 CRS。確實是具有不需要 CRS 的零知識證明構造,如 STARKs (可擴展透明知識論證)和 Bulletproofs。但是,儘管它們都有很好的應用,但從證明大小和驗證速度的角度看,zkSNARK (尤其是非通用的 SNARK,例如 Groth16)是無法被超越的。zkSNARK 的驗證是常數時間的,這對加密貨幣特別有用。這意味著,無論要證明的語句大小如何,驗證者檢查證明所必須完成的工作量都保持不變。
因此,zkSNARK 仍然是許多面向隱私的區塊鏈應用的首選工具。但是,這些系統的安全性很大程度上歸結為 CRS 生成的安全性。因此,在所謂的「設置儀式(setup ceremonies)」中安全地生成 CRS 的方法將繼續具有重要意義。當然,以受信任的集中式方式生成這些參數是可能的,但與去中心化的目標不兼容。到目前為止,zkSNARK 設置儀式中使用的首選技術是多方計算(MPC)。
MPC 方案試圖確保沒有任何一方能夠生成或能夠獲取關於 CRS 的底層數學結構的知識。其通過要求生成過程在儘可能多的獨立參與者之間共享來實現這一點,只有少數人(甚至是一個人)需要誠實行事,以確保設置安全。2015 年,Eli Ben-Sasson,Alessandro Chiesa,Matthew Green,Eran Tromer 和 Madars Virza 提出了一種改進的 MPC 結構,即使除了一個參與者之外的所有參與者都已腐化,它也都可以生成安全參數。Zcash 使用此方案為 ZCash 的第一個版本「 Sprout」生成 CRS。儘管有新穎性,但參加儀式卻很繁瑣,並且僅限於可以信任地正確執行儀式的專家。此外,由於參與程度有限,人們普遍認為所需的信任度仍然過高,並且與 zkSNARK 旨在確保安全的去中心化系統的理想相矛盾。
從那時起,設置儀式的目標一直是最大化可以參加該方案的誠實且獨立的參與者的數量。因為如果有很多獨立的參與者,那麼從直覺上講,所有人都不誠實的可能性將降低到可以忽略的程度。因此,技術創新的目標是擴大這些儀式的能力,以支持儘可能多的參與者。
上述較早方案的一個問題是必須預先知道參與者的數量。Sean Bowe,Ariel Gabizon 和 Ian Miers 在 2017 年的 MMORPG 論文中描述了 Groth16 設置的 MPC 儀式的一個變體,包括兩個階段。現在我們將第一個階段稱為「Powers of Tau」,它是所有給定大小以下的電路的通用設置。第二階段將 Powers of Tau 階段的輸出轉換為特定於關係的 CRS。在該方案中,協調器用於管理參與者之間的消息。這擴展了處理流程,從理論上使其能夠支持數百乃至數千名參與者。儘管存在協調器,但 MPC 的輸出仍可以被獨立驗證,從而保持了安全性。自從論文最初發表以來,Powers of Tau 儀式已成為行業標準。諸如 Filecoin,Ethereum (Semaphore)和 Zcash (「Sapling」)都使用它來為其系統生成 CRS。圖 1 (下圖)直觀地描繪了 Powers of Tau 儀式。
儘管它相對流行,但是 MMORPG 的缺點是設置仍然是一個串行過程。更具體地說,MPC 儀式的單個參與者一次只能參加一個。因為 CRS 與電路的大小成線性關係,所以單個的貢獻(contribution)可能會花費很長時間,因此,設置儀式不太可能吸引參與者。最近,以太坊基金會的 Justin Drake 提出了一種稱為「樂觀流水線」(optimistic pipelining)的方案。關鍵的洞察是,貢獻可以被同時應用於 CRS 的不同部分,從而使參與者能夠並行為 MMORPG 儀式貢獻。因此,參與者可以同時為給定的一輪做出貢獻,而不必等待輪到自己。我們將使用此方法的設置描述為「樂觀設置」(optimistic setups)。Celo 最近的設置儀式 Plumo 使用了該方案,Aleo 即將使用的設置儀式也使用了該方案。
除了純粹的去中心化和安全擔憂外,團隊越來越多地將這些儀式本身視為自己的產品。例如,Tornado.cash 運行了一個設置儀式,使用戶能夠直接從 Web 瀏覽器中進行貢獻,從而達到了創紀錄的 1114 名參與者。Tornado 設置的成功表明,與之前的儀式被認為是必要的罪惡相比,現代設置儀式將用戶體驗放在首位和居中地位,不僅鼓勵了更多的貢獻,而且本身可以視作產品。
這些儀式的操作變得更加簡化。原始的 MMORPG 方案使用中央「協調器」來管理參與者之間的消息,並對通信腳本進行裝配聚合。從歷史上看,此角色是手動執行的。但最近,各團隊紛紛對自動化這個過程進行投入(見 Celo 的 Plumo 儀式和 ESPERO)。這不僅從人力資源的角度來看使得強度降低,而且由於減少了出錯的可能性,也使儀式更加安全。有關樂觀設置工作模式的說明,請參見圖 2 (下圖)。
儘管許多人爭辯說生成 CRS 的要求是 zkSNARK 的關鍵缺陷,目前卻還不能忽視其比其他 ZKP 方案更好的效率優勢。這就是為什麼它們仍然是行業標準,也是為什麼如此眾多的團隊和研究人員將這些儀式發展和改進到今天的原因。由於提高了協議效率,改善了用戶體驗,並實現了任務(例如協調器)的自動化,現在比以往任何時候都更容易參加設置儀式,最近的儀式中的參與者人數也反映了這一點。最初的 Zcash 儀式只有六名參與者,而現代的儀式卻能提供多很多倍的支持。而且,由於確保 CRS 的安全只要求一個誠實的參與者,因此更多的參與者通常等於更高的安全性,因為每一個加入的獨立參與者都使得完全的共謀變得更不可想像。
的確,即使通過儀式生成了 CRS,安全性的聲明也不能數學化。但是,許多密碼系統都基於有些抽象的假設。例如,我們有信心認為 SHA-256 是抗碰撞哈希函數,因為還沒有人找到碰撞,而不是因為任何數學證明(事實上數學可以讓我們證明相反的結論:碰撞一定存在)。但是 SHA256 之所以被廣泛使用,是因為發生碰撞的幾率是如此之低,以至於沒必要考慮。
同樣,很難(讀作:不可能)試圖確定參加設置儀式的每個參與者誠實運行的平均機率,從而以數學方式證明生成的系統是安全的。但是,隨著參與者數量的增加,即使與廣泛使用的密碼方案以及與關於參與者的極為悲觀的假設相比,這些幾率也趨於逐漸減小。實際上,參與者的數量類似於安全參數,其在密碼學理論中用作可調整參數,為不同的值提供不同的「安全級別」。
使設置儀式更加高效的創新反映出 ZKP 研究的驚人步伐。方案變得越來越有效,使應用變得實用,並鼓勵進一步的創新和發展。這導致了類似摩爾定律的 ZKP 改進曲線。現在甚至有所謂的「透明」 zkSNARK (例如 Fractal 和 SuperSonic),消除了對可信設置的要求。儘管有這些創新,但是諸如 Groth16 之類的現有 zkSNARK 的高效率意味著它們可能會在未來幾年繼續應用。設置儀式可以為協作社區以及正在實現這些的項目提供機會。因此它們代表了一個值得擁抱的機會,而不是一個需要克服的必要罪惡。
參考
ZeroCash https://ieeexplore.ieee.org/document/6956581
Groth16 https://eprint.iacr.org/2016/260.pdf
Zcash 設置儀式 https://electriccoin.co/blog/the-design-of-the-ceremony/
Zcash 設置(Radiolab)
https://www.wnycstudios.org/podcasts/radiolab/articles/ceremony
針對 CRS 的原始 MPC 提案
http://www.ieee-security.org/TC/SP2015/papers-archived/6949a287.pdf
MPC 的第二項提案 https://eprint.iacr.org/2017/602.pdf
MMORPG https://eprint.iacr.org/2017/1050.pdf
樂觀流水線 https://ethresear.ch/t/accelerating-powers-of-tau-ceremonies-with-optimistic-pipelining/6870
來源連結:medium.com
免責聲明:作為區塊鏈信息平台,本站所發布文章僅代表作者個人觀點,與鏈聞 ChainNews 立場無關。文章內的信息、意見等均僅供參考,並非作為或被視為實際投資建議。