EIP 1559 是以太坊最值得期待的变化之一。如果得到实施,它将对用户、矿工甚至以太坊自身的安全产生深远影响。
如果实施,以太坊改进提案 EIP-1559 将会带来任何主要区块链网络中用户竞价区块空间方式的最大改变。虽然此提案的规则相对简单,但它将对用户、矿工和钱包提供商将带来重大的变化,甚至会给整个以太坊网络的安全性带来影响。
在这篇分析性文章中,我们将理清此提案的不同组件模块,使其更容易理解。然后根据此提案的设计目标来对其进行分析,最后再来审视一下此提案可能存在的弱点。
EIP-1559 有着四大设计目标:
EIP-1559 提案试图通过使所有的交易都尽可能支付相同的费率,从而解决这一问题。基于此提案,在大多数情况下,用户只需要决定是否愿意接受和支付此笔费用,而不再需要决定出价多少。由于这将会带来更好的交易费预估,因此有望带来更低的交易费。
弹性的区块大小限制:用户对区块空间的需求可能是不稳定的,其结果是,一些区块的空间只使用了一半,而另一些区块则非常满。一个弹性的区块大小限制将允许某些区块更大,只要其他区块更小。通过这种方式,我们可以执行一个更长期的平均区块大小限制,同时允许单个区块的大小存在差异。
更好的安全性:对于仅依靠交易费来保证安全性的区块链 (比如未来的比特币链) 来说,当区块奖励耗尽时 (备注:未来当所有 2100 万比特币挖出时,比特币区块奖励归零,矿工的唯一收益将来源于用户的交易费),该区块链可能会遇到问题。
EIP-1559 旨在从交易费中解决网络的安全问题。基于此提案,交易费将被销毁,而矿工 (或 Eth2验证者) 将获得更可靠的永久性区块补贴作为激励。
作为 EIP-1559 提案的首个构建模块,协议将要求用户支付一笔称为 BASEFEE 的最低交易费。[备注:BASEFEE 直译过来就是“基本费用”。根据此提案的发起者 Eric Conner 所述,以太坊协议会根据网络的拥堵情况对 BASEFEE 进行上下调整,也就是说,BASEFEE 并不是固定不变的]。
在当前的以太坊或比特币网络中,通常是难以执行最低交易费模式的,因为协议无法阻止交易打包的外部价格发现:比如,协议可以规定一个交易费价格A,但如果矿工和用户之间协商了一个更低的价格B,那用户可以根据协议规定向矿工支付费用A,但之后矿工可以在协议之外向用户退款。
EIP-1559 提案通过销毁所有的 BASEFEE 来解决这一问题。
基于 EIP-1559 提案,由于矿工不会获得任何的 BASEFEE 费用,用户必须通过另一种方式来激励矿工打包自己的交易。这将我们带到了用户的角度。基于此提案,当用户在提交交易时,必须设置两个值:
总之,BASEFEE 允许协议执行一种**最低费用模式**,同时不会激励一个链下费用市场形成 (即不会出现用户私下与矿工协商交易费的问题)。它为形成一个更加灵活的区块空间使用机制 (比如统一的价格拍卖和弹性的区块大小) 奠定基础。
上图:BASEFEE 作为 EIP-1559 提案的一个组成模块,带来弹性的区块大小限制、更好的费用拍卖机制、更加可预测的矿工收入等。
更加灵活的区块大小是可取的,但无上限的区块大小将存在激励问题:更大的区块将导致更高的叔块率,进而激励矿工集中化。此外,验证成本必须得到控制,这样区块链网络才能维持其无须信任性。
这就引入了弹性的区块大小机制。其目标是允许矿工创建更大的区块,但只需要支付可被证明的成本。增加的孤块率本身并不是一个可被证明的成本,因为这一成本可以通过增加挖矿的集中化来降低,但在协议内销毁的交易费就是一种可被证明的成本。
基于 EIP-1559 提案,矿工可以周期性地超过区块大小限制,以应对激增的交易需求,但只有当用户真正存在需要并为此付费的情况下才会这样做。BASEFEE 机制通过引入实际的成本 (费用销毁) 来抑制矿工将垃圾交易填充进他们的区块。
由于当前的 EIP-1559 提议使用两个值 (长期目标是每个区块1000万Gas & 新的区块Gas上限是2000万gas) 来取代当前固定的区块大小上限 (备注:当前以太坊区块的Gas上限为1000万),使得应对激增的交易需求成为可能。
长期来看,以太坊网络会上下调整 BASFEE来达到期望的平均区块大小:
区块大小的变化是由其与 1000 万 Gas 的差距来决定的,但每个区块都可以在此基础上增加或者减少 12.5% 的上限。
总结而言,对于用户来说,BASEFEE 的上下调整机制将使交易的成本更高或更低,从而达到所期望的区块空间利用率水平。
为了评估用户和钱包提供商的体验,我们需要考虑系统处于不同的拥堵情况。
当网络不拥堵的时候:基于 EIP-1559 提案,无论何时当区块低于 2000 万 Gas 的最高上限时,用户没有理由去增加自己的 Tip 费用 (只需按最低标准支付),即便 BASEFEE 会随着时间的推移而上下浮动。
这种情况下,交易的打包完全由 BASEFEE 决定。愿意支付这笔 BASEFEE + 最低的 Tip 费用的用户,其交易将被打包进入下个区块。无论何时当网络不拥堵时,用户都可以以固定的价格购买区块空间。这与当前你前往亚马逊上看到某个固定价格的商品 (而无需通过拍卖对其进行竞价) 的体验是一样的。用户要么选择接受这个价位,要么离开。这带来的结果是,用户和钱包的费用预估将变得高度可预测。
用户甚至可以将交易的 FEECAP 设置成比当前的 BASEFEE 更低,这意味着用户愿意等到之后当 BASEFEE 变得更低时使自己的交易被打包。
当网络拥堵的情况时:随着区块大小超过 1000 万 Gas 的区块被挖出,BASEFEE 将开始增加。事实上,BASEFEE 费用会一直增加,直到某个大小为 1000 万 Gas (或更低) 的区块被挖出。
这是一个非常重要的认知。如果区块大小已经有一段时间高于 1000 万 Gas,那交易费可能会很高,这最终将使得用户交易需求的回落。那这种情况下,交易的成本上升得有多快呢?
假设在区块0的 BASEFEE 是每单位的 Gas 价格为 10 亿 wei,同时假设 ETH 价格为 240 美元,那么一笔典型的消耗 21,000 gas 的交易的成本将是 0.0005 美元。如果之后的 10 个区块的大小是 2000 万 Gas,那么交易的成本将是 0.02 美元,等到第 100 个区块时,交易成本将是 657 美元。这就是指数增长的力量!见下图:
图1:30分钟内,满块的交易费呈指数增长。
随着区块接近 2000 万 Gas 的上限,预计有着紧急交易需求的用户将会使用 Tip 拍卖方式 *(*即通过增加 Tip 费用来使自己的交易尽快被打包),因为此时协议已不再采用二进制方式确定交易的优先级 (这种情况出现之前,用户可以选择是否愿意接受当前的 BASEFEE 费用)。
其结果是,在网络拥堵期间,协议将会重新使用当前的最高价拍卖模式。
即便是在 Tip 费用竞价期间,BASEFEE 对于交易者来说也是可以预测的。假设 BASEFEE 在区块0的起始值是 100,那么这个值在 T1 处至多可以达到 100 112.5%,在 T2 处达到 100 112.5%^2,在 T3 处达到 100 * 112.5%^3,以此类推。这同样适用于 BASEFEE 逐步降低的情况。
下图中的蓝色部分显示了这个初始 BASEFEE 值 (本例中是 100) 在未来区块中可能增长的值。
拥堵加剧的情况:如上所述,EIP-1559 允许在短时间内 (而不是长时间) 出现较大的区块。在激增的需求持续了 30 分钟之后,对于一笔消耗 21000 Gas 的交易来说,BASEFEE 费用将已经超过了 1000 美元 (假设初始的 BASEFEE = 1 Gwei)。
使 BASEFEE 回落到更加“正常”的水平的唯一方法是**挖出小于 1000 万 Gas 的区块**。
想象一下,如果已经有连续 100 个区块大小是 2000 万 Gas,沿用上面的例子,此时平均的交易成本已经增长到了 657 美元以上 (BASEFEE + Tip)。要想让 BASEFEE 重新回落至初始值,就必须开采 89 个空块;或者,我们也可以开采 183 个大小为 500 万 Gas 的区块,或者 371 个大小为 750 万 Gas 的区块,以此类推。见下图:
图 3:当连续 100 个区块为满块时,要想让 BASEFEE 回落到初始值需要开采的区块数量。
因此,在高度拥堵的情况下,典型的情况是一些很大的区块,之后跟着一些非常小的区块。这是有理由的,因为这种情况下,需要紧急进行交易的用户可以更快地使自己的交易被确认。但最终,BASEFEE 的增长会超出交易者的需求,使得交易者不得不等到 BASEFEE 再次下降。
在了解了 EIP-1559 提案如何对网络拥堵情况做出反应之后,我们可以看到,其弹性的区块大小限制宽松机制与 BASEFEE 在各个区块的最大变化量之间紧密相关。BASEFEE 调整得越慢,系统就越能优雅地处理交易需求的变化。
这种变化与“昼夜循环”或者“工作日-周末循环”有着类似的周期性。根据当前的 EIP-1559,此提案不允许区块在夜间和白天持续变大,因为这些时段过长,交易费将在白天迅速飙升至数十亿美元,而在晚上同样会迅速降至接近于零。
因此。这种宽松的机制是在几分钟到半小时的时间框架内运作的。交易需求 (不管高低) 使区块大小往增加或者减少的方向持续得越久,那么将 BASEFEE 被拉回来的力度就越猛烈。
很多区块链 (比如比特币) 都有通缩的货币政策,这意味着其发行的新币数量会随着时间的推移而下降。当发行率下降到足够低的水平时,支撑网络安全性的激励就来自于交易费用。EIP-1559 与这种只依赖交易费来保护网络安全性的模式不兼容,因为基于 EIP-1559,大部分的交易费将不会用于激励矿工,而是被销毁。
因此,可以说 EIP-1559 假设的是矿工有着永久性的区块补贴,以确保协议的安全。但对其更好的一种思考方式是:EIP-1559 使得永久性的区块补贴作为一种设计方案更加可取,因为被销毁的交易费对于 ETH 来说起到了货币紧缩的作用,从而允许在其他方面发行新的 ETH (比如作为奖励给与 Eth2 验证者而发行的 ETH) ,不会使整体的供应膨胀。
由于具有永久性区块补贴的协议,能够为矿工带来更稳定的收入流,可以公平地说,EIP-1559对以太坊的长期安全和稳定性而言具有积极的影响。
在实施 EIP-1559 提案之前,从技术上来说,交易费用不一定是要用 ETH 支付。虽然以太坊网络仅支持以 ETH 支付交易费用,但理论上用户可通过元交易使用任何他们想要的代币向矿工支付费用。但是,矿工也可以通过 MEV 间接获得报酬。例如,一个矿工可以打包一笔不包含任何交易费的 DEX 交易,因为他可以通过抢先交易在其他地方赚钱。
但 EIP-1559 可以在很大程度上解决了此问题。因为每笔交易的 BASEFEE 都以 ETH 计价,并且总是会被销毁。在这种情况下,无论是谁支付这笔费用,都会有 ETH 从供应中被销毁。
矿工仍然可自由选择去打包有着较低的 BASEFEE 费的交易,但前提是该矿工需要从自己的区块奖励中拿出一部分来支付这笔较低的 BASEFEE 费与当前协议设定的 BASEFEE 费之间的差额。这样一来,这名矿工从该区块中获得的 ETH 区块奖励就减少了,而这笔交易的用户就省钱了。必须要有人使用 ETH 来支付这笔差额费。
我们说“很大程度上解决了经济抽象的问题”,是因为 EIP-1559 可以阻止的是 BASEFEE 的经济抽象,但它不能阻止 Tip 费可能发生的经济抽象问题。由于 Tip 费没有被销毁,因此协议就无法强制付款方式或付款地点,那么就有存在链下市场的可能。但是,正如我们前面所展示的,在大多数情况下,用户没有必要将其 Tip 费用提高到最低要求之上。
EIP-1559 提案的一个主要担忧是矿工是否能够操纵 BASEFEE,以及他们是否想要对其进行操纵。
当 BASEFEE 为 0 时,由于此时不存在销毁,矿工会获得用户的全部出价。也需要记住的是,只有在对区块空间的需求超出供应的区块空间时,用户才会开始进行 Tip 竞价。
一旦 BASEFEE 接近于零,矿工们就可能会使用一个简单的策略来将 BASEFEE 永久保留在这个水平:如果他们从不开采高于 1000 万 Gas 的区块,BASEFEE 也就不会增加。如果需求从未超过 1000 万 Gas(或矿工决定设定低于 1000 万 Gas 的区块限制),则矿工将获得全部的交易费用。
但是,对于矿工整体来说是最好的选择,对于单个矿工来说不一定是最佳选择,这就是集体行动问题 (collective action problem)。如果区块的上限为 1000 万 Gas,但市场有着对 2000 万 Gas 的交易需求,那么只要有一个矿工就可以打破联盟,打包这些包含 Tip 费用的交易。
想要将这种现象转变为稳定的垄断态势,就需要进行一次由某个矿工激活的软分叉 (MASF)。在 MASF 中,超过 50% 的算力将用于忽略任何大于 1000 万 Gas 的区块,从而激励少数人遵循新实施的规则。
由于这种攻击向量存在于任何网络上,因此我们目前不认为这是特定于 EIP-1559 的风险。
我们发现 EIP-1559 在很大程度上可以实现其承诺。除了非常短暂的高拥挤状况外,此提案应该可使交易费预估变得更具可预测性,而在高度拥挤的情况中,系统将会返回至当前的这种最高价拍卖模式。由于 BASEFEE 会以指数方式增长以抑制需求,因此高度拥挤的持续的时间并不会太长。
作为 EIP-1559 提案的一个有趣的组成模块,BASEFEE 使得这些好处成为可能。此机制在协议中设定一个最低费用的能力开辟了一个全新的设计领域,从弹性的区块大小、永久性的区块奖励、更好的抵御经济抽象,到未来更好的拍卖模式等到。
EIP-1559 提案很有前景,但这并不意味着此提案也是最好的。我们仅根据此提案的目标来评估现有的一组参数。对此机制的不同配置进行进一步研究是个好想法。
如果你想复制我们的数字和图表,或者运行自己的实验,欢迎访问我们在GitHub提供的代码。
*撰文:*Hasu & Georgios Konstantopoulos
翻译:Unitimes, 链接
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!