支付的总 gas 费分为两部分:base fee(基础费,交易后被销毁) 和 priority fee(小费)。
gas 费以 gwei 计价,1 个 gwei 等于 1 个 ETH 的十亿分之一。
Base fee 由协议设定,是交易必须至少支付的金额,只有支付了 Base fee 交易才会被视为有效, Priority fee 是激励验证者的小费。
假设 A 要向 B 支付 1 个 ETH。 这笔转账需要 21,000 单位的燃料,基础费是 10 gwei。 A 支付了 2 gwei 作为小费。
总费用等于:
使用的燃料单位数 *(基础费 + 优先费)
21,000 * (10 + 2) = 252,000 gwei(0.000252 个以太币)
也就是当 A 转账时,将从 A 帐户中扣除 1.000252 个以太币。 B 的帐户增加 1.0000 个以太币。 验证者收到价值 0.000042 个以太币的小费。 0.00021 个以太币的 base fee 被销毁。
为什么是 21,000 单位燃料
21000 是标准以太币转账的燃料限额,以太坊虚拟机(EVM)在处理一笔最简单的 ETH 转账时,需要执行一系列标准化的底层操作:
- 账户状态检查与更新 :验证发送方余额、签名,并更新发送方与接收方的账户状态。
- 交易记录 :在区块链上永久记录这笔交易。
- 基础开销 :包括日志记录、状态变更等基础计算步骤。
经过协议层面的测算,所有这些操作的总成本被精确地锚定为 21,000 Gas。当然这是最简单的一笔交易,所以21000 是以太坊网络“标准转账”的最低资源消耗要求!
每当发起一笔交易时都要设置一个燃料限额,这个数值>=21000,交易才会成功。比如我们设置了 50,000 单位燃料限额,如果实际消耗 30,000 单位,则最后会退回 20,000 单位,而如果设置 20,000 单位燃料限额且实际要消耗 30,000 单位,则交易会因为“Out of Gas”而失败,但已消耗的 20,000 Gas 费用将不予退还。