以太坊因為PoW鏈在性能上的限制,在很早期就開始研究擴容方案。在L2的眾多案例裡,基於“證明”技術的兩類方案脫穎而出,其也被以太坊奉為主要的擴容方案。未來,即使PoS共識運行以及分片實現後,這些基於“證明”技術的擴容方案也會一直存在。
基於“證明”技術的解決方案,主要分為以欺詐證明、零知識證明的兩個方向,產生了Optimism、Arbtrium、zksync等應用此技術的方案。
而在整個區塊鏈領域裡,以太坊的“證明”技術都與rollup技術進行了融合,形成了optimistic rollup和zk rollup以及,而像Mina這樣完全應用零知識證明技術體系的區塊鏈,其更重視零知識證明本身的應用。
為什麼以太坊需要將證明和rollup同時實施,是因為以太坊本身存在L1,證明和rollup都是為擴容而用。在以太坊區塊恆定的情況下,擴容思路主要為減小交易字節大小和完成交易證明的驗證後打包。證明減小了交易字節大小,rollup則把交易數據打包到一起。以太坊上會有智能合約驗證rollup數據集的證明有效性。
這種情況下,以太坊L1是不需要更多的改造和變化的。
筆者提取瞭如下的一些信息,來理解這一思路。
首先是使用zk rollup的zkSync。
在zkSync 使用高峰期,其提現時間約為10分鐘。在較低使用期間,可能需要長達7 小時。目前,提款時間取決於zkSync 上的活動,因為這是一個完成區塊並將它們提交到L1 的過程,將塊提交到L1,是交易被確認後。
zkSync網絡的計算服務提供商是“Stichting ZK Sync”,在zkSync中,每筆交易的成本有兩個組成部分:
鏈下部分(存儲+ 證明者成本):狀態存儲和SNARK(零知識證明)生成的成本。這部分依賴於硬件資源的使用,因此是不變的。基準估計每次轉賬約為0.001 美元。
鏈上部分(gas 成本):對於每個zkSync區塊,驗證者必須支付以太坊gas 來驗證SNARK,另外每筆交易額外支付約0.4k gas 來發布狀態。鏈上部分是一個變量,取決於以太坊網絡中當前的gas 價格。但是,這部分比普通ETH/ERC20 轉賬的成本要便宜幾個數量級。
一旦zkSync塊的SNARK 證明生成並被智能合約接受, zkSync 中的交易就達到了以太坊的最終確定性。證明時間生成預計為10 分鐘左右,即提交後10 分鐘,zkSync(證明)交易與包含在同一個以太坊區塊中的任何L1 以太坊交易與有證明的交易一樣是最終的。
當用戶發送交易時,需要等待塊被填充,不會立即生成證明。隨著zkSync 系統的更高吞吐量,塊之間的時間將會減少。
而相比之下,基於欺詐證明的擴展解決方案(例如樂觀匯總)需要至少1週的鎖定期才能或多或少地安全運行,這會導致1週的最終確定時間。
這個過程表現了證明和匯總的關係。也表現了當使用證明後,也帶來了一些其他問題,比如樂觀匯總中的鎖定期和挑戰期。當用戶像optimism的主網轉移資產的時候,資產可以很快生成,而當從optimism像以太坊L1轉移資產(就像rollup數據像L1提交一樣)時,因為欺詐證明的原則要等待數據在一定時間內沒有驗證者認為證明數據有問題的過程,因此會出現鎖定期和挑戰期。就帶來了提現到賬的等待問題(也就是塊確認問題)。
而證明同時帶來的其他問題還會集中在證明數據在L1層的可用性。例如代表的就是EVM的兼容性,智能合約的普遍適用。
所以Vitalik才會認為樂觀匯總會比zk rollup在EVM上的進展更快更具優勢,其原因是在於欺詐證明本身和零知識證明間的區別。
所以應用零知識證明技術,在技術上完成突破似乎要改變更多的系統設計,例如Mina。
其在共識層、節點層、驗證者層都與以太坊有明顯不同。其最主要的特點是把整個區塊鏈的存儲大小保持在22字節,這是零知識證明的作用,將原本幾百GB的數據以證明替代。其原理在於,不保存數據,而只保存數據變動的“快照”證明,然後基於數學邏輯推理出數據的有效性。其比較明顯的解釋是,只給大象拍照,而不保存大象本身。無論區塊鏈如何增加交易狀態,都是一張照片的大小。
但Mina還是存在存儲數據的歸檔節點以及承擔證明計算的節點,並且因為區塊鏈過輕,當運行一些計算的時候,會使用很多鏈下的計算和存儲。這也是為了使用零知識證明技術的優勢而帶來的一定選擇。
這可能也意味著Mina這樣的區塊鏈,其應用方向很大程度會局限在一個簡單的電子支付系統或代幣交易系統。
綜上,當區塊鏈使用了證明之後,我們主要看到的是證明在幫助L1擴容,但如果用零知識證明技術全面改造區塊鏈,似乎其應用的周期還需要更長遠一些。