作者:Chloe
目前以太坊基於零知識證明的擴容方案是ZK-rollup,但其實還有另外兩種解決方案——Validium和Volitions。
本文簡單介紹以上3種基於零知識證明的擴容方案。
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方案,也不失為一種兼顧了各種場景的解決方案。