為什麼 Blob 空間未被高效使用的 Rollup 陷入了發展困境?
如何理解@VitalikButerin 新文對以太坊的擴容思考?有人說 Vitalik 給 Blob 銘文喊單,離大譜。
那麼 Blob 數據包如何工作?坎昆升級後 Blob 空間為啥得不到高效利用?DAS 數據可用性採樣是為分片做準備?
在我看來,坎昆升級後性能夠用了,Vitalik 是對 Rollup 發展憂心忡忡。Why?接下來,我來談談我的理解:
1)之前多次解釋過,Blob 是和 EVM calldata 脱鈎的一個直接可被共識層調取的臨時數據包,直接好處是,EVM 在執行交易時可以不訪問 Blob 數據,因此產生不了較高的執行層計算費用。
目前平衡一系列因素,1 個 Blob 大小為 128k,一筆 Batch 給主網的交易最多攜帶兩個 Blob,理想情況下,一個主網區塊最終目標是承載 16MB 大約 128 個 Blob 數據包。
因此 Rollup 項目方要儘可能平衡 Blob 區塊數量、TPS 交易容量、Blob 主網節點存儲成本等因素,目標以最優性價比使用 Blob 空間。
以 @Optimism 為例,目前一天大約 50 萬筆交易,平均每 2 分鐘 Batch 一次交易到主網,一次攜帶 1 個 Blob 數據包。為啥帶 1 個,因為 TPS 就這麼多用不到,當然也可以攜帶兩個,那每個 Blob 的容量都不會滿,卻額外增加了存儲費用,沒必要。
當隨着 Rollup 鏈下交易量的提升,比如每天要處理 5000 萬筆交易怎麼辦呢?1、Compress 壓縮每筆 Batch 的交易量,儘可能讓 Blob 空間內容量大量的交易;2、增加 Blob 數量;3、縮短 Batch 交易的頻次;
2)由於主網區塊承載數據量受 Gas Limit 以及存儲成本的影響,1 個區塊 128 個 Blob 是理想狀態,目前用不到那麼多,Optimism 每 2 分鐘才用 1 個,留給 layer2 項目方提升 TPS,擴大市場用戶量和生態繁榮度的空間還有很大很大。
因此,坎昆升級後一段時間內,Rollup 在使用 Blob 的數量、頻次以及 Blob 空間競價使用等方面並不「卷」。
之所以 Vitalik 提 Blobscription 銘文是因為,這類打銘文能短暫增加交易量導致 Blob 使用需求增加,因此會擴大體積,用銘文做例子可以更深刻理解 Blob 的工作機制,Vitalik 真正想表達的內容和銘文並沒有太大關係。
因為理論情況下,若有 layer2 項目方高頻次且高容量向主網 Batch 交易,且每次把 Blob 區塊拉滿,只要它願意承擔高額的偽造交易 Batch 成本就會影響其他 layer2 對 Blob 的正常使用,但目前情況下,就像有人買算力對 BTC 進行 51% 硬分叉攻擊一樣,理論上可行,但實際缺乏利益動機。
因此二層使用 Gas 費用會在「較低」區間穩定很長一段時間,這會給 layer2 市場長時間的「增兵屯糧」黃金髮展窗口。
3)那麼,假使有一天 layer2 市場繁榮到一定程度,每天 Batch 到主網的交易成巨量,目前 Blob 數據包不夠用怎麼辦?以太坊早已給出了解決方案:採用數據可用性抽樣技術(DAS):
簡單理解,就是把原先需要一個節點存儲的數據可以同時分佈在多個節點內,比如,每個節點存儲全部 Blob 數據的 1/8,8 個節點組成一個小組來滿足 DA 能力,相當於把目前的 Blob 存儲容量又擴大了 8 倍。這其實也是未來 Sharding 分片階段要做的事情。
但目前 Vitalik 多次來重申這個,饒有韻味,似乎在告誡廣大 layer2 項目方:不要總抱怨以太坊 DA 能力貴,以你們現在 TPS 容量都沒把 Blob 數據包的能力開發到極致,趕緊加大火力搞生態,擴大用戶和交易量吧,別總想着 DA 出逃搞一鍵發鏈的花活。
後邊,Vitalik 又補充了一句,認為目前核心 rollup 中,只有 Arbitum 達到了 stage 1,雖然 @DeGateDex 、Fuel 等達到了 Stage2,但他們還沒有被更廣泛群體熟悉。Stage2 是 Rollup 安全性的最終目標,極少數 Rollup 達到了 Stage 1 ,而大部分 rollup 都在 Stage 0 階段,可見 Rollup 行業的發展着實讓 Vitalik 憂心忡忡啊。
4)其實,單純就擴容瓶頸問題而言,Rollup layer2 方案可提升性能的空間還很大。
1、通過數據壓縮更高效地使用 Blob 空間,OP-Rollup 目前有專門的 compressor 組件來進行此工作,ZK-Rollup 本身鏈下壓縮 SNARK/STARK 證明向主網 submit 就是在「壓縮」;
2、儘可能降低 layer2 對主網的依賴,在特殊情況下才使用樂觀證明技術來保障 L2 安全,比如,Plasma 大部分數據都在鏈上,但是在存提款場景都是主網發生,因此主網可以承諾其安全性。
這意味着,layer2 應該只考慮把存提款這類重要操作才和主網強關聯,這樣即減輕了主網負擔,又增強了 L2 自身性能,之前提到的 Sequencer 並行處理能力,在鏈下篩選、分類預處理大量的交易,以及 @MetisL2 推行的混合 Rollup,正常交易走 OP-Rollup,特殊提款請求走 ZK Route 等等都有類似的考慮。
以上
應該講,Vitalik 這篇思考以太坊未來擴容方案文章,非常有啟發意義。尤其是對 layer2 發展現狀的不滿,對 Blob 性能空間的樂觀肯定,以及對未來分片技術的展望,甚至還苦口婆心指出了一些 layer2 值得優化的方向等等。
其實,現在唯一的不確定留給 layer2 自己了,該如何加速發展呢?
本文獲得《為什麼 Blob 空間未被高效使用的 Rollup 陷入了發展困境?》授權轉載,作者:Haotian