EIP-4844帶來的變化

參考ethresear上給出的示意圖,rollup需要將state delta、KZG commitment的versioned hash包含在calldata中進行提交(zk-rollup還需要提交zk proof)

可以發現不同的是,calldata只包含一些數據量小的,比如state delta、KZG commitment,而將包含大量交易數據的transaction batch放到了blob裡。

  • 有效降低成本,放calldata裡很貴;
  • 降低對區塊空間的佔用

安全性

  • Data availability: Blob存儲在信標鏈上,等同於layer 1的安全性;
  • 歷史數據:節點不會只會將blob存儲一段時間,需要layer 2 rollup做永久數據存儲,因此安全性依賴於rollup。

成本

Proto-Danksharding引入了新的交易類型,低成本數據格式blob的加入無疑會讓rollup的成本進一步降低,取決於實際鏈上應用和實現進展,優化後rollup的成本可能降低x10甚至x50;

同時EIP-4844引入了blob fee;

  • Gas和blob將會分別有可調節的gas price和limit;
  • Blob的收費單元還是gas,gas amount隨traffic變動,以此維持每個block平均掛8個blob的目標(限制額外增加的數據量)

Precompile的實現

Blob中的數據本身無法被直接觸達,EVM只能獲取data blob的commitment。因此需要rollup提供precompile來驗證commitment的有效性.

下面分析兩種EIP-4844中提到的precompile算法

Point evaluation precompile(對數學原理感興趣參考vitalik的解析)

  • 證明多個commitments指向同一數據;
  • 主要針對zk-rollup,rollup需要提供2種commitments: 1. KZG commitment; 2. zk-rollup本身的commitment;
  • 對於optimistic rollup,大多數已經採用了multi-round fraud proof的機制,final round fraud proof所需的數據量較小。因此,採用point evaluation precompile能達到更低的成本

Blob verification precompile

  • 證明versioned hash和blob是有效對應的;
  • optimistic rollup在提交欺詐證明時需要access全量數據,因此先驗證versioned hash和blob合法,再進行fraud proof verification