撰寫:Haotian
近期,@zksync 完成了Boojum 升級,也正是基於此前提,zkSync 才抗住了SYNC 銘文行動的壓力測試。不過, Boojum 卻被市場低估了。
Boojum 到底帶來了哪些效能提升?被詬病的DeFi 穩定問題能解決嗎?接下來,談談我的理解:
1)Boojum 升級,簡單理解,會讓zkSync 完成SNARK 向STARK 證明的過渡。工作流程大致如下:
當一個Batch 封裝完成後,這些交易會被分解成多個特定電路,然後並行高速處理以產生大量STARKs,最後被聚合成一個STARK 證明。最後再把該STARK 證明封裝成一個SNARK 證明中,並提交到主網進行驗證。
這樣混合使用STARK 和SNARK,既確保了能高效處理大量交易,同時又降低了提交到主網的資料大小(SNARK 較簡潔),與主網更加相容。
而同時採用兩項證明方式,意味著其Prover 系統的高階壓縮技術、硬體加速技術、演算法最佳化、批次處理聚合效率、記憶體和儲存優化等都會有重大效能提升;
2)根據@0xtaetaehoho推文中的闡述,Boojum 更新前平均每筆交易數據量為211bytes,而升級後可以減少到大約68bytes,壓縮技術的提升會直接大幅提升layer2 每筆Batch 的交易量,進而使得TPS大幅提升(450 左右),同時單筆交易均攤的Gas 成本降低(65% 左右)。
原理不難理解,layer2 向主網calldata 提交狀態證明數據,由於主網存儲數據有限,layer2 的STARK 並行處理能力和SNARK 證明壓縮處理技術決定了單次Batch 可處理的交易量以及Gas 水平;
3)而之前ZK-Rollup 在處理較低頻DeFi 交易時有不穩定性問題,它的原生傾向性不利於DeFi 穩定。例如DeFi 多變的價格需要多個Oracle 餵價,如果兩筆交易沒有被Batch 到同一個狀態下,產生的交易磨損就會增加。
現在layer2 單筆Batch 的交易量大幅提升了,區塊內可容納更多的Oracle 資料狀態更新。 DeFi 穩定性問題也會有效解決。
恰如zkSync 官方@anthonykrose所言,無論一個區塊內包含多少個預言機更新,整個區塊狀態可以被作為一個整體來處理和記錄,且只需要支付一次狀態寫入的成本。這對於DeFi 應用在ZK-Rollup 鏈上的低費率、高效率和穩定性都大有裨益。
照理說,Boojum 的升級應該算zkSync 里程碑式的進步。
一方面驗證了ZK 系統交易量級越大,Gas 費越低體驗越好的推論,另一方面也證明了鏈下Prover 系統的壓縮技術、硬體加速等運算資源的高效應用和效能提升,會給ZK 系統帶來無窮的想像空間。
大家都在期待坎昆升級後以太坊主網Blob 區塊容量能降低layer2 Batch 交易的成本,而今ZK 系統自身的技術優化已經把ZK 系Rollup 和OP 系Rollup 拉到了同一條水平線。
關鍵是,ZK-Rollup 要比OP-Rollup「主動」多了。一直敘事的ZK-Rollup 技術優勢,在Boojum 升級後得到了充分證明。
Reference:關於ZK 硬體加速、算力優化等內容相對抽象,具體可參考以下研究:
ZKP(零知识证明)硬件加速赛道 2 万字研究报告:ZK Rollup 的速度密码?全景式拆解其发展背景、算力需求、硬件策略、市场现状与未来潜力