EIP 4844: 对 Layer2 用户意味着什么?

在 EIP 4844 上线后, Rollups 将如何使用 blob ?

截至目前,EIP-4844 和 Dencun 升级的其余部分当前计划于 3 月 13 日在以太坊主网上线。

Dencun,下一个以太坊硬分叉,目前在测试网上,并将很快进入主网。对于 L2 用户来说,Dencun 是一个重大消息,因为它带来了 EIP-4844,这是一个新的数据可用性系统,预计大幅减少 L2 成本。如果你使用像 Arbitrum 这样的 L2,这对你有什么影响?让我们来调查一下。

在我们开始之前,要向我的研究合作者 Davide Crapis(以太坊基金会)和 Akaki Mamageishvili(Offchain Labs)致以诚挚的感谢,他们为本文提供了研究支持

img

Rollup 数据可用性和 EIP-4844

Rollups 花费了很多精力来确保它们的交易数据对所有节点和验证者都是可用的。大多数 rollups 通过将它们的数据写入以太坊作为 calldata 来实现这一点。按照当前价格,这样做的成本约为每兆字节 1000 美元。通过使用先进的数据压缩,良好的 rollups 将这一成本降低到每兆字节 300 美元。然而,数据发布成本占据了 L2 交易费用的最大部分。

为什么以太坊的 calldata 如此昂贵?因为以太坊需求量很大,而 rollups 必须与其他希望使用以太坊资源的参与方竞价。

EIP-4844 在以太坊中增加了一种新类型的数据可用性,称为blob 数据。Blob 缺少 calldata 的一些功能——它们对以太坊合约不可用,并且它们只存储 18 天——但它们满足了 rollups 的数据可用性需求,因此为 rollups 提供了一种新的、希望更便宜的记录数据的方式。

更便宜多少?这是一个关键的问题。

4844 基础知识

一个 4844 数据 blob 包含大约 125 千字节的数据。每个以太坊块可以包含多达 6 个 blob,目标是每个块 3 个 blob。blob 的价格会随时间波动——如果一个以太坊块有超过 3 个 blob,blob 的价格将上涨;如果少于 3 个 blob,blob 的价格将下降(类似 EIP1559 的机制)。

这样的价格调整器就像一个恒温器。如果你的家太冷,恒温器会调高加热器的温度,使房间变暖;如果你的家太热,恒温器会调低加热器的温度。结果是达到平衡,使温度保持在期望的水平。

Blob 的定价类似,但它不是寻求恒定的温度,而是寻求恒定的 blob 使用率。如果 rollups 使用的 blob 太多,价格就会上涨,以便 rollups 减少使用。如果 rollups 使用的 blob 少于目标数量,价格就会下降,以鼓励更多的使用。结果应该是一个平衡,即 rollups 每个以太坊块使用约 3 个 blob,价格恰到好处以维持这一点。

当然,条件会随时间而变化,因此平衡价格可能会随着条件的变化而变化,但平均每个块使用 3 个 blob 的使用量将保持不变——就像当外部天气变化时,恒温器会在外面天气变冷时更多地使用加热器来保持你家的温度在合适的水平一样。

这提出了寻找平衡价格的方法。我们可以问自己:如果 blob 的价格是 10 美分,rollups 会使用多少 blob?如果价格是 1 美元呢?如果是 10 美元呢?等等。平衡价格将是 rollups 每个以太坊块使用恰好三个 blob 的价格。

因此,让我们思考一下……

Rollups 如何使用 4844 blobs

一个好的 rollup 将以最适合 rollup 用户的方式使用 blob。用户希望 rollup 的数据发布者实现两个主要目标:低成本和快速发布。

这两个目标存在紧张关系。使用 blob 的最低成本方式是等到 rollup 有足够的数据填满一个 blob,然后购买一个 blob 并发布数据。但是,如果 rollup 不等待那么长时间,而是更频繁地发布部分填满的 blob,发布速度会更快。这样做更昂贵,因为即使你没有使用完整个 blob,你也必须支付整个 blob 的费用,因此频繁发布策略将购买更多的 blob。

如何平衡这些因素取决于 blob 的价格。如果 blob 价格非常昂贵,你希望尽可能少地使用它们,因此值得等待更长时间并发布完整的 blob。另一方面,如果 blob 价格非常便宜,那么你可以非常快速地发布,发布几乎没有数据的 blob,几乎没有成本。blob 价格越低,你应该越频繁地发布,并且你的 blob 将越空。

img

这个研究论文通过为等待发布的时间分配一个名义美元成本,然后找到 blob 成本加上等待成本总和的 blob 使用量最小化的方法,使这种权衡变得精确。结果,如上所述,rollups 的 blob 使用量与 blob 价格呈反比:当价格高时,它们使用的 blob 更少,当价格低时,它们使用更多的 blob,而这些 blob 更空。

Rollup 规模很重要

研究中一个令人惊讶的结论是,繁忙的 rollups(具有更多交易)比不太忙的 rollups 做得更好。对于一个繁忙的 rollup,成本和最终确认时间之间的权衡较小,因为一个繁忙的 rollup 将更快地累积一整个 blob 的数据。如果繁忙的 rollup 做出明智的决策,它可以比不太忙的竞争对手在成本和更快的发布时间方面都更好。

例如,如果 Rollup A 的交易流量是 Rollup B 的两倍,那么如果两个 rollups 在成本-延迟权衡方面都做出最佳决策,Rollup A 的数据成本每笔交易约低 41% 并且发布其交易的速度约快 41%。

在某些情况下,一个小的 rollup 可能更喜欢使用以太坊 calldata 而不是 blob。这是因为当你使用 blob 时,你必须支付整个 blob 的费用,而不管你是否使用它,但是使用 calldata 时,你只需支付你使用的字节数。因此,一个低交易流量的 rollup 可能会发现等待积累大批量数据对其用户造成了太大的延迟,而决定使用小批量数据后,发布这个小批量数据的最便宜方式是购买少量以太坊 calldata 而不是整个 blob。

总的来说,较小的 rollups 面临的权衡比较大的 rollups 更糟糕的情况。较小的 rollups 可以做些什么呢?

联合起来

较小的 rollups 的最佳策略是联合起来并共享 blob。举个例子,假设现在,Rollup C 想要发布一个填充了 70%的 blob,而 Rollup D 想要发布一个填充了 30%的 blob。如果它们联合起来,它们可以发布一个包含它们两者数据的单个 blob。现在,他们不再需要各自购买一个 blob,而是可以分担单个 blob 的成本。这是双赢。

但为什么要止步于此?如果这两个 rollups 组成联盟并始终一起发布,它们可以获得比分开发布时更低的成本和更好的延迟。这是长期的双赢。

即使最繁忙的 rollup 有时也可以从联合起来中受益。与其等待足够的交易填满一个 blob,繁忙的 rollup 可能会积累足够自己的交易填满 90%的 blob,然后将剩余的 10%空间出售给一个不太繁忙的 rollup。根据情况,这对两者可能是双赢,也可能不是。

如何分摊节省成本

当 rollups 共享一个 blob 时,它们可以节省资金。它们应该如何分摊节省的资金?或者等效地,它们应该如何分摊发布共享 blob 的成本?

一个明显的方法是按照他们使用的数据量来支付费用。在上面的 70/30 组合中,Rollup A 将支付 70%,因为它提供了 70%的数据,Rollup B 将支付 30%,因为它提供了 30% 的数据。这是一种方法。

另一种方法是认为,如果 Rollup A 由于合作而减少了 X%的成本,那么 Rollup B 也应该获得相同的 X% 的减少。这表明他们应该各自支付共享 blob 的一半。如果他们没有合作,Rollup A 将购买整个 blob,因此支付共享 blob 的一半可以节省 50%。同样,如果他们没有合作,Rollup B 将购买整个 blob,因此支付一半也是 50%的节省。根据这一论点,队友们应该始终支付共享 blob 的平等份额,而不管每个人贡献了多少数据。

你可以为这两种分摊方式中的任何一种进行辩论,或者也许你会说两者都有一定的优点,所以最好的答案在两者之间。研究论文讨论了一种称为“纳什交易”的规则,它具有一些不错的技术特性,并且结果介于按比例分摊和平等分摊规则之间。

理论够了,我们实际上期望什么?

事实是,没有人能确切地说 EIP-4844 推出时会发生什么。我们可以确信的是,Rollup 交易将变得更便宜。但我们无法确定它们会便宜多少。

我们还知道另一件事。尽管 4844 是一个重要的步骤,以太坊将继续发展和改进其数据可用性支持,而 Rollup 将继续改进其使用方式的策略。我们将看到可用内容和 Rollup 使用方式的技术复杂性不断增加,结果将是用户获得更好的交易。


本翻译由 DeCert.me 协助支持, 在 DeCert 构建可信履历,为自己码一个未来。

点赞 0
收藏 1
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
翻译小组
翻译小组
0x9e64...7c84
大家看到好的文章可以在 GitHub 提 Issue: https://github.com/lbc-team/Pioneer/issues 欢迎关注我的 Twitter: https://twitter.com/UpchainDAO