900383.png

由于以太坊已升级至 PoS 共识机制,因此本文中的矿工部分信息已过时,仅供参考。以太坊的最新共识机制介绍请点击下方链接查看。

上篇文章中,我们简要介绍了以太坊伦敦升级中即将执行的五个 EIP(以太坊改进提案)。这篇文章,我们将详细介绍本次升级中最具争议和受关注的提案:EIP-1559。

关于 EIP-1559

EIP-1559 将调整当前以太坊主网(Eth1)的矿工费机制。该提案将引入 baseFee(基础费用),baseFee 会根据以太坊区块空间的使用情况自动调整链上操作所需的 Gas Price,从而帮助钱包服务商和用户便捷估算操作的费用。

此外,EIP-1559 增加了一个新的交易类型,该类型允许用户自主设定对当前操作愿意支付的最高费用(maxFee)和支付给矿工的最高费用(maxPriorityFee),并可将最高费用与 baseFee 和矿工费用的差值退还用户。

而且,EIP-1559 将销毁 baseFee(基础费用),一定程度上减缓 ETH 的通胀速度,因此,社区中不少人认为这是对以太坊经济的一项重要改进。

imToken 如何支持 EIP-1559

imToken 支持伦敦升级,对本次升级用户无需进行额外操作。

升级完成后,imToken 用户仍可以正常使用当前版本 imToken 的以太坊钱包功能并发送交易。交易中的矿工费设置以 GasPrice 表示,GasPrice 的预估将基于 EIP-1559 规则。

关于自定义设置 EIP-1559 费用机制中的 maxPriorityFee(支付给矿工的小费)和 maxFee(最高费用),该功能预计将在后续版本 imToken v2.9.6 中尽快提供。

关于交易费用的变化,对此我们暂时无法预计,需要在 EIP-1559 启动后继续观察。

EIP-1559 设计目标

更好的用户体验

当前的以太坊和比特币都采用第一价格竞拍机制,这种费用机制简单但缺乏效率,其中最大的问题在于费用估计。EIP-1559 试图通过让所有的交易尽可能支付相同的费用来解决该问题。多数情况下,用户只需要决定是否发起交易,而无需考虑费用该如何设置。

可变区块容量

区块空间利用率往往是变化的,有些区块空间闲置,而有些区块塞满交易。可变区块容量将允许区块大小随实际需求变动。

更好的安全性

当区块奖励消失,仅靠交易费用不足以激励矿工维护网络安全。EIP-1559 通过销毁交易费用,即可在不增加总供应量的前提下,延长通过区块奖励激励矿工的时间,从而保障网络的安全性。

防止经济抽象

简单来说,即只允许使用 ETH 支付交易费用。如果用户可用任何代币支付交易费用,则可能会威胁到 ETH 的储备地位。EIP-1559 通过强制把 ETH 作为费用代币来缓解这一问题。

EIP-1559 如何工作

升级前的矿工费机制

  • 矿工费 = GasPrice * GasUsed
    • GasUsed(gas):交易消耗的总 gas 数量。
    • GasPrice(gwei):即对单位 gas 的定价,1 gwei= 10^(-9) eth。
  • 采用竞价机制,GasPrice 设置越高,交易处理速度越快。
  • 交易由矿工处理,矿工费完全由矿工收取。

升级后的费用机制

  • 交易费用 = (baseFee + PriorityFee)* GasUsed

对比升级前后的公式,可以看出 EIP-1559 是将 GasPrice 拆分成了两个费率的组合:baseFeePriorityFee

baseFee(基础费用)

baseFee 会根据上一区块的空间利用率自动调整,如果利用率超过 50%,则提升当前区块的 baseFee;反之降低。

按照 baseFee 计算公式,相邻区块间的 baseFee 变化幅度在 ±12.5% 之间:

  • 如果上一区块空间利用率为 100%,则当前区块 baseFee 将自动提升 12.5%
  • 如果上一区块空间利用率为 0%,则当前区块 baseFee 将自动降低 12.5%

不同于原来的矿工费机制,EIP-1559 升级后,交易费用不完全由矿工收取,其中 baseFee 将被完全销毁。

PriorityFee(小费)

PriorityFee 表示给矿工的小费,延续了竞价设计。如果希望自己的交易在区块中被尽快打包,可通过设置 PriorityFee 激励矿工,矿工将优先处理 PriorityFee 高的交易。

同时,用户还可以自行设置 PriorityFee 的最高值,即付给矿工小费的上限,也叫 maxPriorityFee。

maxFee(最高费用)

maxFee 表示用户愿意对某笔交易可支付的最高交易费用。对应到公式中,maxFee = baseFee + maxPriorityFee,其中 maxFee 和 maxPriorityFee 都支持用户自行设置,baseFee 则由算法自动给出。

注:升级后「矿工费」的说法已经不合适了,因为费用中的 baseFee 是要销毁的,只有 PriorityFee 由矿工收取。或许 EIP-1559 升级后,我们应该在以太坊生态中弃用「矿工费」的说法了。

EIP-1559 交易费用计算实例

  • 升级前
    • 矿工费 = GasPrice * GasUsed
  • 升级后
    • 交易费用 = (baseFee + PriorityFee)* GasUsed
    • maxFee >= baseFee + maxPriorityFee

可能出现的各种费用情况,单位 gwei

Snipaste_2021-08-05_17-14-02.png

如何看待 EIP-1559

EIP-1559 历经了两年的讨论,至今仍然备受争议,对于 EIP-1559 的利弊,社区中有很多严肃深入的思考和讨论,感兴趣的同学可以查看:

  1. EIP-1559 提案:EIP-1559: Fee market change for ETH 1.0 chain 
  2. 中文资料汇总:链闻精选 | 读懂以太坊 EIP-1559 提案,它为何备受争议?
  3. 英文资料汇总:EIP-1559 Resources 🔥

EIP-1559 相关工具

参考资料

  1. Deribit Insights | Analysis of EIP-1559
  2. Chang-Wu:EIP-1559 

---

如果你对 EIP-1559 感兴趣或有疑问,欢迎扫描下方海报二维码参与讨论。

EIP-1559___.png