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

Hill.bit
2023-05-17 10:17:34
收藏
在零知識證明系統中,有三個實體參與:設定者、證明者和驗證者。

作者:Hill.bit

編譯:深潮 TechFlow

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

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

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

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

線性 PCPs + 僅線性編碼:

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

  • 提供強零知識屬性;

  • 生成最短的證明;

  • 需要受信任的設置;

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

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

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

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

  • 利用代數結構;

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

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

  • 允許定制電路;

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

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

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

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

  • 更好地利用代數結構;

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

  • 壓縮多項式表示;

  • 批處理驗證技術。

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

  • 更複雜的設計和實現;

  • 特定目的的加密假設;

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

折疊方案:

  • 允許遞歸證明組合;

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

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

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

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

  • 遞歸證明組合;

  • 證明聚合;

  • 改進的可擴展性;

  • 更快的驗證時間。

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

  • 更複雜的設計和實現;

  • 定制化的加密假設;

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

  • 適用性可能因用例而異。

總之,線性 PCPs + 僅線性編碼提供強大的零知識屬性和最短的證明長度,但它們需要受信任的設置,並且與其他類別相比在效率上具有局限性。多項式 IOPs + 多項式承諾方案通過更高效的證明生成和驗證過程,在效率上比線性 PCPs + 僅線性編碼有顯著改進,但設計和實現可能更為複雜。

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

鏈捕手ChainCatcher提醒,請廣大讀者理性看待區塊鏈,切實提高風險意識,警惕各類虛擬代幣發行與炒作,站內所有內容僅係市場信息或相關方觀點,不構成任何形式投資建議。如發現站內內容含敏感信息,可點擊“舉報”,我們會及時處理。
ChainCatcher 與創新者共建Web3世界