理解zk-SNARKs 和zk-STARKS 的區別

SNARK 和STARK 是零知識證明技術,允許一方在不透露任何進一步信息的情況下向另一方證明陳述是真實的。

零知識證明(ZKP) 引起了廣泛關注,因其在增強安全性、保護用戶隱私和支持第2 層網絡擴展方面都有很大的潛力。

ZKP 使一方能夠向另一方證明聲明是真實的,而無需透露任何其他信息。 ZKP 既有利於增加隱私——因為它們減少了各方之間共享的信息量——也有利於可擴展性,因為它只需要證明而非整個數據集被驗證,這樣驗證速度會更快。

兩個最受關注的零知識證明系統是SNARK 和STARK。在本文中,我們將深入探討它們是什麼、它們如何工作以及它們的主要區別。

SNARK 是什麼?

zk-SNARK 全稱Zero-Knowledge Succinct Non-interractive Argument of Knowledge(零知識簡潔非交互式知識論證)——它們是在2012 年由Nir Bitansky、Ran Canetti、Alessandro Chiesa 和Eran Tromer 合著的一篇論文中介紹的。 SNARK 使一方能夠在不洩露秘密的情況下向另一方證明他們知道秘密。

zk-SNARKs 可以作為零知識證明協議添加到分佈式賬本解決方案中,以增強隱私性和可擴展性。 Zcash 是zk-SNARKs 的第一個廣泛應用,應用該技術來創建屏蔽交易(shielded transaction),其中發送者、接收者和金額都是保密的。 Zcash 中的屏蔽交易可以在區塊鏈上完全加密,但仍然可以通過使用zk-SNARKs 在網絡的共識規則下驗證為有效。

一些SNARK 的一個重要屬性是它們要求配置過程是可信任的——在這個過程中,隱私交易的證明和生成證明的密鑰會被創建。如果在事件期間用於創建這個密鑰的秘密沒有被銷毀,它們可能被用來創建虛假證明。在涉及加密資產的場景中,這將使參與者能夠偽造交易或憑空鑄造新通證。由於SNARKs 固有的隱私性,所以無法驗證偽造的證明是否確實是偽造的。

SNARK 的安全級別是通過為找到虛假陳述的證據而必須完成的工作量來衡量的。換句話說,如果SNARK 在計算上無法產生令人信服的虛假陳述證明,那麼它就是安全的。對於需要可信設置才能被認為是安全的SNARK,儀式中至少有一名參與者必須生成並銷毀一個trapdoor,如果與其他trapdoor 結合使用的話,否則就有可能危及SNARK 的安全性。因此,受信任的設置通常需要許多參與者一起運行,以使這種情況發生的可能性足夠低。

雖然可信設置僅在最初需要且僅適用於某些SNARK,但基於SNARK 的網絡的用戶必須相信可信設置的儀式(ceremony)已正確執行,並且秘密已被銷毀並且不被創建事件的參與者持有。對這種儀式的依賴一直是一些SNARK 的備受批評的領域,認為它是潛在的安全弱點。

一些SNARK 的另一個限制是它們不被認為是抗量子的。 SNARK 的支持者認為,如果量子計算機開始對SNARK 構成威脅,密碼學領域將面臨更大的問題。此外,一些SNARK 可能會在未來升級為抗量子的。

STARK 是什麼?

zk-STARK 全稱Zero-Knowledge Scalable Transparent Argument of Knowledge(零知識可擴展透明知識論證),是一種零知識證明系統,在Eli Ben-Sasson、Iddo Bentov、Yinon Horesh 和Michael Riabzev 於2018 年發表的一篇論文中作為SNARK 的替代方案被引入。正如論文中所述,STARK(更廣泛地說,ZKP)可以為社會帶來很大的好處:

“人們的個人信息,例如醫療和法醫數據需要保持私有,這是一種人的尊嚴。但是,旨在保護隱私的面具也可能被委託數據的機構濫用以掩蓋謊言和欺騙,從而不公正地傷害公民並削弱對中央機構的信任。零知識(ZK) 證明系統是一種巧妙的加密解決方案,可以解決個人隱私和機構完整性之間的緊張關係,可以在不損害前者的情況下加強後者。”

STARK 支持StarkWare 的可擴展性技術。通過使開發人員能夠在鏈下進行存儲和計算,STARK 提高了可擴展性,因為驗證鏈下計算準確性的STARK 證明可以由鏈下服務生成,然後發佈在鏈上。

STARK 允許區塊鏈將計算轉移到某個鏈下STARK 證明者,然後使用鏈上STARK 驗證者驗證這些計算的完整性。 Layer-2 網絡可以通過使用STARKs 在單個批次中計算大量交易,然後使用單個STARK 證明來確認交易在鏈上的有效性,從而實現可擴展性。批次中的所有交易均分擔鏈上操作的成本,為第2 層網絡上的每筆交易提供低gas 成本。

重要的是,由於驗證者使用的隨機性是公開可用的,並且可以在不依賴任何外部參數的情況下驗證證明,因此STARK 不需要可信設置儀式。

對比SNARKs 和STARKs

SNARKs 和STARKs 都有各自的優勢,兩者之間的選擇取決於用戶的具體用例需求。同樣重要的是要注意,SNARK 和STARK 都是正在積極研究的尖端零知識證明技術,因此對它們進行比較還需要考慮該領域的持續進步和發現。

支持者認為SNARK 更高效、更快速,因為它們可以在幾毫秒內得到驗證。然而,這種效率是有代價的,因為一些SNARK 依賴的可信設置儀式,有安全薄弱的環節。這意味著證明中使用的初始參數必須在安全環境中生成,參數的任何洩露都可能導致安全漏洞。

STARKs 不需要可信設置,從而提供更強的安全性,但可能需要更長的時間來驗證,因此被認為效率較低。 STARK 的證明數據的大小比SNARK 的大,這意味著驗證STARK 可能比SNARK 花費更多的時間並且消耗更多的gas。另一方面,由於可以在不依賴任何外部參數的情況下驗證STARKs 的證明,因此STARKs 比SNARKs 更容易審計,儘管這可能取決於具體的實施方式。與大多數SNARK 不同,STARK 依賴於被認為是抗量子的哈希函數。

SNARK 最初比STARK 被更廣泛採用的原因有幾個,儘管其中一些具有與可信設置儀式相關的潛在安全缺陷。 SNARK 比STARK 早六年開發,這有助於它們在採用方面領先一步。

零知識證明帶來可擴展性的指數級增長

零知識證明是區塊鏈生態系統的基礎技術,有助於提升可擴展性,同時有助於保護個人隱私和機構的完整性。 zk-SNARKS 和zk-STARKS 處於這場革命的最前沿,它們都旨在解鎖以前公鏈中無法實現的用例,激勵創新並幫助創造更高效的全球經濟。

Total
0
Shares
Related Posts