Skip to content
全部期权指南
以太坊扩容与费用13 min read

以太坊 Layer 2 费用详解:执行成本与数据成本

了解以太坊 Layer 2 交易为何可能包含执行费、L1 数据费和网络专属费用,以及批次、Blob 和升级如何影响总费用。

本指南内容L2 交易使用的费用市场与以太坊主网不同

简短摘要

以太坊 Layer 2 费用并不是较低版本的以太坊主网 Gas 费。Rollup 在 L2 上执行交易,再将数据打包后发布到以太坊,因此用户总费用可能包括执行成本、数据发布成本和网络专属费用。具体项目取决于所用网络及其当前已启用的升级。

L2 交易使用的费用市场与以太坊主网不同

以太坊 Rollup 会在 L2 上执行多位用户的交易,再将汇总后的状态变更发布到以太坊。执行费遵循 L2 的区块空间和费用规则,并不是在主网上逐笔执行每位用户交易的价格。以太坊为 Rollup 提供数据可用性和结算支持。

因此,单看一个“以太坊 Gas 价格”无法可靠地估算 L2 交易的总成本。即使钱包中的操作看起来都是转出 ETH,所选网络也可能改变执行价格、数据发布费用,有时还会改变支付费用所用的代币。

本文将“向以太坊发布数据的 Rollup”这一通用模式,与 OP Mainnet 文档所述的具体费用结构区分开来。L2 网络可能提供相似的钱包界面,但费用项目和数据发布方式不一定相同。

一笔 L2 费用可能由多个成本项目组成

钱包报价可能合并以下部分项目:

  • L2 执行费: 在 L2 区块中执行交易所需的 Gas,乘以 L2 Gas 价格
  • L1 数据费: 将 Rollup 数据发布到以太坊的成本中分配给用户交易的部分
  • 网络专属费用: 特定网络设定的运营商费用或其他额外收费

这是用于解释的模型,并非适用于所有网络的通用三项规则。有的网络会将数据发布成本单独列出;有的则把多个部分合并到一项费用或 Gas 价格字段中。钱包显示多少行,并不能说明底层实际有多少种成本。

部分批次发布成本由多笔交易共同承担,不会显示为每位用户分别发起的一笔以太坊交易。Rollup 会根据每笔交易的数据大小及自身定价规则,分摊或估算相应份额。通常用户不会自行提交批次交易,也不会每做一次 L2 操作就购买一个完整 Blob。

执行成本取决于 L2 上的工作量和需求

Gas 是衡量执行智能合约指令所需工作量的单位;费用则是 Gas 用量乘以 Gas 价格。简单的代币转账和需要调用多个合约的兑换,即使在钱包中都只显示为一个操作,所消耗的 Gas 也可能不同。

概念上,执行费 = 已用 Gas × L2 Gas 价格。Gas 价格反映区块空间需求和 L2 的定价规则。以太坊主网 Base Fee 上涨,并不意味着所有 L2 的执行费都会按相同比例上涨。

不过,L2 的区块空间也可能变得拥挤,从而推高该网络的执行价格。钱包显示的 Gas 上限或最高费用可能只是估算值或上限,不一定等于最终收取的金额。

数据发布成本反映批次处理和以太坊数据价格

Rollup 会将其他节点验证或重建状态变更所需的数据发布到以太坊。将交易合并成批次并压缩数据,相比逐笔向主网提交交易,可以降低分摊到每位用户的发布成本。

不同交易占用的压缩数据量不同。按照 Rollup 的定价方法,数据量较大的交易可能承担更高比例的成本。协议如何估算每笔交易的份额,以及采用哪些参数,都因网络而异。

来看一个刻意简化的分摊示例。假设 20 笔相似交易共同承担批次发布的固定开销 0.0004 ETH,平均分摊后每笔交易为 0.00002 ETH。实际 Rollup 不一定平均分摊成本:压缩后的数据量、网络的数据定价方式,以及固定或协议专属参数,都可能改变每笔交易的份额。这个例子说明批次成本与用户承担的费用可能不同,并不是任何特定网络的费用公式。

钱包中看起来相似的操作,可能编码了不同的合约调用和数据,因此不能只凭代币数量预测数据费用。L2 执行成本和批次数据成本也是两个不同维度。复杂的兑换即使数据量很小,也可能消耗更多执行 Gas;较大的数据载荷则可能在计算量几乎不增加的情况下提高发布成本。报价如何合并这些成本,取决于网络规则。

将更多交易放进一个批次,可能让更多用户分摊固定发布开销,但等待更大的批次并不保证每位用户的费用都会更低。发布前 Gas 或 Blob 价格可能上涨;新交易也可能占用较大比例的压缩数据,从而改变总额或各笔交易的分摊。批量处理可能带来效率提升,但这不代表每位用户都能获得折扣。

数据相关费用也可能受到以太坊 Gas 价格或 Blob 空间需求的影响。因此,即使 L2 执行价格几乎没有变化,数据部分仍可能改变。Ethereum.org 分别介绍了 Optimistic Rollup 和 ZK Rollup 的批次处理与费用因素。

Calldata 和 Blob 是向以太坊发布数据的不同方式

以太坊会在执行层将 calldata 作为交易数据处理,并通过常规 Gas 市场定价。EIP-4844 引入了独立的 Blob 空间和 Blob Gas 费用市场,以支持 Rollup 发布数据。这两条路径在定价方式以及数据的访问和保留方式上有所不同。

EVM 合约不能像读取普通合约存储那样读取 Blob 内容。以太坊共识层只在有限时间内提供 Blob 数据,之后客户端可以停止保留这些数据。EIP-4844 规定 Blob Gas 使用独立于常规执行 Gas 的定价规则,详见 EIP-4844 规范。

请区分用户支付的费用和 Rollup 运营方提交的批次发布交易。部分 L2 费用模型(包括配置为使用 Blob 的 OP Stack 网络)会将数据发布成本计入用户的 L2 费用。这并不代表每位 L2 用户都要在钱包中单独支付一个完整 Blob 的费用。

无文字示意图将 L2 上的交易执行路径与另一条路径分开,后者把数据压缩成批次并发布到 Ethereum。
概念图将 L2 执行与向 Ethereum 发布批次数据区分开;费用组成取决于具体网络。

Rollup 类型和网络配置会改变费用构成

Optimistic Rollup 的费用可以包含 L2 执行费,以及分摊给用户的数据批次发布成本。ZK Rollup 也会考虑执行成本和数据发布成本;批次证明的生成以及在以太坊上的验证,可能影响协议的经济成本。但这些成本不一定会在用户的交易回执中单独显示为“证明费”。

网络可以通过 calldata 或 Blob 发布数据,在压缩率、批次频率以及估算每位用户数据成本的方式上也可能不同。因此,只比较报价中的 L2 Gas 价格,可能会漏掉总费用中相当重要的一部分。

费用规则可能随网络升级而改变。介绍固定公式的旧计算器或文章,可能已不适用于当前网络。请同时查看网络当前显示的费用,以及适用版本对应的官方文档。

比较同一网络上的历史回执和当前报价时,也要保持同样的谨慎。网络名称相同,并不保证费用规则没有变化:数据发布方式或已启用的费用升级都可能改变。查看旧交易时,请核对日期、区块和协议版本,以免把 L1 价格影响与链上费用规则变化混为一谈。

OP Mainnet 的运营商费用只是特定网络的示例

Optimism 将 OP Mainnet 交易费用说明为执行 Gas 费加上 L1 数据费;Isthmus 升级后还会增加运营商费用。因此,其结构为:执行 Gas 费 + L1 数据费 +(适用时的)运营商费用。

不要将这套费用表直接当作所有以太坊 L2 的通用公式。OP Mainnet 文档也说明,数据费和运营商费用的参数取决于已启用的升级。其他采用 OP Stack 的网络,运营商设置或升级时间可能不同。

查询 OP Mainnet 费用时,请以 Optimism 最新的交易费用文档为准。对于 Base 或其他 L2,请查看相应网络自己的费用指南。采用相同的软件栈,并不保证两个网络收取的总费用相同。

用一份假设的交易回执计算各项费用

以下虚构示例用于说明类似 OP Mainnet 的三项费用结构。它不代表任何网络的当前费率,也不是钱包的真实报价。

假设项目金额
L2 执行费0.000008 ETH
L1 数据发布费0.000020 ETH
运营商费用0.000004 ETH
总计0.000032 ETH

计算为 0.000008 + 0.000020 + 0.000004 = 0.000032 ETH。在此例中,数据发布成本高于执行成本,但并非每笔交易都如此。各项占比会随着数据量、L1 需求、执行工作量和网络费用设置而变化。

总计不包含法币兑换、跨链桥费用、兑换协议费用、价格影响,以及交易所存入或提取费用。仅凭此金额无法计算交易的全部经济成本,也不能据此判断另一网络更便宜。

钱包报价可能与最终交易回执不同

钱包会在签名前,根据预计 Gas 用量、Gas 价格和数据费估算交易成本。交易被纳入区块前,费用市场可能发生变化;实际执行路径也可能与估算不同。最高费用是支出上限,不一定是最终收取的金额。

交易完成后,请在正确网络的区块浏览器中打开回执,查看已用 Gas、实际费用和交易是否成功。有些网络会单独显示 L1 数据费或运营商费用,另一些网络则可能只显示合并后的金额。应结合该网络的规则理解字段名称。

也请确认网络名称、Chain ID 和支付费用所用的代币。[以太坊主网 Gas 费用指南](/zh-CN/learn/ethereum-gas-fees-base-fee-priority-fee-gas-limit-explained)介绍了 L1 执行 Gas 与实际支付金额之间的区别。

将跨链桥、兑换和网络费用分开看

从以太坊向 L2 存入资产,是一笔在主网上发起的交易,因此可能产生 L1 Gas 费。在 L2 上兑换时,可能分别产生网络费、兑换合约的交易费和价格影响。提取回以太坊时,提取路径和 L1 执行也可能带来额外网络成本。

把这些费用统称为“L2 Gas”,会掩盖费用发生在哪个步骤。比较总额前,请分别核算网络费、跨链桥服务费、兑换费和交易所提取费。查看跨链桥路径时,也可以参考[加密资产转账网络检查清单](/zh-CN/learn/crypto-transfer-network-address-memo-checklist-explained)。

交易前,请依次确认:(1) 所选网络和支付费用所用的代币;(2) 执行、数据和运营商成本是否分项显示;(3) 报价时间和网络状况;(4) 存入、提取或兑换等独立步骤的费用;(5) 交易完成后的实际回执。了解报价包含哪些项目,比只比较一个未说明的数字更有用。

常见问题

Q1每个以太坊 L2 都会将 L1 数据费单独列出吗?

不会。Rollup 会向以太坊发布数据,但费用的展示方式各不相同。钱包或交易回执可能会将用户的数据发布成本合并到其他字段中,而不单独显示 L1 数据费。

Q2L2 用户需要直接为每个 Blob 付费吗?

用户通常不会单独购买 Blob。Rollup 运营方可能会使用 Blob 发布批次数据,而 L2 的费用规则可以将部分成本分摊给用户交易。

Q3从以太坊跨链到 L2 时,只需要准备 L2 费用吗?

不是。存入请求是在以太坊主网上发起的交易,因此可能需要支付 L1 Gas。后续 L2 交易或提取操作也可能在各自步骤产生费用,请逐项查看估算。

资料来源与延伸阅读

报告问题

我们会准备一封包含本文链接的邮件。发送后,Mark 才会收到你的反馈

快速检查

读完指南后,用 3 道题检查一下

问题 1 / 3

问题 01

为什么以太坊 Rollup 可能会对 L2 交易收取 L1 数据费?

选择答案即可查看解释

期权术语表