以太坊基金会宣布其Fusaka硬分叉将对每笔交易的Gas消耗设置1677,216单位上限,标志着网络首次在交易层面实施独立限制,脱离区块Gas上限。此变更已在Holesky和Sepolia测试网上生效,并将在Fusaka激活时部署到主网。
需要了解的是:
- 以太坊将单笔交易限制在2²⁴个Gas单位(约1678万),以防止单个过大调用垄断整个区块
- 基金会将此限制定位为并行执行功能的基础,需要超出阈值的工作负载分解为较小的顺序调用
- 所有主要客户端都在Fusaka版本中实施了此更改,并建议开发者针对测试网进行测试,并相应调整Gas估算逻辑
基金会将上限链接到并行执行策略
Toni Wahrstätter在10月21日的帖子中阐述了此举的理由,称该上限将缓解拒绝服务风险,并改善区块打包的可预测性。基金会强调,大多数用户不会受到实质性影响,因为现实世界的交易分布远低于此阈值。风险主要集中在批量合同、部署脚本和特殊路由器上,这些以前可能接近整个区块Gas目标的大约4500万个单位。
EIP-7825将交易级别的复杂性与系统级吞吐量区分开。
过大的调用在上限实施前为构建者和验证者带来了时间和调度问题。新的上限迫使超过1678万个Gas的工作负载分解为更小的操作。
基金会将此上限明确连接到未来的努力,如Glamsterdam时代预期的EIP-7928。可预测的有限交易是执行层中实现有意义并发的前提。即使在困难的内存池条件下,上限确保每个区块至少能容纳多个独立交易,减少最坏情况的竞争,简化构建者测试可并行执行路径的调度器设计。
技术实施及开发者影响
该规范遵循节俭的机械方法。EIP-7825的抽象中声明了将有限制设置为“每笔交易16,777,216(2²⁴)个Gas”,以提高对某些拒绝服务向量的抵御能力,并使交易处理更具可预测性,因为区块限制上升。基于这种简单性,核心开发渠道支持这一受到良好界定的约束,保留与更雄心勃勃的扩展工作兼容。
编码和通信上限的辩论持续了几个月。
在以太坊Magicians和AllCoreDevs会议中讨论了命名和参数化。一个帖子总结了核心保证:将区块目标与2²⁴的倍数对齐,以便如果内存池包含n个合格的交易,构建者总能包含至少n个交易。
Geth、Erigon、Reth、Nethermind和Besu都在Fusaka版本中实施了更改。基金会指出,eth_call语义不受影响,但超过2²⁴的Gas限制的预签名交易需要重新签名至低于上限。
开发者应在Holesky或Sepolia上进行测试,重新调整接近限制的批处理操作,并调整Gas估算逻辑,以便在构造超过上限时快速失败。
关键术语
Gas是以太坊中度量计算努力的单位。每项操作都会消耗特定数量的Gas,用户需以太支付。区块Gas限制指定一个区块中所有交易可以消耗的总Gas量。硬分叉是需要所有节点更新其软件的网络级升级。测试网如Holesky和Sepolia允许开发者在主网部署前进行更改测试。
并行执行允许网络同时处理多个不冲突的交易,而不是依次执行。拒绝服务向量是可能减慢或停止网络操作的攻击方法。内存池保存待加入区块的等待交易。
政策背景和市场反应
以太坊的开发哲学偏好推迟复杂性到更高层次的最小、通用约束。EIP-7825通过设定一个上限保护网络活跃性,而不规定合同行为,符合这一模式。该更改避开费用市场更改,将二维经济和区块目标留给其他提案。
基金会描述这一上限为“在未来硬分叉中更高吞吐量奠定更安全和可预测基础”。这种措辞抓住了限制单笔交易规模与为更大容量基础设施准备之间的权衡。新闻发布时,以太坊交易价格为$3,835。
结尾思考
Fusaka硬分叉引入了以太坊首个协议级别的每笔交易Gas上限,设为16,777,216单位。基金会将上限定位为并行执行的基础,同时缓解拒绝服务风险,期望对典型用户影响最小。

