全面比較:什么是 zk-SNARKs 和 zk-STARKs?

發表於 2024-11-06 12:17 作者: 金色精選

來源:鏈登社區

什么是 zk-SNARKs 和 zk-STARKs?它們都是零知識證明,但它們的特性是什么,彼此之間如何比較。

零知識證明(ZKP)是加密協議,允許一方(證明者)在不透露任何超出聲明本身有效性的信息的情況下,使另一方(驗證者)相信某個聲明是真實的。ZKP 是區塊鏈生態系統的革命性技術,能夠通過二層解決方案實現區塊鏈的可擴展性,並構建隱私保護應用程序。兩種最突出的 ZKP 類型是 zk-SNARKs 和 zk-STARKs,它們各自具有不同的特性和用例。

在本文中,我們將討論 zk-SNARKs 和 zk-STARKs,它們的關鍵特性,以及它們之間的比較。

前提條件

理解 ZKPs: 你需要知道電路、約束、見證、驗證者和證明者是什么。

什么是 zk-SNARK(簡潔非交互知識論證)

Zk-SNARKs 是一類廣泛的 ZKP 系統,它們是非交互的,這意味着在初始證明生成後,證明者和驗證者之間沒有來回通信。它們以高效著稱,提供短小的證明大小和快速的驗證時間,無論復雜性如何,這些都保持不變。

zk-SNARKs 的關鍵特性

  • 可信設置:SNARKs 需要一個可信的設置階段,其中生成一組初始參數,通常稱爲結構化參考字符串(SRS)。這個設置階段使用一個祕密,如果暴露,將會破壞所有使用該設置創建的後續證明的安全性。這個設置數據通常被稱爲“有毒廢物”。可信設置通常被視爲一個缺點,因爲它們引入了潛在的信任問題:用戶必須相信設置是正確執行的,並且祕密在之後被銷毀。

  • 橢圓曲线加密(ECC):許多 SNARK 構造依賴於橢圓曲线加密,這取決於離散對數問題(DLP)的難度。雖然這對經典計算機提供了強大的安全性,但它使 SNARKs 可能容易受到未來量子計算機的攻擊,因爲量子計算機可以高效地解決 DLP。

流行的 zk-SNARK 協議

  • Groth16:Groth16 是最廣泛使用的 SNARK 協議之一。它需要特定電路的可信設置,並且非常高效,生成非常小的證明和快速的驗證時間。由於其緊湊的證明大小,它通常用於區塊鏈項目,如 Zcash。

  • PLONK(基於拉格朗日基的普世非交互知識論證的置換論證):PLONK 是一個更靈活的 SNARK 協議,使用通用和可更新的 SRS,這意味着它可以用於任何電路,並且可以修改以支持更大的電路。與 Groth16 不同,PLONK 的設置不是特定於任何特定電路的,可以重復使用多個電路。這減少了重復可信設置的需求,並且可以更容易地添加新程序或電路而無需重新進行整個設置。

zk-SNARKs 的特性

  • 證明大小:小,這使得 SNARKs 適用於帶寬和存儲有限的應用。

  • 後量子安全性:有限,由於依賴於 ECC。SNARKs 不是量子抗性的,因爲足夠強大的量子計算機可能會解決 DLP。

  • 可信設置:這是必需的( 在大多數 SNARKs 中 )。設置階段引入了一個信任假設,如果管理不當,可能會帶來潛在的安全風險。

  • 可擴展性:對於需要緊湊證明和快速驗證的應用程序非常高效,盡管需要可信設置在高度動態的環境中可能是一個限制。

什么是 zk-STARK(可擴展透明知識論證)

Zk-STARKs 是另一類 ZKP,旨在解決 zk-SNARKs 的缺點。它們被設計爲可擴展和“透明”的,這意味着它們不需要可信的設置階段。相反,zk-STARKs 使用哈希函數和公开已知的隨機性來構建證明,從而增強了它們的安全性和可擴展性。

zk-STARKs 的關鍵特性

  • 透明設置:STARKs 不依賴於祕密參數。相反,它們的證明是使用公开隨機性生成的,這意味着它們沒有可能破壞系統的“有毒廢物”,並且不需要可信設置。

  • 基於哈希的安全性:STARKs 依賴於哈希函數 ,如 SHA-256,而不是橢圓曲线加密。這使得它們對量子攻擊具有抵抗力,因爲在當前的加密假設下,哈希函數被認爲在量子計算機面前是安全的。

STARKs 的特性

  • 證明大小:STARK 證明可能比 SNARK 證明大幾倍,這增加了驗證時間,並且在帶寬或存儲有限的環境中是一個缺點。這是由於它們的透明性、使用多項式承諾以及實現可擴展性的方法。

  • 後量子安全性:強。由於 STARKs 使用哈希函數而不是橢圓曲线加密,它們在當前的加密假設下不易受到量子攻擊。

  • 可信設置:不需要。STARKs 使用透明設置,消除了設置階段的信任需求,增強了安全性。

  • 可擴展性:高度可擴展,特別是對於大型計算,它們在復雜性增加時表現出更明顯的性能優勢。由於不需要可信設置,它們更加靈活,因爲設置不需要爲每個新應用或用例重新進行。

zk-SNARKs 與 zk-STARKs 的比較


總結

Zk-SNARKs 是零知識證明系統。它們提供高效的證明大小和快速的驗證時間,但需要可信設置,並使用橢圓曲线加密,使其易受量子攻擊。

Zk-STARKs 則不需要可信設置。相反,它們依賴於哈希函數進行安全性(使其具有量子抗性),並且對於大型計算更具可擴展性。然而,它們的證明大小較大,對於較小的計算驗證速度較慢。

這兩種主要的 ZKP 對於在區塊鏈生態系統中構建 ZK 協議至關重要,能夠通過二層解決方案實現區塊鏈的可擴展性,並構建隱私保護應用程序。

標題:全面比較:什么是 zk-SNARKs 和 zk-STARKs?

地址:https://www.coinsdeep.com/article/177414.html

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

你可能還喜歡
熱門資訊