深入解析EIP 1559,为何说它是以太坊最重要的改进提案

原文标题:《深入解析 EIP 1559,为何说它是以太坊最重要的改进提案》

原文来源:巴比特

原文由加密货币研究员 Hasu 和 Georgios Konstantopoulos 联合完成,通过分析验证,他们得出结论称 EIP 1559 是以太坊最值得期待的变化之一。如果得到实施,它将对用户、矿工甚至以太坊自身的安全产生深远影响。

此外,在两位研究者看来,即使是根本不关心以太坊的读者,也应该了解 EIP-1559。

因为其涉及到的弹性区块大小上限及拥堵控制系统,可能会成为确保比特币区块后补贴(指可持续挖矿)的重要组成部分。

深入解析EIP 1559,为何说它是以太坊最重要的改进提案

在这篇分析文章当中,我们解开了 EIP 1559 提案的不同组成部分,使其更易于推理。然后,我们分析了该提案,并和其设计目标进行了对比,最后,我们研究了该提案可能存在的弱点。
EIP-1559 的四个设计目标

1. 更好的用户体验:比特币和以太坊等区块链使用的第一价格拍卖机制,尽管很容易实施,也很容易理解,但问题是效率也很低。(如果你想了解更多,这里和这里都有很好的解释)。最大的问题之一就是费用估算。EIP-1559 试图通过让所有交易尽可能支付相同的费率,来解决这一问题。在大多数情况下,用户将只决定是否支付费用,而无需进行竞价。由于更好的费用估算,这有望导致较低的费用。

2. 松弛机制:对区块空间的需求可能不稳定。结果是,一些区块处于半满的状态,而另一些区块则非常拥挤。松弛机制允许一些区块变大,而另一些区块则可以变小。这样我们就可以实施一个更长期的平均区块大小限制,但要考虑到各个区块之间的差异。

3. 更好的安全性:当区块补贴用完时,只依赖交易费用来获得安全性的区块链(例如未来的比特币)可能会遇到问题。EIP-1559 试图将网络安全与交易费用分离开来。交易费用被烧掉,然后矿工受到更可靠的永久性区块补贴的激励。

4. 防止经济抽象:当用户可以用任何代币(如稳定币)支付交易费用时,会威胁到原生代币(ETH)的储备状态和货币溢价。通过强制交易消耗特定数量的 ETH,EIP-1559 试图使经济抽象变得更加困难。

EIP-1559 是如何工作的?

BASEFEE + Tip
作为第一个构建块,协议规定了称为 BASEFEE(基本费用)的最低费用。
最低费用通常是不可强制执行的,因为该协议无法阻止关于交易包含的外部价格发现。协议总是可以命令一个价格,但是如果矿工和用户同意一个较低的价格,用户可以在协议中向矿工支付费用,矿工可以在协议之外向用户退款。
EIP-1559 通过烧掉整个 BASEFEE(基本费用)来解决这个问题,因此不能退还。
由于矿工收取不到任何 BASEFEE 费用,用户必须以不同的方式激励矿工将交易包含在内,这将我们带到用户的角度。提交交易时,用户必须配置两个值:
首先,他们确定一个 GAS_PREMIUM(从现在起,我们将它称为「tip」)作为包含出价。通常情况下,它必须高到足以补偿矿工挖到叔块的风险(例如 1 Gwei)。在交易拥挤的时候,它允许交易者之间进行旧的第一价格拍卖机制。
第二,用户确定一个 FEECAP,它代表了用户愿意为包含内容支付的最高金额(包括 tip)。这是必要的,因为 BASEFEE(基本费用)实际上可以向上或向下移动,正如我们稍后将看到的,并且设置了不足 FEECAP 的用户,应能够等待之后的区块包含交易。
总而言之,BASEFEE(基本费用)允许该协议强制执行最低费用,而不会激励形成链外市场。它为更灵活的区块空间利用机制(例如统一的价格拍卖和弹性区块大小)奠定了基础。

p1 

弹性区块大小上限

区块大小更多的灵活性,自然是可取的,但允许无限的区块大小会存在已知的激励问题。用更大的区块来推高叔块率的能力,为矿工集权提供了动力。此外,必须包含验证成本,以便网络可以保持无需信任。

这就是弹性区块大小机制的用武之地。其目标是允许矿工制造更大的区块,但成本必须是可证明的。孤块率的增加,本身并不是一个可证明的成本,因为它可以通过增加中心化来减轻,但是按协议收取费用是可以的。
在 EIP-1559 中,矿工可周期性地超过区块大小上限,以对突发需求做出反应,当然,这种情况只有在用户真正有需求的情况下才会发生。BASEFEE 原语通过引入实际成本(燃烧费)来阻止矿工通过垃圾交易来支撑他们的区块。
由于 EIP-1559 使用了两个值代替了现有的区块大小硬上限,因此有可能对突发需求做出反应:其长期目标是每个区块 1000 万 gas,以及每个区块 2000 万 gas 的新硬上限。
从长期来看,网络会上下调整 BASFEE 以达到所需的平均区块大小。当区块低于目标时,费用会随着时间的流逝而减少,以鼓励需求。当区块超出限制时,费用会随时间增加以抑制需求。变化的大小由距 1000 万 gas 的距离确定,但每个区块沿任一方向的上限为 12.5%。
总而言之,BASEFEE 调整机制使得用户可根据区块空间的利用率自动调整所需的交易费率。
更好的用户体验

为了评估用户和钱包提供商的 UX,我们必须考虑系统处于不同的拥堵状况。
无拥堵状态:当区块低于 2000 万 gas 的最大上限时,用户没有理由增加他们的 tip 费用。(即使 BASEFEE 随着时间的推移上下调整,这仍然适用)
结果,包含在区块中可完全由 BASEFEE 确定。
愿意支付 BASEFEE 加最低 tip 费用的用户将进入下一个区块。只要没有拥堵情况,用户就可以用固定价格购买区块空间。这就好比是今天你去亚马逊购物,然后看到你想要商品的固定价格,而不是在拍卖会上竞价一样。然后,用户要么接受交易,要么放弃交易。因此,用户和钱包的费用估算变得高度可预测。
用户甚至可以将其 FEECAP 设置为低于当前的 BASEFEE,以便在费用较低时等待包含在后面的区块中。
偶发拥堵状态:当区块 gas 超过 1000 万时,BASEFEE 开始上升。实际上,它会不断上升,直到下一个 1000 万或更少的 gas 被开采出来。如果下一个区块是 1000 万 gas,那么 BASEFEE 将稳定在目前的费用水平。如果下一个区块低于 1000 万 gas,则 BASEFEE 将开始下降。
这是一个重要的认识。如果区块超过 1000 万 gas 已有一段时间,则交易会变得非常昂贵,最终将需求推低。交易成本上升的速度有多快?

假设区块 0 的 BASEFEE 为每 gas 10 亿 wei,以 240 美元的 ETH 价格计算,典型的一笔 21 万 gas 交易会花费 0.0005 美元。仅在 10 个 2000 万 gas 的区块后,交易费用就变成了 0.02 美元,100 个区块之后,交易费用就变成了 657 美元,这就是指数增长的力量! 

p2 图 1

随着区块接近 2000 万 gas 的上限,我们希望有紧急交易需求的用户能够参与 tip 费用拍卖,因为该协议已不再采用二进制方式确定其中的优先级。
因此,在出现拥堵时,协议会回到现有的第一价格拍卖模型。
即使在小费拍卖中,BASEFEE 的大小对于交易者而言仍然是可预测的。如果 BASEFEE 在区块 0 的虚拟起始值为 100,则它最多可以在 T1 处达到 100*112.5%,在 T2 处达到 100*112.5%^2,在 T3 处达到 100*112.5%^3,依此类推。这同样适用于费用减少的情况。

图 2 中的彩色区域显示了基于其初始值(本例中为 100)的 BASEFEE 在未来区块中可能接收的潜在值。 

p3 图 2

拥堵加剧的状态:现在应该清楚的是,EIP-1559 允许在短时间内(而不是更长时间内)出现较大的区块。在仅仅 30 分钟的突发需求之后,一笔简单的 21000 gas 交易的 BASEFEE 将超过 1000 美元(假设初始 BASEFEE = 1 Gwei)。

BASEFEE 恢复到更「正常」水平的唯一途径,是挖取 1000 万 gas 以下的区块。
想象一下,已经有持续 100 个 2000 万 gas 的区块。为了与前面的例子保持一致,平均交易成本已增加到 657 美元以上。为了让 BASEFEE 回到起点,必须开采 89 个空区块。此外,我们还可以开采 183 个 500 万 gas 的区块,371 个 750 万 gas 的区块,等等。

p4  图 3

 因此,在高度拥堵的情况下,典型的模式是一系列大的区块,然后是一系列非常小的区块。这是有意义的,因为具有高时间偏好的用户,现在可以更快地确认其交易。但最终,BASEFEE 超出了交易方的需求,他们不得不等待 BASEFEE 再次下降。

对此的另一种思考方式是,松弛机制将一些价值相当于容量的区块从不久的将来拉到眼前。
但它无法产生更多的容量,最终必须偿还债务。
松弛机制(Slack mechanism)

在评论了 EIP-1559 是如何应对拥堵情况之后,我们可以看到它的松弛机制与 BASEFEE,在区块之间的最大变化量密切相关。它调整得越慢,系统就越能优雅地处理需求的变化。
这种变化的一个共同主题是昼-夜或工作日-周末循环的周期性。按照目前的形式,EIP-1559 不允许区块在夜间和白天持续变大,因为这些时段太长,费用会增长到数十亿美元,晚上也同样会迅速降到接近零的水平。
因此,松弛机制是在分钟——半小时的时间范围内工作的,但不能超过这个时间范围。较长的需求会将区块大小拉向一个方向,例如满区块时,其被上升的 BASEFEE 拉回来的力度就越猛烈。
更好的安全性

很多区块链都有通货紧缩的货币政策,这意味着它们发行的新币数量会随着时间的推移而下降(即常见的减半策略)。当发行量下降到足够低的水平时,支撑安全性的激励就来自于交易费用。EIP-1559 与这种只有一种费用的安全模式不兼容,因为大部分交易费不是用于激励矿工的,而是会被燃烧掉。
因此,可以说 EIP-1559 允许为矿工提供永久性的区块补贴,以确保该协议的安全。但考虑这一点的更好说法是:这将使永久性区块补贴作为一种设计方案更为可取。原因是,费用燃烧对币的供应起到了通货紧缩的作用,从而允许在其他地方发行新币,而不会使整体供应膨胀。
由于具有永久性区块补贴的协议,能够为矿工带来更稳定的收入流,可以公平地说,EIP-1559 对以太坊的长期安全和稳定性而言,具有积极的影响。
防止经济抽象

在应用 EIP-1559 之前,从技术上来讲,交易费用不一定是要用 ETH 支付。虽然网络仅支持以 ETH 支付费用,但理论上用户可通过元交易使用任何他们想要的 token 向矿工支付费用。但是,矿工也可以通过 MEV 间接获得报酬。例如,一个矿工可以纳入一笔无需任何费用的 DEX 交易,因为他可以通过抢先交易在其他地方赚钱。
EIP-1559 在很大程度上解决了此问题。每笔交易的 BASEFEE 部分都以 ETH 计价,并且总是被燃烧掉。在这种情况下,无论是谁付款,都会有一部分 ETH 供应会消失。矿工仍然可自由选择较低的 BASEFEE 交易,但前提是他支付了与 ETH 计价的区块补贴的差额。矿工在该区块中赚取的 ETH 较少,而用户保留的则更多。必须要有人用以太币支付这笔交易。
我们说「很大程度上解决了这个问题」,是因为 EIP-1559 可以防止对 BASEFEE 的经济抽象,但它不能阻止 tip 费用。由于 tip 费用没有被烧掉,因此协议就无法强制付款方式或付款地点,那么就有存在链下市场的可能。但是,正如我们前面所展示的,在大多数情况下,用户没有必要将其 tip 费用提高到最低要求之上。
可能存在的问题

EIP-1559 的一个主要问题是矿工是否能够操纵 BASEFEE,以及他们是否愿意。
当 BASEFEE 为 0 时,由于没有燃烧,矿工会收到用户的全部出价。还要记住,只有在对区块空间的需求超出可用供应量时,才会开始进行 tip 费用竞拍。
一旦收费接近于零,矿工们就会有一个简单的策略,可以将其永久保留在这个水平。如果他们从不开采高于 1000 万 gas 的区块,BASEFEE 也不会增加。如果需求从未超过 1000 万 gas(或矿工决定设定低于 1000 万 gas 的限制),则矿工将获得全部的费用。
但是,对于矿工整体而言,最好的选择不一定是单个矿工的最佳选择,这就是集体行动的问题。如果区块的上限为 1000 万 gas,并且市场有交易 2000 万 gas 的需求,那么只要有一个矿工,就可以打破联盟,并纳入包含 tip 费用的交易。
要使其成为稳定的垄断者,就需要一个矿工激活软分叉(MASF)。在 MASF 中,超过 50%的算力将保证忽略任何大于 1000 万 gas 的区块,从而激励少数人遵循新实施的规则。
由于这种攻击向量存在于任何网络上,因此我们目前不认为它是 EIP-1559 的特定风险。
总结

我们发现 EIP-1559 在很大程度上可以实现其承诺。除了非常短暂的高拥挤状况外,它应该可使费用估算更具可预测性,在这种情况下,系统会退回到已建立的第一价格拍卖模型。由于 BASEFEE 会以指数方式增长以抑制需求,因此持续的时间并不会太长。
BASEFEE 作为一个有趣的构建块,使得这些好处成为可能。它在协议中设置最低费用的能力,开辟了一个新的设计空间,从弹性区块大小、永久区块补贴、更好地抵抗经济抽象,到未来更好的竞拍模型。
EIP-1559 很有希望,但这并不意味着它也是最好的。我们仅根据其自我报告的目标来评估现有的一组参数。进一步研究该机制的不同配置,将会是一个好主意。
如果你想复制我们的数字和图表,或者运行自己的实验,欢迎访问我们在 GitHub 提供的代码。
最后,感谢 Su Zhu, Patrick McCorry, John Adler, Nick Johnson, Dankrad Feist, Tarun Chitra, James Prestwich 以及 Caleb Tebbe 提供的有益讨论和反馈。

律动 BlockBeats 提醒,根据银保监会等五部门于 2018 年 8 月发布《关于防范以「虚拟货币」「区块链」名义进行非法集资的风险提示》的文件,请广大公众理性看待区块链,不要盲目相信天花乱坠的承诺,树立正确的货币观念和投资理念,切实提高风险意识;对发现的违法犯罪线索,可积极向有关部门举报反映。    

以太坊 以太坊 认识以太坊、了解以太坊、学习以太坊