目前以太坊基於零知識證明的擴容方案是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 高效)。
驗證
ZK-rollup 是將交易分批發送到L1 上去執行,是一種無需信任的「自定義安全性」。
Validiums 則是直接在鏈下執行,並通過零知識證明來維護數據,只有需要的時候才在主網上驗證取款請求的有效性證明。
所以Validiums 可擴展性要高於ZK-rollup(目前最高的TPS 可以達到20000 以上),但它是把信任交給鏈外第三方的「弱信任擴容」,會被攻擊導致數據不可用或者用戶無法取出資金。
解決安全的方式是採用PoS 機制,用經濟激勵來確保數據儲存在各個節點之中並且隨時可用。
目前採用Validiums 方案的代表項目是Immutable X,以NFT 為中心的擴展解決方案。
Vitalik 認為Validiums 其實被嚴重低估,因為大多數Dapp 用Validiums 就已經可以滿足運行需求了。
意志
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 方案,也不失為一種兼顧了各種場景的解決方案。