Blobonomics 与新的攻击面:以太坊如何强化其 DA 层

  • Hazeflow
  • 发布于 10小时前
  • 阅读 48

本文深入探讨了以太坊通过 EIP-4844 引入 blob 后,rollup 面临的新型攻击面,并分析了相应的经济防御机制。

Hazeflow 是一家区块链研究公司。我们正在撰写关于区块链行业独特视角和观点的文章,并发布教育研究材料。

Blobonomics(Blob经济学)与新的攻击面:以太坊如何加强其 DA 层

EIP-4844 的 Blob 定价创造了一种新的攻击向量,迫使 Rollup 设计更智能的经济防御措施


感谢 zkSecurity 团队的论文 “ Unaligned Incentives: Pricing Attacks Against Blockchain Rollups”,该论文为理解 DA 定价错误奠定了基础,并激发了本文探讨的许多想法。

主要内容

  • 以太坊在 2024 年 3 月通过 EIP-4844 引入 blob 时,悄然解决了 rollup 面临的最大问题之一:将其数据放在以太坊上的成本。

  • 在 blob 之前,每个 rollup,Arbitrum、Optimism、Base、Scroll、zkSync 以及许多其他 rollup,都必须将它们的交易数据作为 calldata 发布在以太坊的主链上。这非常昂贵。事实上,rollup 90% 的成本都花在了这个数据发布步骤上。

  • Blob 改变了这一点。以太坊没有将 rollup 数据挤进用于智能合约的昂贵空间中,而是专门为数据创建了一个单独的通道,这个通道更便宜、更大,并且仍然完全由以太坊的验证者保护。这大大降低了成本,并使 rollup 能够向用户提供更便宜的交易。

  • 随后在 2025 年 5 月出现了 Pectra,它使 blob 容量翻了一番,将目标从每个区块 3 个 blob 增加到 6 个,并将最大值提高到 9 个。

通过 EIP-4844 引入 blob 不仅降低了 rollup 的成本;它还在以太坊内部创建了一个新的费用市场。

以太坊数据可用性层背后的经济学原理

要理解这是如何运作的,将 rollup 发布其数据时涉及的两个层分开来看是有帮助的:共识层执行层

1. 共识层 (CL)

可以将其视为以太坊的数据存储层。当 rollup 发布其数据时,数据会被打包到“blob”中。每个 blob 都是 128 KB 的压缩 rollup 数据块。这些 blob 由以太坊的共识节点存储 18 天。

通过保持数据对所有人可用,以太坊使任何人都可以独立验证 rollup 的状态。

使用该层的成本由 blob 基础费用设定,这是 EIP-4844 引入的一种特殊费用。此费用会自动调整,具体取决于 blob 空间的占用情况,就像以太坊的基础 gas 费用根据区块使用情况进行调整一样。当使用量超过目标时,blob 基础费用会上涨;当使用量低于目标时,blob 基础费用会下降。

2. 执行层 (EL)

发布 blob 不是直接完成的。相反,rollup 向执行层发送一个 type-3 交易。此交易本身不携带 blob 数据,它更像是一个引用存储在 CL 中的一个或多个 blob 的包装器。这些交易的定价方式与任何普通的以太坊交易一样。

关键区别

  • 共识层计算正在发布的 blob(数据块)的数量。

  • 执行层计算为发布这些 blob 而发送的交易数量。

这就是为什么你会看到两者之间存在差距:到目前为止,大约 1170 万个 blob 已发布到 CL,但只有 490 万个 blob 交易通过了 EL。平均而言,每个 blob 交易携带约 2.4 个 blob,因为 rollup 将多个 blob 打包到一个交易中以节省 gas。

来源: Galaxy Research - EIP 4844 Blobs

为什么 Rollup 费用机制更加复杂

一旦引入 blob 并将数据发布分散到共识层和执行层,rollup 的经济学原理就会发生根本性的变化。

在以太坊 L1 上,有一个单一的 gas 价格,反映了执行和存储交易涉及的所有成本。但对于 rollup 而言,成本分布在多个层和资源上,每个层和资源都有其自身的定价动态。这使得费用设计更加复杂,有时甚至可以被利用。

多维度模型

对于每笔交易,rollup 必须收回三种不同类型的成本

  1. L2 执行成本 – 这些是在 rollup 内部运行交易花费的资源。它们涵盖计算、存储和带宽。对于 ZK rollup 而言,它们还包括生成密码学证明的成本。

  2. L1 数据可用性成本 – 这是 rollup 为将批次的压缩交易数据作为 blob 发布到以太坊而支付的费用。它确保以后任何人都可以验证 rollup 的状态。

  3. L1 结算和验证成本 – 这是在链上提交批次所需的 gas,对于 ZK rollup 而言,还需要在以太坊上验证有效性证明。

一个典型的排序器向用户收取交易费用,该费用涵盖所有这三种成本类别,同时保留一定的利润空间以保持盈利。

大多数 rollup 在 L2 级别使用第一价格拍卖:用户设置一个 L2 gas 价格,排序器首先包含出价最高的交易来填充区块。这很简单,但并非总是经济高效。

总交易费用通常使用一个简单的公式计算:

Total Transaction Fee = L2 Fee + L1 Fee
  • L2 Fee = (L2 基础费用 + 优先费用) × L2 gas 使用量

支付链下执行、带宽、存储和证明生成(对于 ZK rollup)的费用。

  • L1 Fee = (L1 blob 基础费用 × blob scalar × 数据字节) + 提交成本 + 证明验证成本

支付将数据发布到以太坊 blob 和交易在批次提交和验证成本中所占的份额的费用。

L1 DA Fee = L1 blob base fee × blob scalar × data bytes
  • L1 blob 基础费用: 以太坊使用 EIP-1559 风格的机制进行 blob 定价。目标:每个区块 6 个 blob(Pectra 之后)。

    • 如果发布的 blob 超过 6 个,blob 费用每个区块略微增加(呈指数级增长,类似于基础 gas 费用)。
    • 如果发布的 blob 少于 6 个,blob 费用会随着时间的推移而减少
  • Blob scalar: 根据数据的压缩程度调整 blob 成本。如果数据压缩效率高,则 blob 成本较低;如果数据难以压缩(如垃圾邮件),则 blob 成本较高。

  • Data bytes: rollup 需要为该批次或交易发布的数据字节数。

错价的来源

这种由三部分组成的费用模型在理论上是可行的,但在实践中,各个部分并不能完美地同步。这里存在一个根本性的不匹配。

  • L2 区块每 1-3 秒生成一次,但 L1 blob 价格在以太坊上每 12 秒更新一次。大多数 rollup 仅每 5-64 个 L1 区块刷新一次其内部 blob 定价,以避免使用未最终确认的数据。
  • 但更深层的问题是: Rollup DA 定价与 L1 blob 费用Hook,而不是与 L2 需求Hook。当 L2 拥塞时,没有立即的价格信号,因为 DA 成本由 L1 的外部 blob 市场设定,而 L2 区块的发生速度远快于 L1 的反应速度。L2 gas 费用跟踪执行情况,而不是数据使用情况。
  • 这创造了一个窗口,攻击者可以在经济机制赶上之前 Flood 系统。

以下是攻击者如何利用这一点:

  • 他们制作数据量大但计算量小的交易。方法很简单:仅执行 STOP 操作码(最小计算量,约 21,000 gas),用 128 KB 的随机、不可压缩的 calldata 打包交易,并使用约 510 万 gas 来填充一个完整的 blob。总数保持在典型的 1500 万 gas 的 L2 区块限制之下。
  • 为什么这可行: L2 gas 消耗量保持在较低水平,因此基础费用不会飙升,而 L1 blob 费用是外部定价的,并且更新速度较慢。只有约 3% 零值的随机数据压缩效果很差,从而最大限度地利用 blob。填充 3 个 blob 只需要约 1530 万 gas - 在正常限制范围内,并且远低于触发有意义的费用增加所需的 gas 量。

由此产生了 3 种可能的攻击向量。

攻击 1:DA 饱和:Rollup 级别的拒绝服务

攻击者垄断了 rollup 有限的 blob 容量,阻止誠实的交易被包含在发布到以太坊的批次中。

每个 rollup 批次都有严格的 DA 限制——通常为 1-6 个 blob,具体取决于配置。以太坊的目标是在 Pectra 之后每个区块 6 个 blob(最多 9 个),但大多数 rollup 每个批次仅使用 1-3 个 blob 来管理成本。攻击者竞相提高优先费用,从而比誠实用户更快地填满此配额。

为什么它的破坏性非常大: 当 blob 使用率低于以太坊的目标值时(Pectra 之后很常见),blob 基础费用可能会降至每个字节 1 wei,实际上是免费的。该论文显示,在大多数 rollup 上,30 分钟的周期性 DoS 成本低于 2 ETH。但持续的 DoS 甚至更便宜:Linea 上每小时 0.87 ETH,Optimism 上每小时 0.8 ETH(受到限制),Base 上每小时 2.7 ETH(受到限制),并且可以无限期地DoS。

成本保持在较低水平,因为 blob 价格下限使数据几乎免费,没有反映 DA 拥塞的 L2 反馈循环,并且 rollup 不频繁地同步 blob 价格。最终,blob 使用率超过以太坊的 6 个 blob 目标会触发每个区块 1.15 倍的价格上涨,但到那时损害已经造成。

现实世界的影响: 誠实用户必须竞相超越攻击者,这违背了 rollup 的“便宜费用”价值主张。即使是短暂的中断也会为套利干扰、预言机操纵和延迟清算创造机会。对于保护数十亿美元 TVL 的链来说,这会造成巨大的声誉损害。

攻击 2:放大的最终性延迟攻击

通过用垃圾邮件 Flood L2 而不是直接攻击以太坊,攻击者可以将交易最终确认的时间延迟 1.45 倍–2.73 倍。

为什么这可行: 以太坊可以处理每个区块 9 个 blob,但大多数 rollup 一次只发布 1-3 个 blob。当攻击者阻塞了这些少量的 blob 插槽时,他们会造成巨大的瓶颈。

这样想:rollup 可能会每 2 秒生成一个新区块,但它只能每 12 秒发布到以太坊一次。这意味着每个 L1 插槽有 6 个 L2 区块在等待。阻塞一个 blob,你就延迟了 6 个 L2 区块的交易。不断这样做,积压就会迅速增加。

10 ETH 预算的实际影响:

后果非常严重:桥与卡在 Limbo 中的跨链消息失去同步,CEX 提款延迟,因为交易所等待 L1 最终确认,跨 rollup DeFi 策略中断,用户被困在 L2 上“执行”的交易,但在 L1 上几个小时都无法最终确认。

攻击 3:直接经济损失攻击

直接经济损失攻击 利用了 rollup 向用户收费的时间和他们实际支付 L1 blob 费用的时间之间的延迟。

  1. 锁定廉价价格: 攻击者在 blob 价格较低的时期发送 DA 繁重的交易。Rollup 用户被收取过时的低费率。
  2. 费用飙升: 然后,以太坊 blob 费用迅速增加。但是,rollup 的定价机制仅定期更新(例如,每 L1 区块),因此它继续向用户收取过时的、更便宜的费用。
  3. Rollup 支付差额: 当 rollup 稍后将其批次发布到 L1 时,它必须支付更高的实际 blob 价格,但仅从用户那里收取了较低的价格。Rollup(而不是攻击者)承担了这一缺口。

OP Stack DA DoS 向量

在 2024 年底,Conduit 工程师在 OP Stack rollup(由 Optimism、Base 和其他rollup使用)中发现了一个关键的 DA 垃圾邮件漏洞。在测试 Base Sepolia Layer-3 网络时,他们发现攻击者可以重复发送大型的、数据繁重的交易来填满 rollup 有限的 blob 容量。通过在多个以太坊 L1 区块上执行此操作,攻击者可以延迟批次发布足够长的时间,以通过 OP Stack 的内置安全逻辑触发链重组。

这种延迟打开了一条严重的漏洞利用路径。攻击者可以将资金桥接到 rollup 中,向 DA 管道发送垃圾邮件以强制重组,然后使用快速桥在延迟窗口期提取相同的资金。当 rollup 重组时,原始存款会在恢复的链上恢复,而快速桥提款已经执行,从而有效地创建了双重支付。Conduit 向 OP Labs 和 Base 报告了该问题,从而导致了 op-stack v1.9.5 中的 DA 限制以及 OP Batcher v1.15.0 中的完整修复。

针对 DA 攻击的缓解措施

所有三种与 DA 相关的攻击,饱和攻击、放大的最终性延迟攻击和直接经济损失攻击,都源于同一个问题:rollup 将其 DA 价格与以太坊的 blob 基础费用Hook,blob 基础费用更新缓慢并且通常保持在接近于零的水平。这为攻击者创造了一个廉价的、可预测的扼流点。解决方案是将短期反应性防御措施与结构性价格变动结合起来。

短期防御措施:过滤器和乘数

这些是 rollup 可以立即实施的快速反应措施,以限制垃圾邮件:

  • 交易大小上限: 限制单笔交易可以消耗多少 blob 数据。超大交易将被丢弃或延迟,从而防止一名攻击者垄断 blob 空间。
  • 动态费用乘数: 随着交易填充更多 blob,收取递增的更高费用。这可以阻止依赖少量大型交易的廉价、大量垃圾邮件。
  • 过滤低效率流量: 识别和降低具有较差压缩率或可疑模式的交易的优先级,阻止抗压缩垃圾数据。

这些策略很容易部署,特别是对于单排序器 rollup,但攻击者可以适应它们。它们争取时间,但不能解决核心定价滞后问题。

结构性修复:本地 Blob 费用市场

持久的解决方案是在 rollup 级别使 DA 定价具有响应性。每个 rollup 都应维护其自己的本地 blob 基础费用,该费用根据本地使用情况每 L2 区块更新一次。

  • 如果 blob 使用率上升,则本地费用会立即增加;如果使用率下降,则本地费用会降低,这与以太坊的 EIP-1559 机制类似,但以亚秒级的速度进行。

  • 等于以太坊 blob 基础费用的下限确保 rollup 在 L1 拥塞期间永远不会低估价格。

这弥补了攻击者利用的延迟反馈循环,迫使他们实时支付上涨的费用,而不是滥用 5-64 个区块的低估价值的容量。

我的想法:在深入研究 blob 经济学和攻击之后,我开始寻找提供长期弹性的设计。我遇到了两个即将到来的以太坊升级,它们从不同的角度解决了这个问题,一个专注于更灵活地扩展 blob 容量,另一个防止 blob 费用崩盘至接近于零的水平。除此之外,Luban 引入了一个全新的想法:blob 期货市场,让 rollup 提前锁定数据容量,而不是当场竞争。

探索长期弹性的设计空间

缓解措施可以修补当前的漏洞,但长期弹性需要重新思考 rollup 如何设计其费用机制以及如何与以太坊的数据层交互。这涉及探索更广阔的设计空间

EIP-7892 — 仅 Blob 参数的硬分叉

EIP-7892 引入了一种轻量级的硬分叉,该硬分叉仅更改以太坊的 blob 容量设置,而不触及协议的其他部分。具体来说,它允许核心开发人员更频繁、更轻松地更新三个关键的 blob 参数:

  • 目标 – 以太坊每个区块的目标 blob 数量。
  • 最大值 – 每个区块的绝对 blob 上限。
  • 基础费用更新分数 – 每个区块的 blob 价格调整速度。

这些值存在于执行层和共识层都遵循的共享“blob 计划”中,从而保持网络对齐。到目前为止,对 blob 容量的更改只能在主要的网络升级(大型硬分叉)期间发生,这些升级通常每年发生一到两次。但是,rollup 对数据的需求增长速度远快于此。有了 EIP-7892,以太坊可以:

  • 仅发布较小的、重点突出的分叉来更新 blob 参数
  • 更快地响应实际的网络需求
  • 从保守的 blob 限制开始,观察主网性能,并逐步扩大规模

EIP-7918 — 引入动态 Blob 费用下限

以太坊通过 EIP-4844 引入了 blob 交易,为 rollup 创建了更便宜的数据通道。Blob 费用遵循 EIP-1559 风格的机制:当使用率较低时,blob 基础费用可能会降至每个字节 1 wei。这在平静时期是有效的,但它引入了一个关键的弱点,blob 费用可能会变得非常便宜,以至于它们停止充当真正的价格信号。当需求再次飙升时,费用需要很多区块才能恢复。与此同时,rollup 恢复为优先 Gas 拍卖 (PGA),从而导致拥塞、不可预测的费用以及攻击者可利用的定价窗口。

优先 Gas 拍卖机制

EIP-7918 引入了一个动态费用下限,该下限将最低 blob 费用与执行基础费用联系起来。这设置了一个储备价格,低于该价格 blob 费用不能下降:

Reserve Price = BLOB_BASE_COST × execution_base_fee

如果 blob 费用降至此储备价格以下,则协议会停止降低它们,同时仍然允许费用在需求增加时正常上涨。这确保即使在 blob 使用率较低的时期内,blob 费用在经济上仍然有意义。

关键参数

  • GAS_PER_BLOB = 131,072 (每个 blob 128 KB)
  • BLOB_BASE_COST = 8,192,恰好是 GAS_PER_BLOB 的 1/16

这意味着每个 blob 的最低 blob 费用始终是每个 blob 的执行 gas 成本的 1/16,从而确保定价与网络状况保持一致。

示例

假设执行基础费用为 16 gwei:

Floor = 8,192 × 16 gwei = 131,072 gwei ≈ 0.000131072 ETH per blob

即使 blob 使用率崩溃,blob 费用也不会低于此值。

该图显示了动态下限如何设置下限(虚线),从而防止 blob 基础费用在需求较低时崩盘。

通过防止 blob 费用崩盘至接近于零的水平,EIP-7918 提高了垃圾邮件 blob 空间的基准成本,使 DA 饱和攻击更昂贵且更难以预测。攻击者不再能够利用超便宜的 blob 定价的较长时间来 Flood rollup - 储备价格充当内置的经济防御。

Luban:在以太坊上引入 Blob 期货

Blob 为 rollup 提供了以太坊上更便宜的数据通道,但现货 blob 市场波动很大。Rollup 必须实时购买 blob 空间,与 Base 或 Taiko 等更大的公司竞争纳入资格。

Luban 通过引入 blob 期货来改变这种情况,blob 期货是一种以固定价格预先购买有保证的未来区块 blob 容量的方式,就像提前预订带宽一样。

在 Taiyi(建立在 EigenLayer 和 Symbiotic 等再质押层上)的支持下,验证者或承销商承诺未来的 blob 空间。Rollup 可以锁定即将到来的插槽的价格,即使 gas 稍后飙升,也可以确保纳入资格。

这创造了一种新的 DA 市场动态:

  • Rollup 获得可预测的成本和有保证的纳入资格
  • 验证者通过出售 blob 期货来解锁新的收益
  • 承销商对 blob 容量进行做市,承担波动风险

高吞吐量 OP Stack rollup Rise Chain 使用 Luban 期货来确保稳定的 blob 容量、平滑吞吐量并避免费用飙升 - 即使使用轮换排序器也是如此。

展望未来,Luban 的目标是预结算,让 rollup 在最终结算之前提交状态更新,从而使Based Rollup 的结算速度更快、更具可组合性并且在经济上与以太坊保持一致。

未来升级

完整 Danksharding 是以太坊的长期计划,通过将每个区块的 blob 数量增加几个数量级来大规模扩展数据可用性。与引入少量固定 blob 容量的 proto-danksharding (EIP-4844) 不同,完整 danksharding 将启用每个区块数十个甚至数百个 blob。

这是通过数据可用性采样 (DAS) 实现的,它让节点仅验证 blob 数据的少量随机部分,而不是下载所有内容,即使总容量激增,也能保持验证的轻量级。

通过使 blob 空间变得丰富且便宜,完整 danksharding 使攻击者更难以使用固定预算垄断数据可用性,同时为 rollup 提供了一个巨大的、低成本的通道来发布其数据。这种转变将 blob 空间从稀缺资源转变为整个 rollup 生态系统的高吞吐量 DA 层,为以太坊支持数千个 rollup 奠定了基础,而不会使网络不堪重负。

结论

以太坊的 DA 层正在进入一个新阶段,这个阶段不仅由更便宜的数据定义,而且由更智能的定价、协议敏捷性和市场创新定义。从费用下限到 blob 期货,设计空间正在扩大,以使 DA 在经济上既稳健又为 rollup 规模的增长做好准备。


  • Hazeflow 是一家专注于底层技术、产品方法和区块链产品功能的区块链和加密研究公司。

  • Ishita Rastogi 撰写,由 Pavel Paramonov 编辑。

以前

  • 原文链接: research.hazeflow.xyz/p/...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Hazeflow
Hazeflow
A blockchain research firm.