ETH即將升值?解讀以太坊EIP-1559提案
作者 :Hasu&Georgios Konstantopoulos
如果以太坊改进方案(Ethereum improvement proposal, EIP)1559实施的话,这将是一个用户在所有主流区块链平台中竞标区块空间方式的最大改变。虽然方案提出的规则相对简单,但它们将对用户,矿工和钱包提供商带来的重大变化,甚至会影响以太坊的整体安全性。
在此分析中,我们将分解提案的不同构成部分以便于深入讨论。我们还将根据其设计目标来分析提案。在最后,我们会探讨可能存在的缺陷。
设计目标
EIP-1559有着四个设计目标:
- 更好的用户体验(Better UX):比特币和以太坊等使用的第一价格拍卖(First price auctions)易于理解和实施,但是却效率低下。最大的问题之一就是费用估算。EIP-1559试图通过让所有交易尽可能多地支付相同的费用来解决这个问题。在大多数情况下,用户只会决定是否支付费用,而不再决定要出价多少。由于更好的费用估算,这有望带来费用的降低。
- 松弛机制(Slack mechanism):对区块空间的需求可能会非常不稳定。因此一些区块只有一半被使用,但另一些区块可能已经完全被占满。松弛机制将允许某些区块增大,而某些区块变小。通过这种方式,我们可以保持一个长期的平均区块大小限制,但同时允许各个区块之间存在差异。
- 更高的安全性(Better security):当区块奖励(block subsidy)用完时,依赖交易费用来保证安全的区块链(例如将来的比特币)可能会遇到很多问题。EIP-1559试图将交易费用中和网络安全性分离开来。交易费会被销毁,用更可靠的永久区块奖励(perpetual block subsidy)来奖励矿工。
- 防止经济抽象(Prevent economic abstraction):当用户可以使用任何代币(例如稳定币)支付交易费用时,这将威胁本币的储备状态和货币溢价。通过强制交易消耗特定数量的ETH,EIP-1559试图使经济抽象更加困难。
EIP-1559是如何运行的
基础费用 + 小费 (BASEFEE + Tip)
作为第一个基本组成部分,该协议规定了一个称为BASEFEE的最低费用。 最低费用通常是不可强制执行的,因为该协议无法阻止包含交易的外部价格发现(price discovery)。该协议始终可以规定一个价格,但是如果矿工和用户达成了一个更低的价格,则用户可以按协议向矿工付款,而矿工之后可以在协议外向用户退款。 EIP-1559通过销毁整个BASEFEE来解决此问题,因此退款将无法实现。 既然矿工不再收取任何费用,因此用户必须以其他方式来激励他们(包括和用户之间交易)。
这将从用户的方面进行分析。当提交一笔交易时,用户必须设定好两个值: 首先,他们需要确定GAS_PREMIUM(从现在开始简称为“小费”)作为打包进区块的出价。通常情况下,它必须足够高才能补偿矿工额外增加的叔块风险(例如1 Gwei)。在网络拥堵时,它允许交易者之间进行原始的第一价格拍卖。
其次,用户还需确定一个FEECAP,代表他们愿意为交易打包进区块支付的最高金额(包括小费)。这是非常必要的,因为BASEFEE实际上可以向上或向下浮动,正如我们之后将看到的。并且设定的FEECAP不足的用户应该能够等待被包含在以后的区块中。 总而言之,BASEFEE允许该协议强制执行最低费用,而不会促成链外市场的形成。它为更灵活的区块空间利用机制(例如统一的价格拍卖和弹性的区块大小)奠定了基础。
弹性区块大小的限制 区块大小具有更大的灵活性是好的,但是允许无限制的区块大小有着已知的激励机制问题。更大的区块有着提高叔块率(uncle rates)的能力,这会鼓励矿工倾向于中心化。此外,必须控制验证成本,以便网络可以保持去信任化(trustless)。 这就是弹性区块大小机制的用武之地。
目标是允许矿工制造更大的块,但只能在可证的成本(provable cost)的情况下。通过提高孤块率并不是可证明的成本,因为可以通过提高中心化程度来降低孤块率,但是按协议消耗费用是可以的。 在EIP-1559中,矿工可以定期地超过区块大小上限,以对突发需求做出反应,但只有在有真正用户需求的情况下才这样做。
BASEFEE这个前提通过引入实际成本(会被完全消耗掉的费用)来阻止矿工通过垃圾交易来扩充自己的区块。 对突发需求做出反应成为可能是由于EIP-1559用两个值代替了现有的硬性大小上限:一个长期目标10m gas / 区块和一个新的硬性上限规定20m gas / 区块。 长期来看,网络会上下调整BASEFEE,以达到理想的平均区块大小。
当区块小于目标大小时,费用会随着时间减少,以增大需求。当区块超出限制时,费用会随着时间增加来降低需求。更改的大小由离10m的“距离”来确定,但每个区块的任一方向的上限为12.5%。 总而言之,BASEFEE的调整机制使用户在理想的区块空间利用水平交易的费用更加便宜。
预期表现
更好的用户体验
为了评估使用者和钱包提供商的用户体验,我们必须考虑处于不同拥塞状态的系统。 无拥堵状态:每当区块低于20m gas的最大上限时,用户就没有理由支付最低值之外的小费。即使BASEFEE随着时间的推移上下调整,这同样如此。 这样的结果就是区块打包可以说完全由BASEFEE确定。
愿意支付BASEFEE加最低小费的用户将被打包进下一个区块。只要没有阻塞,用户就可以用一个固定价格购买区块空间。这就像今天去亚马逊,看到想要的商品按固定价格买下,而不必像拍卖中竞价一样。用户可以选择接受或拒绝交易。这样的话,用户和钱包的费用估算会是高度可预测的。
用户甚至可以将其费用上限(FEECAP)设置为低于当前的BASEFEE,以便在费用较低时等待被打包在之后的区块中。 偶尔拥堵的状态:当在10m gas以上的情况下进行挖矿时,BASEFEE就会开始上升。实际上,它会一直上升,直到有区块在10m gas或以下水平开采为止。
如果下一个区块是10m,那么BASEFEE将稳定在当前费用所在的位置。如果下一个区块低于10m, 那么BASEFEE将会开始下降。 这是一个重要的认知。如果区块超过10m一段时间,则交易会变得非常昂贵,最终将需求压低。 交易成本上升的速度有多快呢? 假设在第0区块,BASEFEE为10亿wei/gas。按照ETH价格为240美元的标准,一笔典型的21000 gas交易的成本为0.0005美元。仅当10个20m gas的区块之后,交易费用为0.02美元。100个区块之后,价格则为657美元。这就是指数级的增长。
(图1)
随着区块接近20m gas上限的时候,我们预计有紧急交易的用户会参与到小费拍卖,因为该协议已经没有一种二进制的方式来确定交易的优先级了(在这以前,用户要么愿意支付要么不愿支付BASEFEE)。 这种情况下,在拥塞时该协议就会回归到现有的第一价格拍卖模型上去。
即使在小费拍卖中,BASEFEE的大小对于交易者仍然是可预测的。如果BASEFEE在区块0时的虚拟起始值为100,则它最多可以在T1达到100 * 112.5%,在T2达到100 * 112.5%^ 2,在T3达到100 * 112.5%^ 3,依此类推。减少费用的情况也是如此。 图2中的彩色区域显示了BASEFEE在未来的块中基于其初始值(在此示例中为100)可能达到的潜在水平。
(图2)
拥塞加剧的状态:现在应该很清楚了,EIP-1559允许在较短的时间内(而不是较长的时间内)使用更大的区块。在需求剧增30分钟后,一次简单的21000gas的交易的BASEFEE将超过1000美元(假设初始BASEFEE = 1 Gwei)。 让BASEFEE回归“正常”水平的唯一方法是开采10m以下的区块。 想象一下,连续出现20m gas的100个区块。按照前面的示例,包含小费的平均交易成本增加到了657美元。为了使BASEFEE返回初始值,必须开采89个空块。换种方式来说,我们可以开采183个5m gas的区块,或是371个7.5m gas的区块,依此类推。
(图3)
因此,在高度拥塞情况下的典型模式将是一系列大区块之后,是一串非常小或相对小的区块。这都是有道理的,因为具有更高时间偏好的用户现在可以更快地让他们的交易被打包。但是最终,BASEFEE的增长超出了交易者的需求,他们不得不等待BASEFEE再次下降。 换种方式来说,松弛机制将价值许多区块的容量从不久的将来带到了现在。但是它无法产生更多的容量,最终必须偿还债务。
松弛机制
在分析EIP-1559应对拥堵的方式后,我们可以看到其松弛机制与BASEFEE在区块之间可以变动的最大数量紧密相关。它调整得越慢,系统就能越好地处理需求的变化。 这种变化的共同点是日夜或工作日/周末循环的周期性。按照目前的情况,EIP-1559不允许区块在夜间增大然后到白天变得更大,因为这些时间段太长了,以至于白天的费用将飙升至数十亿美元,并且同样会在晚上迅速降至近乎为零的水平。 因此,松弛机制只作用在几分钟到半小时的时间范围内,但不能超过此范围。将区块大小往一个一个方向(例如向满载)拉动的需求越大,BASEFEE上涨的反方向拉动效果就越剧烈。
更好的安全性
许多区块链都实行通货紧缩的货币政策,这意味着随着时间的推移,它们发行的新代币数量会减少。当发行额下降到足够低的水平时,交易费用应该用来负担安全性。EIP-1559与这种仅收费的安全模式不兼容,因为大部分交易费用不会用来激励矿工,但是会被销毁掉。 因此,可以说EIP-1559为矿工提供了一种永久性的区块补贴,以确保该协议的安全。
但是,考虑这一点的更好方法是说,它使永久性区块补贴作为一种更好的设计方案。原因是消耗交易费用对于代币的供应起到了通缩的作用,从而允许在不引起通货膨胀的情况下在其他地方发行新代币。 由于有永久性区块补贴的协议为矿工带来了更稳定的收入来源,因此可以说EIP-1559对以太坊的长期安全性和稳定性有着积极影响。
防止经济抽象
在EIP-1559之前,从技术上讲,交易费用不必以ETH支付。虽然网络仅支持以ETH支付的费用,但理论上用户可以向矿工支付任何货币类型的费用。但是,矿工也可以通过MEV间接地获得付款。例如,一个矿工可以打包一个DEX交易但不收取任何费用,因为他可以通过抢先交易在其他地方赚钱。 EIP-1559在很大程度上解决了这个问题。每个交易的BASEFEE部分都以ETH计算,并且总是会被消耗掉。在这种情况下,无论是谁付款,这些ETH都会从货币的供应中消失。
矿工仍然可以自由选择较低BASEFEE的交易,但前提是他必须支付和以ETH计算的区块补贴的差额。矿工在该区块中会赚取更少的ETH,但用户保留的会更多。因此对于代币供应是一场洗礼,总有人必须用ETH支付交易费用。 我们说“在很大程度上解决了这个问题”,是因为EIP-1559可以防止对BASEFEE的经济抽象,但并不适用于小费。原因在于小费并没有被消耗掉,因此该协议无法强制付款方式或付款地点。结果就是像EIP-1559之前那样可能存在相同类型的链下市场。但是,正如我们前面所提到的,在大多数情况下,用户并没有理由将小费提高到最低值之上。
可能存在的问题
EIP-1559的一个主要问题是矿工是否可以操纵基本费,以及是否愿意去这么做。 当BASEFEE为零时,由于没有消耗的存在,矿工会收到用户的全部出价。还需要注意的是小费拍卖只有在对区块空间的需求超出可用供应时才会开始。 一旦费用接近零,矿工将有一个简单的策略可以将费用永久保留在这个位置。如果他们从不开采高于10m gas的区块,那BASEFEE就不会增加。如果需求从未超过10m (或矿工决定的低于10m 的任意上限),那么矿工将获得全部的费用。
但是,对于矿工整体而言,最好的决定不一定是对单个矿工最佳的选择。这就是所谓的集体行动问题。如果区块的上限为10m gas,但这有对20m gas区块的需求存在,那么只需一个矿工就可以打破这种写协作,来打包支付小费的交易。 要使其成为稳定的垄断者,将需要到矿工激活的软分叉(miner-activated soft fork, MASF)。在MASF中,超过50%的哈希率将保证忽略任何大于10M gas区块,从而激励那一小部分人遵循这种新实施的规则。 由于此攻击媒介始终存在于任何网络上,因此我们目前不认为它是EIP-1559的特定风险。
总结
我们发现EIP-1559在很大程度上满足了它所承诺的内容。它应该会使费用估算更具可预测性,除开在非常短暂的高度拥挤状况的时候,在这种情况下系统会退回到已建立的第一价格拍卖模型上。这些时间将持续到最后一分钟,因为BASEFEE会指数增长来限制需求。 这些好处之所以能够实现是因为把BASEFEE当作了一种有意思的组成区块。它在协议中设置最低费用的能力开创了新的设计空间:从弹性区块大小,永久区块补贴,对经济抽象的更好抵抗,到之后更好的拍卖模型。 EIP-1559是很有前途的,但这并不意味着它也是最好的。我们仅根据其报告的目标评估了现有的参数情况。进一步研究该机制的不同配置将会是一个很好的主意。