該文非常有啟發意義,尤其是對 layer2 發展現狀的不滿,對 Blob 性能空間的樂觀肯定,以及對未來分片技術的展望,甚至還苦口婆心指出了一些 layer2 值得優化的方向等等。
作者:Haotian
封面:Photo by Shubham’s Web3 on Unsplash
如何理解 Vitalik Buterin 新文對乙太坊的擴容思考?有人說 Vitalik 給 Blob 銘文喊單,離大譜。 那麼 Blob 數據包如何工作?坎昆升級后 Blob 空間為啥得不到高效利用?DAS 數據可用性採樣是為分片做準備?
在我看來,坎昆升級后性能夠用了,Vitalik 是對 Rollup 發展憂心忡忡。 Why?接下來,我來談談我的理解:
1)之前多次解釋過,Blob 是和 EVM calldata 脫鉤的一個直接可被共識層調取的臨時數據包,直接好處是,EVM 在執行交易時可以不訪問 Blob 數據,因此產生不了較高的執行層計算費用。
目前平衡一系列因素,1 個 Blob 大小為 128kb,一筆 Batch 給主網的交易最多攜帶兩個 Blob,理想情況下,一個主網區塊最終目標是承載 16MB 大約 128 個 Blob 數據包。
因此 Rollup 專案方要盡可能平衡 Blob 區塊數量、TPS 交易容量、Blob 主網節點存儲成本等因素,目標以最優性價比使用 Blob 空間。
以 Optimism 為例,目前一天大約 50 萬筆交易,平均每 2 分鐘 Batch 一次交易到主網,一次攜帶 1 個 Blob 數據包。 為啥帶 1 個,因為 TPS 就這麼多用不到,當然也可以攜帶兩個,那每個 Blob 的容量都不會滿,卻額外增加了存儲費用,沒必要。
當隨著 Rollup 鏈下交易量的提升,比如每天要處理 5,000 萬筆交易怎麼辦呢?1、Compress 壓縮每筆 Batch 的交易量,盡可能讓 Blob 空間內容量大量的交易;2、增加 Blob 數量;3、縮短 Batch 交易的頻次;
2)由於主網區塊承載數據量受 Gas Limit 以及存儲成本的影響,1 個 Slot 區塊 128 個 Blob 是理想狀態,目前用不到那麼多,Optimism 每 2 分鐘才用 1 個,留給 layer2 專案方提升 TPS,擴大市場使用者量和生態繁榮度的空間還有很大很大。
因此,坎昆升級后一段時間內,Rollup 在使用 Blob 的數量、頻次以及 Blob 空間競價使用等方面並不「卷」。。
之所以 Vitalik 提 Blobscription 銘文是因為,這類打銘文能短暫增加交易量導致 Blob 使用需求增加,因此會擴大體積,用銘文做例子可以更深刻理解 Blob 的工作機制,Vitalik 真正想表達的內容和銘文並沒有太大關係。
因為理論情況下,若有 layer2 專案方高頻次且高容量向主網 Batch 交易,且每次把 Blob 區塊拉滿,只要它願意承擔高額的偽造交易 Batch 成本就會影響其他 layer2 對 Blob 的正常使用,但目前情況下,就像有人買算力對 BTC 進行 51% 硬分叉攻擊一樣,理論上可行,但實際缺乏利益動機。
Blob 的引入目標是為了減負 EVM,而提升節點的運維能力,無疑為 Rollup 量身訂做的方案。 顯然,當下並沒有被高效使用,二層使用 Gas 費用會在「較低」區間穩定很長一段時間。 這會給 layer2 市場長時間的「增兵屯糧」黃金發展視窗。
3)那麼,假使有一天 layer2 市場繁榮到一定程度,每天 Batch 到主網的交易成巨量,目前 Blob 數據包不夠用怎麼辦?乙太坊早已給出了解決方案:採用數據可用性抽樣技術(DAS):
簡單理解,就是把原先需要一個節點存儲的數據可以同時分佈在多個節點內,比如,每個節點存儲全部 Blob 數據的 1/8,8 個節點組成一個小組來滿足 DA 能力,相當於把目前的 Blob 儲存容量又擴大了 8 倍。 這其實也是未來 Sharding 分片階段要做的事情。
但目前 Vitalik 多次來重申這個,饒有韻味,似乎在告誡廣大 layer2 專案方:不要總抱怨乙太坊 DA 能力貴,以你們現在 TPS 容量都沒把 Blob 數據包的能力開發到極致,趕緊加大火力搞生態,擴大使用者和交易量吧,別總想著 DA 出逃搞一鍵發鏈的花活。
後邊,Vitalik 又補充了一句,認為目前核心 rollup 中,只有 Arbitrum 達到了 Stage 1,雖然 DeGate、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 自身性能。 之前談並行 EVM 時提到的 Sequencer“並行處理” 能力,在鏈下篩選、分類預處理大量的交易,以及 Metis 推行的混合 Rollup,正常交易走 OP-Rollup,特殊提款請求走 ZK Route 等等都有類似的考慮。
超過。
總之,Vitalik 這篇思考乙太坊未來擴容方案文章,非常有啟發意義。 尤其是對 layer2 發展現狀的不滿,對 Blob 性能空間的樂觀肯定,以及對未來分片技術的展望,甚至還苦口婆心指出了一些 layer2 值得優化的方向等等。
其實,現在唯一的不確定留給 layer2 自己了,該如何加速發展呢?
免責聲明:作為區塊鏈資訊平臺,本站所發佈文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。 文章內的資訊僅供參考,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。