以太坊改进提案EIP-1559分析

如果以太坊改进提案(Ethereum improvement proposal)EIP-1559²得以实施,将成为用户在任何主流区块链竞标区块空间方式的最大改变。虽然拟议的规则相对简单,但该提案将对用户、矿工和钱包提供者带来重大变化,甚至会从整体上影响以太坊的安全性。
本文将首先分解该提案的不同构成部分,以便深入讨论;之后将分析该提案与其设计目标的吻合程度;最后探讨可能存在的缺陷。
设计目标
EIP-1559有四个设计目标:
1. 改善用户体验
比特币和以太坊等区块链平台使用的第一价格拍卖制度(First price auctions)易于理解和实施,但却效率低下(欲了解更多相关信息,请点击参考链接³和参考链接⁴)。最大的问题之一就是费用估算。EIP-1559试图通过对所有交易尽可能实施相同的费率(fee rate)来解决这一问题。在大多数情况下,用户只需决定是否支付费用,而不再决定出价多少。由于费用估算更加准确,这种做法有望降低手续费。
2. 实施松弛机制(Slack mechanism)
区块空间的使用需求未必稳定。因此,一些区块使用程度尚未过半,而另一些区块已经人满为患。松弛机制将允许某些区块扩容,只要其他区块相对较小即可。如此一来,便可以实施更长期的平均区块大小限制,但同时允许各个区块之间存在大小差异。
3. 提高安全性
当区块补贴(block subsidy)用完⁵时,仅依靠交易手续费(transaction fees)来保证安全性的区块链平台(例如将来的比特币)可能会遇到问题。EIP-1559试图将交易手续费和网络安全分离开来。交易手续费会被销毁,改为用更可靠的永久性区块补贴(perpetual block subsidy)来激励矿工。
4. 防止经济抽象(economic abstraction)
当用户可以使用任何代币(例如:稳定币)支付交易手续费时,原生代币(native token)的储备状态和货币溢价将受到威胁。EIP-1559规定交易必须消耗特定数量的ETH,并希望由此增加经济抽象的难度。
EIP-1559的作用原理:基本费+小费
根据协议,用户需缴纳一笔叫做基本费(BASEFEE)的最低费用,该费用为提案的首个构成元素。
由于协议无法阻止通过外部价格发现(price discovery)打包交易,所以最低费用制度通常无法实施。协议总是可以规定一个价格,但如果矿工和用户达成了一个更低的价格,则用户可以按协议向矿工付款,而矿工可以在协议外向用户退款。
EIP-1559通过彻底销毁基本费用制度来解决上述问题,防止退款的发生。
因为矿工收不到任何费用,因此用户必须以其他方式来激励矿工交易。那么从用户的角度来看,用户在提交交易时,必须设定好两个值:
首先,用户需要确定一笔叫做GAS_PREMIUM的额外费用(以下简称“小费”)作为将交易打包进区块的标价。通常情况下,它必须足够高,才能补偿矿工叔块风险(如:1 Gwei)的边际增长。当网络拥堵时,它允许交易者之间进行原始的第一价格拍卖。
其次,用户还需确定一个价格上限(FEECAP),代表他们愿意为交易打包进区块支付的最高金额(包括小费)。这一点有必要,因为实际上基本费每分钟都会上下浮动,并且所设费用上限不足的用户应当有机会被打包进后续的区块中。

概括地说,基本费允许协议在不促成链下市场(off-chain market)形成的前提下向用户收取一笔最低费用。它为提高区块空间利用机制的灵活性(例如统一的价格拍卖和弹性的区块大小)奠定了基础。

弹性的区块大小上限
区块大小的灵活性自然是越高越好,但如果区块大小不受控制,则会造成已知的激励问题。用更大的区块来提高叔块率(uncle rates)的能力会鼓励矿工中心化。此外,必须控制验证成本,来维持网络去信任化(trustless)的特性⁶。
弹性区块大小机制应运而生。其目标是允许矿工仅以可证的成本(provable cost)来制造更大的区块。孤块率(orphan rate)的提高本身并非可证成本,因为可以通过提高中心化程度来降低孤块率,但协议内的手续费销毁是可证成本。
在 EIP-1559中,矿工可以偶尔超过区块大小上限来应对突发需求,但仅限于有真正用户需求的情况。原始的基本费通过引入实际成本(销毁的费用)来阻止矿工通过垃圾交易扩充自己的区块。
EIP-1559之所以有可能应对突发需求,是因为其用两个值取代了区块大小现有的硬上限:一个10m gas/区块的长期目标和一个20m gas/区块ⁱ的新硬上限。(相关补充说明请查看注释i)
长期来看,网络会上下调整基本费,以达到理想的平均区块大小。当区块小于目标大小时,费用会逐渐下调来增加需求。当区块超出限制时,费用会逐渐增上调来减少需求。费用的变化程度由距10m的“距离”而定,但每个区块上下浮动的程度均不超过12.5%。
总之,在基本费调整机制下,用户若想达到理想的区块空间利用水平,需支付的费用有可能更高,也有可能更低。
预期效果
1. 改善用户体验
要评估用户和钱包提供者的用户体验,我们必须考虑系统在不同拥堵状态下的情况。
无拥堵状态:
每当区块低于 20m gas的最大上限时,用户就没有理由支付最低值之外的小费。即便基本费随着时间的推移上下调整,也依然如此。
如此一来,打包进区块就完全取决于基本费了。
愿意同时支付基本费和最低小费的用户将被打包进下一个区块ⁱⁱ(相关补充说明请查看注释ii)。只要没有拥堵,用户就能以固定价格购买区块空间。就好比你今天上亚马逊,会发现你中意的商品都标有固定价格,有别于拍卖中的竞价制度。用户看到标价后,要么接受交易,要么拒绝交易。如此一来,用户和钱包的费用估算就变得高度可预测了。
用户甚至可以将费用上限设为低于当前基本费的某个金额,从而等费用降低时被打包进区块。
偶尔拥堵的状态:
当矿工在10M gas以上的区块挖矿时,基本费就开始上升。实际上,它会一直上升,直到有一个10M gas或以下的区块被开发为止。如果下一个区块的容量是10M,基本费就将稳定在当前费用所在的位置。如果下一个区块容量低于10M,基本费就会开始下降。
理解这一点很重要。如果区块容量超出10m一段时间,交易就会变得非常昂贵,最终将需求拉低。那交易成本增长的速度有多快呢?
假设在第0个区块的基本费为10亿wei/gas。并假设ETH的价格为240美元,一笔典型的21k gas的交易成本为0.0005美元。只需经过10个20M gas的区块,交易成本就会增加至0.02美元。经过100个区块后,交易成本将增加至657美元。这就是指数增长的力量。

当区块接近20M gas的上限时,有紧急交易的用户多半会参与到小费拍卖中来,因为协议已经没有一种二进制的方式来确定交易的优先级了(之前,用户要么愿意支付基本费,要么不愿意)。
如此一来,网络拥堵时,协议就会退回现有的第一价格拍卖机制。
即使在小费拍卖中,交易者仍可预测基本费的高低。如果基本费在区块0时的虚拟起始值为100,则它最多可以在T1时达到100 * 112.5%,在T2时达到100 * 112.5%^ 2,在T3时达到100 * 112.5%^ 3,依此类推。降费的情况也是如此。
以初始值为100的基本费为例,图2的蓝色区域显示了其在未来的区块中可能达到的潜在水平。

拥堵加剧的状态:
由上文可知,EIP-1559允许在短时间内(而非较长时间内)使用更大的区块。在需求剧增30分钟后,一笔21,000 gas的简单交易的基本费将超过1,000美元(假设基本费初始值 = 1 Gwei)。
让基本费回归到更“正常”水平的唯一方法是开发10m以下的区块。
试想一下,如果连续出现20m gas的100个区块。接前述示例,一笔交易的平均成本增加到了657 美元。为了使基本费返回初始值,必须开发89个空块。或者,我们也可以开发183个5m gas的区块,或是371个7.5m gas的区块,依此类推。

因此,高度拥堵情况下的一种典型模式,就是一系列非常小或比较小的区块紧跟着一系列大的区块。这也合理,因为时间偏好高的用户现在可以提高他们的交易/挖矿速度。但是最终,基本费的上涨超出了交易者的需求,他们不得不等基本费再次下跌。
换个角度来看,松弛机制将价值许多区块的容量从不久的将来带到了眼前。但它本身无法产生更多的容量,最终,借来的始终需要归还。
2. 实施松弛机制
通过分析EIP-1559应对拥堵的方式,我们可以发现,其松弛机制与基本费在区块之间的最大变化金额密切相关。它调整得越慢,系统就能越好地处理交易需求的变化。
这种变化的共同主题是昼夜循环或工作日-周末循环的周期性。就其目前的形式来看,EIP-1559不允许区块在夜间增大然后到白天变得更大,因为这些时间段太长了,会导致白天的费用飙升至数十亿美元,并相应地在晚上迅速下跌至接近于零。
因此,松弛机制的作用范围为几分钟到半小时,超出此范围则无效。需求将区块大小往一个方向(如:满块)拉动的时间越长,基本费的上涨对其的反向拉动效果就越剧烈。
3. 提高安全性
许多区块链平台都实行通货紧缩的货币政策,即它们发行的新币数量随时间的推移逐渐减少。当发行量下降至足够低的水平时,安全性就变为由交易手续费来支付。EIP-1559摒弃了这种仅靠收费来维持安全性的模式,因为大部分的交易手续费不会激励矿工,而是会被销毁。
因此,可以说 EIP-1559为矿工提供了一种永久性的区块补贴,来确保协议的安全。但是,更准确地说,它将永久性区块补贴的设计选项优化地更为妥当。原因是费用的销毁对货币的供应起到了通缩的作用,从而允许在不增加总供应的情况下在其他地方发行新币。
由于有永久性区块补贴的协议为矿工带来了更稳定的收入来源,因此可以说 EIP-1559对以太坊的长期安全性和稳定性有积极影响。
4. 防止经济抽象
在EIP-1559之前,严格说来,交易手续费无须以ETH支付。虽然网络仅支持以ETH支付的费用,但理论上用户可以在带外(out-of-band)以任何货币类型向矿工付费。但是,矿工也可以通过MEV间接地⁷获得付款。例如,矿工可以在不收取手续费的情况下将去中心化交易所(DEX)的交易打包进来,因为他可以通过非法预先交易(front-running)在其他地方赚钱。
EIP-1559在很大程度上解决了这个问题。每笔交易的基本费部分都以ETH 计算,并且总是会被销毁。在这种情况下,无论是谁付款,这些ETH都会从货币的供应中消失。矿工仍然可以自由选择基本费较低的交易,但前提是他必须支付与以ETH计算的区块补贴之间的差额。矿工在该区块中会赚取更少的ETH,但用户则会保留更多的ETH。因此这对于代币供应而言是一场洗礼,总有人必须以ETH支付交易手续费。
之所以说EIP-1559“在很大程度上解决了这个问题”,是因为它可以防止对基本费(而不是小费)的经济抽象。由于小费并没有被销毁,因此协议无法强行规定其支付方式或支付地点。结果就像是EIP-1559提出之前的同类链下市场。但是,如上文所述,在大多数情况下,用户没有必要支付最低值之外的小费。
可能存在的问题
人们对EIP-1559的一个主要担忧是矿工是否可以并且是否愿意操纵基本费。
当基本费为零时,由于没有销毁,因此矿工会收到用户的全部出价。也需切记,只有当区块空间供不应求时,才会开始小费拍卖。
一旦费用接近于零,矿工可以简单地将费用永久保留在这个水平。如果他们从不在10m gas以上的区块挖矿,那基本费也绝不会增加。如果需求从不超过10m (或矿工决定设置的任何10m以下的上限),那么矿工将获得全部费用。
但是,对于矿工整体而言的最佳选择对矿工个体而言未必如此。这就是所谓的集体行动问题(collective action problem)。如果区块的上限为10m gas,而有的用户需要在20m gas的区块进行交易,那么只需一个矿工就可以打破这种联盟,将支付小费的交易打包进来。
要使基本费制度稳定地占据垄断地位,就需要一个矿工激活软分叉(MASF)。在MASF 中,超过50%的哈希率(hashrate)将保证忽略任何大于10M gas的区块,从而激励那一小部分人来遵循这种新实施的规则。
由于此攻击向量(attack vector)始终存在于任何网络上,因此我们目前不认为它是EIP-1559的特定风险。
小结
由上文的分析可知,EIP-1559在很大程度上名至实归。它应该可以增加费用估算的可预测性,非常短的高度拥堵时期除外,因为此时系统会退回到已建立的第一价格拍卖模型。由于基本费会呈指数增长,从而限制需求,因此这些时期注定会持续数分钟。
由于有了基本费这个有趣的构成元素,上述优点才有可能得以实现。该提案通过在协议中设置基本费这个最低费用,开辟了新的设计空间:从弹性区块大小到永久性区块补贴,再到更强的抗经济抽象能力,以及更好的拍卖模型。
EIP-1559的前途一片光明,但这并不意味着它已经达到了最佳状态。我们仅仅评估了现有参数与其自身的设计目标的吻合程度。有必要对该机制的不同配置展开进一步研究。