本文用两种计算方法估算发现,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 交易费主要由两部分组成:
L2 Transaction Fee = Rollup Costs + Execution Costs
= [ 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 的比例都会对进一步提高以太坊可扩充套件性产生重要影响。
📍相关报导📍
以太坊坎昆升级确认纳入EIP-7514、将拍板Devnet-9发布日
Layer2蓄势待发,里面有什麽类型的zkEVM?
EIP-1559提案通过2年後,以太坊更安全了吗?