以太坊的 Gas 机制一直是其网络运行与用户体验的核心组成部分。近年来,随着 Layer2 解决方案的快速发展,以太坊核心开发团队不断提出优化提案,以降低交易成本、提升网络效率。最新提出的 EIP-7706 正是这一持续演进过程中的重要一步。
本文将系统梳理以太坊 Gas 机制的发展历程,重点解析 EIP-7706 的设计目标与实现细节,并讨论其对整个以太坊生态的潜在影响。
以太坊 Gas 模型演进背景
在以太坊早期设计中,交易费用采用简单的拍卖机制。用户需自行设定 Gas Price,矿工则根据出价高低决定交易打包顺序。这一机制虽简单直接,但逐渐暴露出诸多问题:
- 费用波动与共识成本不匹配:网络活跃时,区块易被填满,导致 Gas 价格剧烈波动,用户难以预测合理费用。
- 用户交易延迟:区块 Gas 限制固定,缺乏弹性机制适应需求变化,交易常需等待多个区块才能确认。
- 定价效率低下:用户难以准确估测合理 Gas 价格,经常出现费用过高或确认过慢的情况。
- 无区块奖励下的网络稳定性挑战:若仅依赖交易费用,可能引发自私挖矿等攻击,威胁网络安全。
EIP-1559:首次重大改革
2019 年,Vitalik Buterin 等开发者提出 EIP-1559,并在 2021 年 8 月的伦敦升级中实施。该提案彻底改变了 Gas 定价模型,引入以下核心机制:
- 基础费用(Base Fee):由系统自动计算,根据父区块的 Gas 使用量与目标值的偏差动态调整。若使用量超过目标,则基础费用上升;反之则下降。这使得费用预测更准确,避免了天价 Gas 的出现。
- 优先费用(Priority Fee):用户额外支付给矿工的小费,用于激励矿工优先打包交易,保留了部分排序灵活性。
此外,EIP-1559 引入的费用销毁机制(Base Fee 被销毁)使 ETH 进入通缩轨道,增强了其价值稳定性。
EIP-4844:应对 Layer2 数据成本挑战
随着 Rollup 技术的成熟,Layer2 解决方案需将大量数据(如状态证明或交易数据)通过 calldata 上传至主网以确保数据可用性。这导致两大问题:
- 高昂成本:calldata 消耗大量 Gas,最终转嫁给用户,使 L2 费用优势不明显。
- 区块空间竞争:每个区块的 Gas 限制(当前为 3000 万)制约了可容纳的数据量,挤占了普通交易的资源。
2022 年提出的 EIP-4844 在 2024 年丹昆升级中实施,引入了 Blob 交易 类型:
- Blob Data:新型数据字段,不可被 EVM 直接访问,仅能通过其哈希(VersionedHash)引用,大幅降低数据存储成本。
- 独立 Gas 机制:Blob Gas 采用指数函数模型计算基础费用,响应需求变化更灵敏,有效抑制数据滥用。
- 短期存储:Blob 数据存储周期较短,避免区块数据过度膨胀。
初始设置中,每个区块的目标 Blob 数为 3(约 0.375 MB),上限为 6(约 0.75 MB)。这一设计显著降低了 Rollup 运营成本,缓解了主网拥堵。
EIP-7706:细化执行环境 Gas 模型
2024 年 5 月,Vitalik 提出 EIP-7706,旨在进一步优化 calldata 的 Gas 计算模型。其核心思想是将 calldata 的 Gas 定价从执行 Gas 中剥离,并采用类似 EIP-4844 的指数函数机制。
关键设计细节
- Calldata 基础费用:采用与 Blob Gas 相同的指数函数计算模型,根据父区块实际用量与目标值的偏差动态调整费率。
- 多目标比率参数:引入
LIMIT_TARGET_RATIOS = [2, 2, 4]向量,分别对应执行操作、Blob Data 和 Calldata 的 Gas 目标比率。 - Calldata Gas 目标计算:当前执行 Gas 限制为 3000 万,Calldata 目标值约为 187.5 万 Gas。按平均每字节 10 Gas(非零字节 16 Gas,零字节 4 Gas)计算,可支持约 187.5 KB 数据,是当前平均用量的两倍。
这一设计通过经济手段抑制 calldata 滥用,确保其用量保持在合理范围内,同时为 Layer2 项目提供更低的成本与更稳定的费用预期。
对生态的影响
EIP-7706 的实施将与 EIP-4844 形成互补,进一步降低 Rollup 方案的运营成本,提升主网区块空间的利用效率。用户有望享受到更低廉的交易费用与更快的确认速度,加速以太坊生态的大规模采用。
常见问题
Q1: EIP-7706 与 EIP-4844 有何区别?
A: EIP-4844 针对 Blob 数据引入独立 Gas 机制,而 EIP-7706 则专注于优化 calldata 的定价模型。两者均旨在降低数据存储成本,但面向的数据类型与应用场景不同。
Q2: 普通用户如何从这些升级中受益?
A: 费用模型优化直接降低了 Layer2 方案的运营成本,最终体现为用户交易费用的下降。动态调整机制也使费用预测更准确,避免意外的高额支出。
Q3: EIP-7706 会导致 calldata 费用上涨吗?
A: 不会。该提案通过目标比率控制用量,防止滥用,但在合理范围内反而可能降低平均费用,尤其是对于大量使用 calldata 的 Layer2 项目。
Q4: 这些升级会影响以太坊的安全性吗?
A: 不会。Gas 模型的优化旨在提升经济效率与资源分配合理性,共识机制与网络安全模型并未改变,反而通过费用销毁等机制增强了经济安全性。
Q5: 开发者需要为 EIP-7706 做哪些适配?
A: 大多数应用无需修改。主要影响涉及大量 calldata 使用的项目(如 Rollup),需关注新 Gas 计算规则,优化数据提交策略以降低成本。
结语
以太坊的 Gas 机制演进体现了其持续优化用户体验与网络效率的决心。从 EIP-1559 到 EIP-4844,再到最新的 EIP-7706,每一步升级都针对特定问题提出精巧解决方案。未来,随着这些提案的落地与迭代,以太坊有望为下一代去中心化应用提供更高效、更经济的基础设施。