淺析3種ZK擴容方案:ZK-rollup、Validium和Volitions

原文:《 Volitions:在ZK-rollup和Validium之間做選擇的零知識證明方案

作者:Chloe

目前以太坊基於零知識證明的擴容方案是ZK-rollup,但其實還有另外兩種解決方案——Validium和Volitions。

本文簡單介紹以上3種基於零知識證明的擴容方案。

淺析3種ZK擴容方案:ZK-rollup、Validium和Volitions

ZK rollup

ZK-rollup的運作簡單來說是將多筆交易打包在一起,發佈到L1上,同時發布一個證明(用零知識證明技術)來聲稱這些交易有效,一旦在L1上驗證確實有效,那麼zk- rollup的狀態就會更新。

這套證明機制也被稱作「有效性證明」,目前ZK-rollup主要採用的證明機制是zkSNARK和zkSTARK。

尤其是zk-SNARK應用最為廣泛,而zk-SNARK則是它的改進版,目前使用者並不多。

zk-SNARK即zero-knowledge succinct non-interactive argument on knowledge(簡潔非交互式零知識證明),是一種文件很小且很容易驗證的加密證明,而簡潔jiu就在於非交互式。

傳統方案是交互式證明,即示證者和驗證者之間反复確認。你可以理解為示證者不斷向驗證者詢問“是或不是?”,然後驗證者不斷給出回答,直到最後碰出一個正確答案來,所以效率很低。

而SNARK的解決方案是提前先搞一個“可信初始化”,從而生成公共參考字符串(CRS),這樣所有的示證者直接訪問它就可以了。你可以理解為有一個標準答案,示證者就像批改試卷那樣去驗證。

但SNARK提前生成公共參考字符串提高了效率,但也留下了隱患——萬一公共參考字符串洩漏了呢?於是就催生出了STARK。

STARK是交互式證明,但它是一種巧妙的交互式證明——通過哈希函數碰撞(一種概率證明的方式)來保證安全性,因此也比較高效(但還是沒有SNARK高效)。

Validiums

ZK-rollup是將交易分批發送到L1上去執行,是一種無需信任的「自定義安全性」。

Validiums則是直接在鏈下執行,並通過零知識證明來維護數據,只有需要的時候才在主網上驗證取款請求的有效性證明。

所以Validiums可擴展性要高於ZK-rollup(目前最高的TPS可以達到20000以上),但它是把信任交給鏈外第三方的「弱信任擴容」,會被攻擊導致數據不可用或者用戶無法取出資金。

解決安全的方式是採用PoS機制,用經濟激勵來確保數據儲存在各個節點之中並且隨時可用。

目前採用Validiums方案的代表項目是Immutable X,以NFT為中心的擴展解決方案。

Vitalik認為Validiums其實被嚴重低估,因為大多數Dapp用Validiums就已經可以滿足運行需求了。

Volitions

StarkWare團隊結合ZK-rollup和validium,創造性地推出了Volitions方案,顧名思義是關於「決斷能力」。

Volitions方案本質上是同時提供ZK-rollup和validium這兩種服務,它們共享同一個狀態根(state root),用戶可以自行選擇每筆交易的DA模式。即便Validium那部分被攻破,ZK-rollup上的資金仍然安全。

用戶就可以在涉及重要資金往來時選擇ZK-rollup模式,共享以太坊的安全性,如果是日常娛樂、社交或者小額交易,自然選擇Validium模式來提高速度並節省成本。

結語

以太坊擴容戰爭還在剛開始,目前佔據優勢的是Optimistic rollups陣營,它們可以做到EVM兼容甚至完全等效,另外社區運營能力也非常強勁。

ZK-rollup落於下風很大程度上是因為一開始就要定制VM,這意味著來自EVM的代碼要從頭開始編寫(雖然難度已經越來越低了)。

不過長遠來看,相比於Optimistic rollups,ZK rollups具有內置的隱私和安全優勢,未來實現EVM兼容性,很可能勝過Optimistic rollups。

而且可以在ZK-rollup和validium之間做決斷的Volitions方案,也不失為一種兼顧了各種場景的解決方案。