本文用兩種計算方法估算發現,EIP-4844 對於提高以太坊可擴充套件性的影響有限。文章源自於 Smarti Lab 作者 0xfan,由 Foresight News 整理和撰寫。
(前情提要: 以太坊EIP-4844:坎昆升級的核心)
(背景補充:坎昆升級預備》以太坊核心開發者:EIP-4844專用測試網Devnet #7即將上線)
TL;DR:
1. 我們通過兩種計算方法來評估實施 EIP-4844 後可能會減少的 Gas 費、TPS(每秒交易量)和容納 Rollups 的能力。
2. 據估算,在 Calldata 大小分別為 10KB 和 2KB 的情況下,EIP-4844 可能會容納更多的 Calldata,從 38 倍到 192 倍不等。由於能在同一區塊內容納更多 Calldata,每單位 Calldata 的成本也會相應降低。
3. 假設每個 Rollup 的 Calldata 大小統一為 2KB,則 EIP-4844 最多隻能容納 384 個 Rollup。
4. 在正常情況下(即區塊達到目標大小時),以太坊將通過 EIP-4844 達到 175 TPS,最高可達 350。
5. 與普遍看法相反,僅僅依靠 EIP-4844 還不足以讓以太坊顯著提高可擴充套件性。
6. 利用替代的 DA 層(如 Celestia)或 DAC(如 zkPorter),提高 L2 交易資料的壓縮率以及增加 zk Rollups 的比例都會對進一步提高以太坊可擴充套件性產生重要影響。
Proto-danksharding(也就是 EIP-4844)提議實現 Danksharding 未來可能使用的大部分邏輯和規則。目前,由於 L1 上的儲存成本較高,導致 L2 的過渡費也比較高。為了解決這個問題,EIP-4844 引入了一種新的資料型別 Blob,它比 calldata 更便宜、更大,為 rollup 資料儲存提供了另一種方式。
隨著 EIP-4844 即將推出,L2 定序器或許會獲得更高的利潤。這是因為定序器負責將交易批量匯入 L1 並支付資料費用,而定序器支付的 L1 資料費用將大幅降低。低交易費有可能通過增加 L2 上訂單數產生更多的 MEV。
坎昆升級將包含 EIP-4844,但目前還沒有確切的升級時間。以太坊基金會研究團隊表示,坎昆升級可能會在 10 月底上線。不過,更有可能是在 2024 年第一季度前後上線。
那麼,EIP-4844 究竟能在多大程度上降低交易費用?目前,L2 交易費主要由兩部分組成:
- Rollup 成本:將交易打包、提交併儲存在以太坊上的成本。
- 執行(Execution)成本:在 L2 上執行交易的成本
= [ L1 Gas Price * (Calldata + Fixed Overhead) ] + [ L2 Gas Price * L2 Gas Used ]
以 Optimism 為例,目前,總交易費的近 80% 來自於 L1 的儲存成本(即 Calldata 成本)。我們暫時忽略其他費用的影響,並提出兩種方法來估算 EIP-4844 後 L2 交易費用可能會降低多少。
在 EIP-4844 中,提案實施後,每個 Blob 的大小為 128KB,每個 Blob 消耗 131,072 Gas。因此,平均每個 Blob 資料位元組將消耗 128 * 1024 / 131,072 = 1 Gas。相比之下,目前儲存單個 Calldata 位元組需要消耗 16 Gas。這表明,L2 交易的儲存成本將降低 16 倍。
不過,這種方法只比較了每個位元組的儲存成本,並未考慮區塊的總 Gas 容量。由於 EIP-4844 之後單個區塊可攜帶的 Gas 總量可能會發生變化,因此 L2 交易儲存成本可能降低不止 16 倍。
第二種方法會考慮區塊大小,並檢查當前 Calldata 在不同區塊大小下的容納次數。根據當前引數,在目標區塊大小的場景下,一個區塊可容納 3 個 Blob(0.375MB),最多可容納 6 個 Blob(0.75MB)。考慮到當前每個區塊的 Calldata 佔用約 2-10KB ,在 EIP-4844 之後,最多可容納 0.75 * 1024 / 2 = 384 倍的 Calldata。
但是,隨著區塊大小從目標值增至最大值,Gas 價格呈指數增長。因此,在更常見的情況下(即區塊達到目標大小時),EIP-4844 可容納的 Calldata 分別是 10KB 和 2KB Calldata 的 38 – 192 倍。由於區塊內 Calldata 的容量增加,Calldata 的儲存成本也會相應降低。因此,L2 交易的成本也會相應降低。
此外,假設每個 Rollup 的 Calldata 大小統一為 2KB,那麼 EIP-4844 最多隻能容納 384 個 Rollup。這並沒有達到很多人設想的數千個 Rollup。
據此,我們還可以得出以太坊在 EIP-4844 之後可以實現的 TPS 數量級。目前,平均一筆 L2 交易在 L1 上需要花費大約 3000 Gas 的 Calldata。考慮到 Calldata 每個位元組的 Gas 成本為 16,這表明 L1 上每筆 L2 交易約為 187 位元組。
EIP-4844 之後,目標區塊大小為 0.375 MB,以太坊每 12 秒生成一個區塊。因此,每秒可用空間為 0.375 / 12 * 1024 = 32 KB,可容納 32 * 1024 / 187 = 175 筆交易。因此,在正常情況下(即區塊達到目標大小時),以太坊在 EIP-4844 升級之後的 TPS 應為 175,最高可達 350。
雖然更高的 TPS 可以提高效率,但值得注意的是,即使實施了 EIP-4844,以太坊依然比不上 Visa,後者目前的 TPS 高達 1700。這種差距仍可能會導致 L1 和 L2 網路擁堵,尤其是在高需求場景下。
因此,僅僅依靠 EIP-4844 還不足以讓以太坊實現更大的可擴充套件性。我們仍然需要一個更具成本效益和效率的資料可用性解決方案來儲存更多 Calldata(譬如 Celestia 等 DA 層或 zkPorter 等 DAC),它們對於實現可擴充套件性仍然至關重要。
最後,L2 交易的壓縮率會直接影響儲存在 L1 中的 Calldata 大小。壓縮率越高,所需的 L1 費用就越低。隨著 zkRollup 不斷髮展,需要儲存在 L1 上的資料量會越來越少,也更有利於提高以太坊的可擴充套件性。因為 zkRollup 與 Optimistic Rollup 不同,zkRollup 只需要儲存狀態變化而不是整個交易。
結論
在本文中,我們使用兩種不同得計算方法來評估實施 EIP-4844 後可能減少的 Gas 費、TPS(每秒交易量)和容納 Rollup 的能力。結果表明,假設每個 Rollup 的 Calldata 大小統一為 2KB,EIP-4844 最多隻能支援不到 400 個 Rollup。這與許多人預期的數千個 Rollup 的需求相差甚遠。利用替代的 DA 層或 DAC、提高 L2 交易資料的壓縮率以及增加 zk Rollups 的比例都會對進一步提高以太坊可擴充套件性產生重要影響。