為了方便大家閱讀,可預覽目錄
Part 1:什麼是ZK-STARK?
Part 2:ZK-STARKs與ZK-SNARKs
Part 3:ZK-STARKs有什麼好處?
Part 4:ZK-STARKs有哪些缺點?
Part 5:什麼是遞歸ZK-SNARK?
Part 6:遞歸ZK-SNARK 與常規ZK-SNARK 有何不同?

在之前的零知識證明系列文章中,我們詳細介紹了ZK-SNARKs技術及其使用優缺點,本期內容我們將繼續介紹另外兩種零知識證明類型ZK-STARK和遞歸ZK-SNARK?

什麼是ZK-STARK?

ZK-STARK 是Zero-Knowledge Scalable Transparent Argument of Knowledge 的縮寫。就像ZK-SNARKs 一樣,ZK-STARKs 表示一個聲明是有效的,而不透露任何關於聲明本身的信息。

除了一些差異外,STARK 與SNARK 具有相同的屬性。關於SNARK的文章可參考往期(超鏈接)。基於STARK 的有效性證明是使用一條對驗證者隱藏的信息生成的。 STARK 還可以在不洩露輸入的情況下驗證交易的正確性。

ZK-STARKs 與ZK-SNARKs

ZK-STARKs 的主要區別在於它們的可擴展性和透明性:

ZK-STARK 被認為是透明的,因為它可以在沒有公共參考字符串(CRS: Common Reference String ) 的可信設置的情況下工作。相反,STARK 協議使用可公開驗證的隨機性來建立證明者和驗證者之間的交互。

ZK-STARK 是可擴展的,因為證明和驗證複雜性規模與計算複雜性呈擬線性關係使用ZK-SNARKs,證明和驗證的複雜性規模與底層計算呈線性關係。

這僅僅意味著當我們需要驗證的計算量更大時,ZK-SNARK 協議需要比ZK-STARKs 更多的時間來生成和驗證證明。這就是為什麼STARKs 更適合處理大量交易的應用程序。

ZK-STARKs 有什麼好處?

使用ZK-STARKs 有四個主要好處:不需要可信設置,它們是可擴展的,它們為用戶提供最大的吞吐量,並且它們有高安全性保證。

1. 無需可信設置

ZK-STARK 不需要可信設置即可運行,而是依賴於公共隨機性。這減少了用戶的信任假設並提高了基於STARK 的協議的安全性。

2.可擴展的屬性

與SNARK 相比,STARK 的計算和驗證速度更快。更重要的是,即使底層計算的複雜性呈指數級增長,ZK-STARKs 的證明和驗證時間仍然很短。

3.最大吞吐量

與SNARKs 一樣,STARKs 可以通過啟用安全且可驗證的鏈下計算來擴展區塊鏈。提交到L1 鏈的單個STARK 證明可以驗證在主鏈外進行的數千筆交易。因此,幾個備受矚目的ZK rollup 項目使用ZK-SNARKs 來證明鏈下計算的完整性。

4.更高的安全保障

ZK-STARKs 使用抗碰撞哈希(collision-resistant hashes)進行加密,而不是ZK-SNARKs 中使用的橢圓曲線方案(elliptic curve schemes )。這被認為可以抵抗量子計算攻擊,使其比SNARK 中使用的橢圓曲線更安全。

ZK-STARK 的缺點是什麼?

使用ZK-STARKs 的兩個主要缺點是它們使用更大的證明大小,並且在區塊鏈空間中採用該技術的較少。

1. 更大的證明尺寸

雖然STARKs 提供了更快的證明,但缺點是這些證明與基於SNARK 的證明相比更大。這使得STARK 證明在以太坊上的驗證成本更高,因為計算更大的證明會產生更高的gas 費用。

2.採用率較低

SNARKs 是零知識技術在區塊鏈中的第一個實際應用,這就是為什麼它們比STARKs 擁有更多的市場份額。大多數ZK rollups 使用ZK-SNARKs,基於SNARK 的ZK 證明的開發者生態系統和工具更大。

儘管ZK-STARKs 也有知名的支持者,包括以太坊基金會,但他們的採用率較低。因此,開發人員可能會發現使用STARKs 構建ZK 項目的支持和工具較少。

哪些項目使用ZK-STARKs?

StarkNet

作為以太坊上的L2 網絡運行的通用ZK rollup。 StarkNet 允許去中心化應用程序(dApps) 實現無限的可擴展性,而不會損害以太坊的去中心化和安全性。

dYdX

基於以太坊的ZK rollup 項目(兼作去中心化交易所)為加密貨幣用戶和交易者提供快速且低成本的交易、借貸。 dYdX 使用STARK 證明作為其安全機制的一部分,保證用戶的資金安全。

Polygon Miden

具有EVM 兼容性的基於STARK 的ZK rollup。雖然仍在生產中,但Polygon Miden 將成為第一個與EVM 兼容的ZK-STARK 協議,並允許開發人員遷移以太坊原生dApp 以享受L2 網絡上的可擴展性。

什麼是遞歸ZK-SNARK?

遞歸SNARK ( Recursive SNARK )系統為不同的交易區塊並行生成證明,並將它們聚合成一個提交到主區塊鏈的單個區塊證明,這意味著一個SNARK 可以驗證其他SNARK。

L2 匯總仍然在以太坊上提交一份有效性證明。然而,這種“遞歸證明”會驗證多個L2 區塊中的交易,一旦鏈上合約接受提交的證明,所有交易都會生效。

遞歸ZK-SNARKs 解決了什麼問題?

遞歸ZK- snarks通過將多個L2證明包含在提交給L1鏈的單個證明中,極大地增加了可以用ZK證明完成的交易數量,這目前受到以太坊12-14秒出塊時間的限制。

區塊時間是指在以太坊上挖掘一個新的交易區塊需要多長時間。 ZK rollups 每個區塊只能提交一筆鏈上交易(以及相應的有效性證明),限制了它們可以處理的交易數量。

遞歸ZK-SNARK 與常規ZK-SNARK 有何不同?

遞歸ZK-SNARK 不同於普通的ZK-SNARK,因為遞歸ZK-SNARK 可以通過將為不同L2 塊生成的SNARK 組合成一個提交給L1 鏈的有效性證明來驗證多個交易塊。

ZK rollups 在發佈到主區塊鏈之前為每批交易創建一個SNARK 證明,並且單個SNARK 證明只能驗證在L2 rollup 上進行的一個交易塊。

ZK-SNARKs 可以在不使用原始輸入的情況下驗證已被常規ZK-SNARKs 驗證過的交易。因此,鏈上智能合約可以驗證更大的鏈下計算集,而無需運行多個SNARK 作為輸入。

零知識證明已經從隱私保護技術發展成為下一個擴展技術的前沿。隨著ZK rollup的爆發,可以肯定地說,ZK-SNARKs, ZK- stark和遞歸SNARKs將在擴展以太坊的驅動中發揮重要作用。

原文指路

https://www.alchemy.com/overviews/snarks-vs-starks