EIP-1559:Gas计算指南

  • Aze
  • 更新于 2024-07-03 15:00
  • 阅读 381

在以太坊网络中,交易的Gas费由gas used * gas price决定。在EIP-1559实施后,Gas价格由两个部分组成:基础费(base fee)和优先费(priority fee)。

2021年8月5日以太坊完成了伦敦升级,EIP-1559 也随之生效并改变了矿工费的定价机制。

Gas费计算

在以太坊网络中,交易的Gas费由gas used * gas price决定。在EIP-1559实施后,Gas价格由两个部分组成:基础费(base fee)和优先费(priority fee)。

  • 基础费(Base Fee):由网络的繁忙程度决定,并且会根据需求自动调整。这部分费用会被销毁。
  • 优先费(Priority Fee):由用户自行设置,作为矿工的奖励。

Base Fee 的确定

基础费是由以太坊网络自动确定的,而不是由用户或矿工设置。基础费的目标是保持区块利用率在50%。其调整机制如下:

上一个区块的利用率 基础费调整
0% 减少最大12.5%
0% < 利用率 < 50% 减少小于12.5%
50% 保持不变
50% < 利用率 < 100% 增加小于12.5%
100% 增加最大12.5%

这种机制旨在平滑交易费用,防止突然的费用飙升。基础费的确定是完全自动化的,并且可以直接从网络读取。

例子

假设当前区块的基础费(Base Fee)为100 gwei,且上一个区块的利用率如下:

上一个区块的利用率 新的基础费计算 新的基础费
100% 100gwei×(1+0.125) 112.5 gwei
75% 100gwei×(1+0.10) 110 gwei
50% 100gwei 100 gwei
25% 100gwei×(1−0.10) 90 gwei
0% 100gwei×(1−0.125) 87.5 gwei

Max Fee

由于基础费是动态波动的,用户在提交交易时难以准确预测最终的Gas费用。因此,EIP-1559引入了Max Fee 参数,用于限制用户愿意支付的最高Gas价格。具体公式如下:

Total Gas Fee≤Max Fee Per Gas×Gas Used

这样设计的目的在于:

  1. 限制交易的最高Gas消耗,提供更可预测的费用控制。
  2. 防止在网络极端繁忙情况下产生过高的费用,保障用户的利益。

Priority Fee 的设置

  • 在正常、网络条件下,优先费接近2.0 GWEI就足够了。

  • 如果基础费加上优先费超过了用户设置的最高费用(Max Fee),则优先费将会被减少以保持在最高费用的上限内。

Max Fee 的计算

  • 1.125**6 =2.02(只有6个区块都是满载的情况下,基础费用才会翻倍)

  • 2倍基础gas费确保交易在六个连续的100%满载区块内仍然具有竞争力,从而提高交易成功的可能性。

  • Max Fee=2×Base Fee+Max Priority Fee

例子

假设基础费(Base Fee)为100 gwei,优先费(Max Priority Fee)为10 gwei。则最高费用(Max Fee)的计算如下:

参数
基础费(Base Fee) 100 gwei
优先费(Max Priority Fee) 10 gwei
最高费用(Max Fee) 2×100gwei+10gwei=210gwei

常用链接

参考资料

点赞 1
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Aze
Aze
0x758e...1541
Long the bitcoin, short the world.