﻿---
title: "区块 Gas 上限"
description: "一份考虑分叉边界的以太坊区块 Gas 上限指南，涵盖 EIP-1559 目标、单笔交易上限、Gas 使用量、费用核算、吞吐估算及节点资源权衡。"
image: "https://wiki.fcontext.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://wiki.fcontext.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 区块 Gas 上限

> 仅供教育参考，不构成财务或安全建议。Gas 上限、目标、计价规则、单笔交易上限、操作码成本和客户端策略会因链、分叉及观察时间而异。

<a id="answer"></a>

## 直接答案

区块 Gas 上限是记录在以太坊区块头中的执行 Gas 容量上限。区块收录的交易必须符合协议的核算规则，使总 `gasUsed` 不超过 `gasLimit`。Gas 是一种抽象计量单位，其操作码、调用数据、内存、存储和退款规则会随分叉变化；它不直接等于 CPU 指令数、字节数或交易数。

Fusaka 后，以太坊主网客户端协调采用的基准为每区块 `60,000,000 gas`，但实际区块头才是权威值，验证者偏好仍可依当前相对父区块规则逐步调整上限。EIP-1559 的弹性系数为 `2`，长期目标因此是 `30,000,000 gas`；区块可暂时用满上限，而父区块用量超过目标时，下一块的基础费会上升。EIP-7825 另将用户交易声明的 Gas 上限限制为 `2^24 = 16,777,216 gas`，EIP-7934 则独立规定 `8,388,608 bytes` 的 RLP 执行区块上限。这些数值只适用于特定日期的主网，并非通用 EVM 常量。

<a id="mechanism"></a>

## 工作原理

1. 固定链、网络、区块哈希和编号、已激活分叉、客户端或 RPC 以及观察时间。读取区块头的 `gasLimit`、`gasUsed` 和 `baseFeePerGas`，不要用网站的静态参数表代替。
2. 区分区块 Gas 上限、EIP-1559 Gas 目标、交易声明的 Gas 上限、交易实际 Gas 使用量和每单位 Gas 价格。还要区分执行 Gas、Blob Gas、RLP 执行区块字节数以及 L2 特有计量方式。
3. 按已激活的 Gas 规则复现交易有效性和执行。纳入固有 Gas、调用数据、访问列表、内存扩展、冷访问与热访问、存储写入、预编译合约和退款。估算取决于状态及区块标签，并非保证。
4. 对账区块容量。汇总收据 Gas 使用量，或使用最后一张收据的累计值，确认 `gasUsed <= gasLimit`，并考虑交易顺序和状态相关成本。交易数既不等于 Gas 上限，也不代表固定 TPS。
5. 正确应用 EIP-1559。弹性系数为 `2` 时，目标为 `gasLimit / 2`；父区块用量高于目标会提高下一块基础费，低于目标则会降低。依当前规则，子区块上限还必须处在相对父区块约 `1/1024` 的严格范围内。基础费为需求定价，上限则约束可接纳的执行工作量。
6. 检查运行边界。即使区块仍有 Gas 空间，超过已激活单笔上限的交易也无效；即使总 Gas 低于上限，过大的 RLP 执行区块同样无效。未使用的交易 Gas 配额会释放，退款计数器则是另一个受分叉上限约束的减免机制。`REVERT` 会保留剩余 Gas，而顶层执行耗尽 Gas 会回滚状态并用完所提供的执行配额。
7. 对满块执行时间、状态增长、区块传播、漏块、链重组、构建者与验证者容量、客户端多样性和参数变化进行压力测试和监控。将实际区块与节点指标对照后，才能把更高上限视为可持续吞吐。

<a id="example"></a>

## 实例

- **简单转账上界。** 在 `60,000,000 gas` 上限下，一个区块理论上可容纳 `floor(60,000,000 / 21,000) = 2,857` 笔普通 ETH 转账。`30,000,000 gas` 目标可容纳 `1,428` 笔；按理想化的 `12-second` 时隙计算，即 `1,428 / 12 = 119 transactions/second`。这只是同质交易的上界示例，并非实测 TPS。
- **混合目标区块。** 假设一个目标区块包含转账 `400 * 21,000 = 8,400,000 gas`、兑换 `80 * 180,000 = 14,400,000 gas`，以及合约部署 `6 * 1,200,000 = 7,200,000 gas`。总用量为 `30,000,000 gas`，共 `486 transactions`；在既定时隙假设下为 `486 / 12 = 40.5 transactions/second`。同一 Gas 目标可支持截然不同的交易数量。
- **交易上限与实际收费。** 某交易声明 `200,000 gas`，但成功执行时 `gasUsed = 146,000`。有效价格为 `22 gwei` 时，费用是 `146,000 * 22 = 3,212,000 gwei = 0.003212 ETH`；未使用的 `54,000 gas` 不收费。相比之下，声明 `18,000,000 gas` 超过当前 `16,777,216 gas` 协议上限，无论区块剩余容量多少都无效。
- **基础费响应。** 当 `gasLimit = 60,000,000` 时，目标是 `30,000,000`。基础费从 `24 gwei` 起，父区块用满 `60,000,000 gas` 会使下一块基础费按最高 `12.5%` 上升至 `27 gwei`；空父区块则使其下降 `12.5%` 至 `21 gwei`。这不会改变区块上限，也不保证下一块的利用率。

<a id="risks"></a>

## 风险

- 使用过时的主网 Gas 上限值。
- 把以太坊参数套用到其他 EVM 链或 L2。
- 混淆区块上限与 EIP-1559 目标。
- 混淆区块上限与单笔交易上限。
- 混淆交易声明的 Gas 与实际 Gas 使用量。
- 把 Gas 当作固定的 CPU、字节或交易单位。
- 使用过时的操作码、调用数据或退款规则，或忽略独立的 RLP 区块大小上限。
- 使用 `eth_estimateGas` 时未指定预期状态和区块标签。
- 忽略状态相关执行和交易顺序。
- 混淆未使用的交易配额与独立的退款计数器。
- 忽略执行耗尽 Gas 或回滚时仍需支付的 Gas。
- 把执行 Gas 与 Blob Gas 当作同一资源。
- 只用同质转账推导 TPS。
- 忽略漏块、链重组和最终性延迟。
- 增加最坏情况下的区块执行与传播时间。
- 加快状态增长并提高归档要求。
- 提高验证者、构建者和 RPC 的硬件要求。
- 增加中心化或客户端分歧风险。
- 漏掉验证者偏好、客户端默认值或分叉变更。
- 把更高容量误当成费用或需求必然降低。

<a id="misconceptions"></a>

## 常见误区

- 区块 Gas 上限是固定且通用于以太坊或 EVM 的常量。
- `60,000,000 gas` 上限表示每个区块都应使用 6000 万 Gas，或 EIP-1559 目标也是 6000 万。
- 用区块上限除以 `21,000` 就能得到链的真实 TPS。
- 只要区块有空间，单笔交易就可用完整个区块；当前单笔上限是独立约束。
- 提高 Gas 上限会自动降低费用，而无需承担节点、状态、传播、需求或中心化方面的权衡。

<a id="related"></a>

## 相关主题

- [Gas 费](/zh-cn/crypto/gas-fee/)
- [以太坊虚拟机](/zh-cn/crypto/evm/)
- [区块时间](/zh-cn/crypto/block-time/)

<a id="sources"></a>

## 来源

- [Ethereum gas and fees: technical overview](https://ethereum.org/developers/docs/gas/) - Ethereum.org（访问日期：2026-08-18）
- [EIP-1559: Fee market change for ETH 1.0 chain](https://eips.ethereum.org/EIPS/eip-1559) - Ethereum Improvement Proposals（访问日期：2026-08-18）
- [EIP-3529: Reduction in refunds](https://eips.ethereum.org/EIPS/eip-3529) - Ethereum Improvement Proposals（访问日期：2026-08-18）
- [EIP-7825: Transaction Gas Limit Cap](https://eips.ethereum.org/EIPS/eip-7825) - Ethereum Improvement Proposals（访问日期：2026-08-18）
- [EIP-7934: RLP Execution Block Size Limit](https://eips.ethereum.org/EIPS/eip-7934) - Ethereum Improvement Proposals（访问日期：2026-08-18）
- [EIP-7935: Set default gas limit to 60M](https://eips.ethereum.org/EIPS/eip-7935) - Ethereum Improvement Proposals（访问日期：2026-08-18）
- [Fusaka Mainnet Announcement](https://blog.ethereum.org/2025/11/06/fusaka-mainnet-announcement) - Ethereum Foundation Blog（访问日期：2026-08-18）
- [JSON-RPC API](https://ethereum.org/developers/docs/apis/json-rpc/) - Ethereum.org（访问日期：2026-08-18）

Source: https://wiki.fcontext.com/zh-cn/crypto/block-gas-limit/index.mdx
