EIP-1559升级提案中是如何确定BASEFEE的

215 阅读2分钟

EIP-1559 是以太坊的一项重要的费用市场改革提案,旨在改进交易费用的确定机制,并引入一种新的费用结构。在 EIP-1559 中,BASEFEE 是一个核心概念,它是动态调整的交易基础费用,用于调节网络拥堵情况。以下是 BASEFEE 的确定机制:


1. BASEFEE 的作用

  • BASEFEE 是每笔交易必须支付的基础费用,用于调节网络拥堵。
  • 它会被销毁(burned),而不是支付给矿工,从而减少以太坊的流通量。
  • 它的动态调整机制旨在使区块的利用率(gas used)趋近于目标值(target gas used)。

2. BASEFEE 的计算

BASEFEE 是根据前一个区块的 gas 使用情况动态调整的。具体计算规则如下:

(1)目标 Gas 使用量(Target Gas Used)

  • 每个区块有一个目标 gas 使用量,通常设置为当前区块 gas 上限(gas limit)的 50%,即 target_gas_used = gas_limit / 2

(2)调整公式

BASEFEE 的调整基于前一个区块的 gas 使用量(parent_gas_used)与目标 gas 使用量(target_gas_used)的差异。公式如下:

basefeecurrent=basefeeparent×(1+parent_gas_usedtarget_gas_usedtarget_gas_used×1basefee_max_change_denominator)\text{basefee}_{\text{current}} = \text{basefee}_{\text{parent}} \times \left(1 + \frac{\text{parent\_gas\_used} - \text{target\_gas\_used}}{\text{target\_gas\_used}} \times \frac{1}{\text{basefee\_max\_change\_denominator}}\right)
  • parent_gas_used:前一个区块实际使用的 gas 量。
  • target_gas_used:目标 gas 使用量(通常为 gas limit 的 50%)。
  • basefee_max_change_denominator:一个常数,用于限制 BASEFEE 的最大调整幅度(通常为 8)。

(3)调整方向

  • 如果前一个区块的 gas 使用量 高于 目标值(parent_gas_used > target_gas_used),BASEFEE 会 增加,以减少网络拥堵。
  • 如果前一个区块的 gas 使用量 低于 目标值(parent_gas_used < target_gas_used),BASEFEE 会 减少,以鼓励更多交易。

(4)调整幅度限制

  • BASEFEE 的调整幅度受到限制,每次调整的最大幅度为当前 BASEFEE 的 12.5%(即 1/8),这是通过 basefee_max_change_denominator 实现的。

3. BASEFEE 的动态调整示例

假设:

  • 当前 BASEFEE 为 100 Gwei。
  • 目标 gas 使用量为 15,000,000 gas。
  • 前一个区块的实际 gas 使用量为 18,000,000 gas(高于目标值)。
  • basefee_max_change_denominator 为 8。

根据公式:

basefeecurrent=100×(1+18,000,00015,000,00015,000,000×18)\text{basefee}_{\text{current}} = 100 \times \left(1 + \frac{18,000,000 - 15,000,000}{15,000,000} \times \frac{1}{8}\right)

计算:

basefeecurrent=100×(1+3,000,00015,000,000×18)=100×(1+0.2×0.125)=100×1.025=102.5 Gwei\text{basefee}_{\text{current}} = 100 \times \left(1 + \frac{3,000,000}{15,000,000} \times \frac{1}{8}\right) = 100 \times \left(1 + 0.2 \times 0.125\right) = 100 \times 1.025 = 102.5 \text{ Gwei}

因此,BASEFEE 会从 100 Gwei 增加到 102.5 Gwei。


4. BASEFEE 的特点

  • 动态调整:BASEFEE 会根据网络拥堵情况自动调整,无需用户手动设置。
  • 销毁机制:BASEFEE 会被销毁,而不是支付给矿工,这有助于减少以太坊的流通量。
  • 交易费用结构:用户支付的交易费用由 BASEFEE 和优先费(Priority Fee,即矿工小费)组成。

5. 总结

EIP-1559 通过引入 BASEFEE 机制,使交易费用更加可预测和稳定。BASEFEE 的动态调整基于前一个区块的 gas 使用情况,目标是使区块的 gas 使用量趋近于目标值,从而有效管理网络拥堵。