跳到正文

以太坊优先费

以实务方式说明以太坊 EIP-1559 优先费、费用上限、实际 Gas 价格、打包激励、估算、交易替换与回执核对。

更新于

仅供教育参考,不构成交易、安全或投资建议。费用与打包结果取决于具体链、交易类型、区块条件、钱包、RPC、中继、构建者和验证者行为。

直接答案

在以太坊上,优先费(也称小费)是协议销毁基础费后,每单位执行 Gas 中留给区块费用接收方的金额。在 type-2 EIP-1559 交易中,maxPriorityFeePerGas 只是上限:每单位 Gas 的实际优先费为 min(maxPriorityFeePerGas, maxFeePerGas - baseFeePerGas),实际 Gas 价格等于基础费加上该实际优先费。

更高且有竞争力的小费可以提高及时打包的概率,但不能保证进入下一个区块、获得特定排序或成功执行。交易仍须有效,总费用上限必须覆盖打包区块的基础费;构建者或验证者还可能考虑私有订单流、捆绑交易、MEV、本地策略及其他约束。其他链和 L2 的术语与费用规则各不相同,因此在核实具体网络前不要照搬以太坊公式。

网络费用
0.000462 native
法币等值
$1.39
基础费
22 gwei

结果是教育用途的近似值。除非明确展示,否则未计入交易场所规则、税费、延迟、预言机行为及其他协议参数。

工作机制

  1. 固定链、交易类型、发送方、nonce、预期 calldata、Gas 上限、当前链头和提交路径。Type-2 交易提供 maxPriorityFeePerGasmaxFeePerGas;传统交易只有一个 gasPrice,在 EIP-1559 后被打包时,其中高于基础费的部分成为实际优先费。
  2. 根据条件估算,而不是复制一个固定小费。钱包或 RPC 可以使用近期区块、待处理需求和 eth_feeHistory;其奖励百分位描述的是按 Gas 使用量加权的历史实际优先费,不是对下一区块的承诺。
  3. 分别设置两个上限。maxPriorityFeePerGas 限制请求的小费,maxFeePerGas 限制基础费与小费之和。未使用的 Gas 和未用到的上限空间不会仅因获得授权就被收费。
  4. 对候选区块,必须满足 maxFeePerGas >= baseFeePerGas。随后计算 effectivePriorityFeePerGas = min(maxPriorityFeePerGas, maxFeePerGas - baseFeePerGas)effectiveGasPrice = baseFeePerGas + effectivePriorityFeePerGas
  5. 将小费视为打包激励,而非排序合约。区块构建者可能优化区块总价值、捆绑交易和有效性约束,而不是按小费排列所有公开交易;零或低小费仍可能被打包,高小费也仍可能等待或失败。
  6. 打包后核对回执与区块。记录 gasUsed、回执中的 effectiveGasPrice、区块的 baseFeePerGas、状态、区块哈希和确认深度。执行费为 gasUsed * effectiveGasPrice,优先费部分为 gasUsed * (effectiveGasPrice - baseFeePerGas)
  7. 如果交易持续待处理,在替换前重新评估基础费上限与提交路径。同一发送方、同一 nonce 的替换属于客户端和交易池策略,通常要求上调多个费用字段,并会形成竞速;钱包的取消操作无法逆转已打包的交易。

计算示例

  • 小费低于两个上限。 Gas 使用量为 70,000,基础费为 25 gwei,最高优先费为 3 gwei,最高费用为 40 gwei。实际优先费是 min(3, 40 - 25) = 3 gwei,实际 Gas 价格为 28 gwei。执行费是 70,000 * 28 gwei = 0.001960 ETH,其中 0.001750 ETH 被销毁,0.000210 ETH 作为优先费记入费用接收方。
  • 总费用上限生效。 上限仍为 3/40 gwei,但打包区块的基础费升至 38 gwei。实际优先费降为 min(3, 40 - 38) = 2 gwei,所以实际 Gas 价格为 40 gwei。当基础费为 41 gwei 时,即使请求的小费很高,该交易也无法在 40 gwei 的最高费用下被打包。
  • 估算并非保证。 如果近期 eth_feeHistory 百分位显示 2 gwei,这一观察值只是起点。需求突然增加、私有捆绑交易、RPC 的有限视野或构建者策略都可能改变打包结果;应核对实际回执,不要把估算当作服务级承诺。

风险

  • 使用了错误的链、费用代币、交易类型,或混淆 wei、gwei 与 ETH 等单位。
  • maxPriorityFeePerGas 当成必然支付的金额。
  • 忘记基础费上涨会压缩实际小费,或使交易因 maxFeePerGas 不足而失去打包资格。
  • 认为可见小费最高就能保证排在首位或进入下一区块。
  • 在需求快速变化时依赖过时的钱包、RPC 或费用历史估算。
  • 因钱包提供激进默认值,或混淆费用上限与实际成本而多付费用。
  • 认为高小费能修复无效 calldata、Gas 不足、执行回滚、过期截止时间或恶意合约。
  • 忽略私有中继、捆绑交易、MEV、审查以及构建者或验证者策略。
  • 替换错误的 nonce、未满足交易池加价规则,或发送相互冲突且带有价值转移的交易。
  • 把待处理标签当作全局事实,或把一次确认当作最终性。
  • 将以太坊的执行小费公式用于费用组成和接收方不同的 L2 或其他链。

常见误区

  • 最高优先费总会被支付。 它只是上限;总费用上限可能降低实际小费。
  • 更高小费保证成功。 它可能提高打包竞争力,但不能保证排序、执行成功或最终性。
  • 最高费用是在基础费与小费之外额外收取的费用。 对 type-2 执行 Gas 而言,它是覆盖两者的总上限。
  • 未使用的 Gas 或费用上限空间也会被花掉。 实际执行收费依据回执中的 Gas 使用量与实际 Gas 价格。
  • 每个网络都采用以太坊优先费机制。 L2 和其他链可能有额外或不同的费用市场、排序器策略与费用接收方。

相关主题

来源

导航

搜索知识库...