一文比較不同證明方案:理解ZK證明系統的優缺點

原文作者:Hill.bit

零知識證明的概念大家耳熟能詳,但具體到技術細節可能很多人都一頭霧水。

零知識和證明實際上是 2 個名詞,證明方案是零知識協議安全假設的基本組成部分。在本文中Hill.bit 將通過解釋多種不同的證明方案以及它們的優缺點,來幫助更多人理解ZK 證明系統。

在零知識證明系統中,有三個實體參與:設置者、證明者和驗證者。不同的證明方案會以各種方式影響它們的行為,從而影響效率、安全性和整個系統的性能。

設置者階段生成ZK 系統所需的必要參數和公鑰。證明方案會影響設置者階段的複雜度、計算、通信以及它是受信任的還是無需信任的。證明者生成一個證明,證明其掌握了一個秘密輸入的信息,而無需透露該信息。證明方案影響證明者的計算時間、內存需求和證明大小,從而影響通信和存儲需求。驗證者檢查證明的有效性。證明方案會影響驗證時間、內存需求以及向證明請求的數量和復雜度。這裡有三種不同類型的證明方案。

線性PCPs + 僅線性編碼:

利用線性概率可檢驗證明(PCPs)和線性運算;

提供強零知識屬性;

生成最短的證明;

需要受信任的設置;

以前的改進主要集中在減少證明者時間上。

線性PCPs 是一種證明系統,其中驗證者通過查詢少量證明來檢查語句的有效性。術語“線性”指驗證者的查詢是證明的線性函數。

僅線性編碼是一種加密技術,用於隱藏信息,僅允許對隱藏數據進行線性操作。這可以確保數據隱私同時使某些計算得以執行。

多項式IOPs + 多項式承諾方案:

利用代數結構;

通常比基於線性PCP 的系統更高效;

支持通用/不受信任的設置;

允許定制電路;

以前的改進主要集中在提高驗證者效率上。

多項式交互式預言機證明(IOPs)是一種證明系統,其中證明者和驗證者在多個回合中交換消息。證明者生成預言(對多項式的承諾)並將其提供給驗證者。

驗證者在特定點查詢預言機,而證明者以相應的多項式評估響應。多項式方案承諾多項式而不透露有關多項式本身的信息。

與線性PCPs + 僅線性編碼相比的效率提高來自於:

更好地利用代數結構;

更高效的證明生成/驗證;

壓縮多項式表示;

批處理驗證技術

然而,多項式IOPs + 多項式承諾方案存在以下缺點:

更複雜的設計和實現;

特定目的的加密假設;

不同的性能權衡,例如可並行性。

折迭方案:

允許遞歸證明組合;

實現嵌套證明以提高效率和可擴展性;

快速且易於並行化的證明者;

之前的改進主要集中在構建遞歸SNARKs 上。

遞歸證明組合可以降低驗證者的計算和內存需求,這在像區塊鏈這樣的應用中特別有用。證明聚合可以減小最終證明的大小和驗證時間,但生成這樣的證明可能對證明者的計算要求更高。與多項式IOPs + 多項式承諾方案相比,折迭方案的效率提高來自於:

遞歸證明組合;

證明聚合;

改進的可擴展性;

更快的驗證時間。

折迭方案的潛在缺點包括:

更複雜的設計和實現;

定制化的加密假設;

增加證明者的計算時間和內存開銷;

適用性可能因用例而異。

總之,線性PCPs + 僅線性編碼提供強大的零知識屬性和最短的證明長度,但它們需要受信任的設置,並且與其他類別相比在效率上具有局限性。

多項式IOPs + 多項式承諾方案通過更高效的證明生成和驗證過程,在效率上比線性PCPs + 僅線性編碼有顯著改進,但設計和實現可能更為複雜。

折迭方案在效率和可伸縮性方面表現出色,得益於遞歸證明組合,這在區塊鏈應用中尤其有用。但是,證明者的計算時間和內存開銷可能會增加,並且其適用性可能因使用情況而異。

Total
0
Shares
Related Posts