本文探讨了在以太坊EIP-4844实施后,小型Rollup面临的数据可用性(DA)成本和效率问题。提出了一种名为“Blob共享”的解决方案,通过将多个Rollup的数据合并到一个Blob中,提高Blob的利用率,从而显著降低DA成本。模拟结果表明,Blob共享可以为Rollup节省至少85%的DA成本,并提高DA服务质量。
作者: Suhyeon - Tokamak Network
- 小型 Rollup 面临一个困境,由于其较低的 L2 数据吞吐量:blob 使用效率低下或 blob 延迟过长。
- 解决这个问题的一个方案是 blob 共享,即将多个 Rollup 的数据放入一个 blob 中。
- 我们的研究模拟了 26 个 Rollup 使用近 6 个月的数据进行 blob 共享。
- 模拟结果表明,所有 Rollup(不仅仅是小型 Rollup)在 DA 方面至少可以节省 85% 的成本。
- 我们发现这是因为主动的 blob 共享减少了 blob 的数量,并平滑了没有峰值的 blob 基础费用。
Rollup 是以太坊的一个关键可扩展性解决方案,它在链下处理交易,并将压缩数据提交回主网络。在 EIP-4844 之前,Rollup 面临着高昂的数据可用性(DA)成本,因为所有交易数据(calldata)都必须包含在链上,这非常昂贵。
EIP-4844 引入了 blob,这是一种新型的交易数据,与 calldata 相比,它在链上包含的成本更低。Blob 的大小固定为 128 KB,并存储约 18 天。此升级旨在显著降低 Rollup 的 DA 成本。
虽然 blob 降低了成本,但其固定大小对数据吞吐量低的小型 Rollup 提出了挑战。这些 Rollup 通常无法填满整个 128 KB 的 blob,导致效率低下。它们面临着两个选择:
为了说明这个问题,我们分析了从区块编号 19,426,589 到 20,611,514 期间各种 Rollup 的 blob 利用率和性能。结果总结在表 1 中。
在这里,为了定量衡量数据可用性服务质量,我们使用一个由以下公式定义的新指标:
\text{DA_Quality} = \frac{1}{\ln(\text{Average_Block_Gap}) + 1}
该公式为更频繁提交 blob 的 Rollup 分配更高的 DA 质量分数(即,blob 提交之间的平均区块间隔更小)。这是一个对数函数,用于处理较大的区块间隔,确保不同 Rollup 之间的有意义的比较。
Table 1: Rollup Blob Utilization and Performance (Blocks 19,426,589 to 20,611,514) (表 1:Rollup Blob 利用率和性能(区块 19,426,589 到 20,611,514))
Rollup | Blob Count (Blob 数量) | Average Size (KB) (平均大小 (KB)) | Total Size (GB) (总大小 (GB)) | DA Quality (DA 质量) |
---|---|---|---|---|
Base | 690,356 | 126.51 (98.84%) | 83.293 | 0.309 |
Arbitrum | 375,014 | 127.52 (99.63%) | 45.607 | 0.288 |
Taiko | 328,805 | 30.70 (23.99%) | 9.628 | 0.592 |
OP Mainnet | 265,469 | 126.71 (98.99%) | 32.080 | 0.239 |
Scroll | 139,199 | 105.35 (82.30%) | 13.985 | 0.332 |
Blast | 106,033 | 115.03 (89.87%) | 11.632 | 0.255 |
Linea | 93,604 | 117.64 (91.90%) | 10.501 | 0.237 |
StarkNet | 62,361 | 127.98 (99.98%) | 7.611 | 0.242 |
zkSync Era | 62,149 | 128.00 (99.99%) | 7.586 | 0.215 |
Paradex | 44,300 | 127.99 (99.99%) | 5.407 | 0.234 |
Metal | 31,382 | 0.18 (0.14%) | 0.005 | 0.220 |
Zircuit | 27,821 | 6.04 (4.72%) | 0.160 | 0.275 |
Kroma | 24,193 | 59.65 (46.60%) | 1.376 | 0.208 |
Zora | 23,592 | 126.58 (98.89%) | 2.848 | 0.161 |
Mode | 22,585 | 126.56 (98.88%) | 2.726 | 0.159 |
Rari | 19,583 | 31.08 (24.28%) | 0.581 | 0.214 |
Optopia | 7,851 | 16.19 (12.65%) | 0.121 | 0.179 |
Boba Network | 6,236 | 3.29 (2.57%) | 0.020 | 0.166 |
Debank Chain | 3,358 | 113.84 (88.94%) | 0.365 | 0.162 |
Camp Network | 3,292 | 98.39 (76.87%) | 0.309 | 0.136 |
Nal | 2,998 | 0.21 (0.17%) | 0.001 | 0.168 |
Mint | 2,515 | 90.89 (71.01%) | 0.218 | 0.140 |
Lambda | 2,336 | 103.80 (81.09%) | 0.231 | 0.143 |
Lumio | 1,390 | 0.43 (0.33%) | 0.001 | 0.137 |
Parallel | 1,348 | 119.29 (93.20%) | 0.153 | 0.113 |
XGA | 1,031 | 98.20 (76.72%) | 0.097 | 0.142 |
Lisk | 811 | 8.04 (6.28%) | 0.006 | 0.126 |
Kinto | 204 | 13.20 (10.31%) | 0.003 | 0.124 |
如表 1 所示,较小的 Rollup 通常具有较低的 blob 利用率百分比,表明它们没有有效地使用 blob 空间。这导致每个数据单元的成本更高,或者 DA 提交的潜在延迟。
Blob 共享是一种策略,允许多个 Rollup 将其数据组合成一个 blob。这种方法最大限度地利用了 blob 空间,并降低了所有参与 Rollup 的成本。我们想知道如果 Rollup 合作,可以节省多少 DA 成本。
为了评估 blob 共享的有效性,我们使用 EIP-4844 实施后近六个月内收集的真实数据(区块编号 19,426,589 到 24,848,485)进行了模拟。以下是我们遵循的关键假设和流程:
模拟涉及以下步骤:
我们的模拟结果表明,blob 共享可以显著降低所有 Rollup 的 DA 成本,对于大多数 Rollup 来说,成本节省超过 85%。此外,由于 blob 共享实现了更频繁的数据提交,DA 服务质量也得到了提高。
\
USD Cost Difference between Real and Simulated Blob Sharing1425×852 63.6 KB
如图 1 所示,在具有 blob 共享的模拟中,Rollup 的总成本显著降低。DA 服务质量(由我们的新指标衡量)也得到了改善(你可以在我们的预印本中看到更多数据)。
导致成本大幅降低的一个关键因素是以太坊 blob 费用机制。当区块包含超过三个 blob 时,blob 基础费用呈指数增长。通过共享减少 blob 的总数,我们可以防止 blob 基础费用急剧增加,从而实现显著的成本节省。
blob 的定价遵循基于区块中 blob 数量的指数函数,由以下等式定义:
\text{new_base_fee} = \max \left( B, B \times \exp \left( \frac{\text{excess_blob_gas}}{F} \right) \right)
\text{excess_blob_gas}_i = \max \left( 0, \text{excess_blob_gas}_{i-1} + \left( \text{blob_count}_i \times G - T \right) \right)
这里,B 是每个 blob gas 单位的最低基础费用,F 是更新分数常数,excess_blob_gasi 表示区块 i 的多余 blob gas。通过共享最大限度地减少每个区块的 blob 数量,我们可以随着时间的推移平滑 blob 基础费用。
\
Blob Counts per 100,000 Blocks1665×709 81.1 KB
图 2 显示了由于 blob 共享导致每个区块的 blob 数量的减少。blob 的总数变化约为 20%。但是,超过三个 blob 的区块数量急剧减少。由于每个区块的 blob 数量较少,blob 基础费用保持较低且更稳定。
\
Blob Base Fee and Difference1723×473 95.5 KB
在结果中,图 3 显示了与没有共享时观察到的剧烈波动相比,blob 共享如何导致更平滑和更低的 blob 基础费用。它在图 1 中消除了许多 Rollup 中超过 99% 的 blob 成本。
Blob 共享为小型 Rollup 在 EIP-4844 实施后面临的效率低下问题提供了一个实用的解决方案。通过协作和共享 blob,Rollup 可以降低成本,提高数据可用性服务质量,并为更高效的以太坊网络做出贡献。
展望未来,我们谨慎地预测,实施 blob 共享将需要引入一个 Proxy DA 合约,并升级每个 Rollup 的 DA 合约,以促进与该代理的通信。虽然对 blob 数据的直接访问仍然受到限制,从而最大限度地减少了安全问题,但建立这种互连和集成的数据结构将需要 Rollup 之间的积极协作。
我们相信,这些发现对以太坊社区具有重大意义,特别是对于寻求可持续运营的(较小的)Rollup。我们欢迎对我们研究的任何反馈、评论或问题。
有关更多详细信息,请参阅我们的完整论文,该论文可在 https://arxiv.org/abs/2410.04111 上获得。
特别感谢来自 Tokamak Network 的 Boo-Hyung Lee,感谢他对 Rollup 结构的讨论;以及来自 Offchain Labs 的 Akaki Mamageishvili,感谢他对 blob 共享的讨论,以及鼓励我在此处发帖。
- 原文链接: ethresear.ch/t/potential...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!