在伦敦硬分叉纳入的 EIP-1559 将带来以太坊费用机制的重大调整,旨在让用户更容易估算费用,并通过烧毁部分交易费来巩固 ETH 作为网络基础货币的地位。
本文将在 MEV (可提取的最大价值) 的现象下(也就是通过重新排序交易、添加交易、或审查交易实现无需许可的价值提取) 分析这份 EIP 的一些后果。
在新的收费机制下,用户不是为他们的交易选择 gas 价格,而是设置给矿工的“小费 (priority fee)”,以激励他们打包,和“费用上限 (max fee)”,表明他们愿意支付的绝对最高价格。该协议会给每个区块确定“基本费用 (basefee)”,通过对前一个区块消耗的 gas 量进行编程计算出来,计算的方程式是一个负反馈循环,旨在使区块大小稳定在一个目标值 s0 (这个值一开始等于当前区块容量的最大值)。
有效交易需要支付的 gas 价格等于基本费用与小费之和 (只有在基本费用突然增加的情况下,两者之和才会上升到费用上限);其中小费归矿工所有,且关键是基本费用会被烧毁。
这些变更对 MEV 相关的基础设施有一些显著的直接影响,例如不会再有交易费为 0 gwei 的交易,像 MistX 这样的 DEX 现在正利用这点做抢跑交易保护,因为在抢跑交易中矿工费用是直接从转账中的代币里提取的。另一方面,我们预计新的费用机制不会带来全新的 MEV 来源。
在本文,我们将对 EIP-1559 可能对 MEV 产生有趣影响的三个领域进行重点论述——矿工更高的 MEV 提取激励,在以太坊协议里共存的不同竞拍机制及其对 EIP 设计的影响,还有 Flashbots 作为矿工协作机构的作用及其道德意味。
矿工经济学和提取 MEV 的更高激励
无论是由于可观的经济激励还是对网络的忠诚,从以太坊创世以来矿工一直在生产区块,且没有做出恶意违反协议的事。然而,Flash Boys 2.0 这篇论文警告说,不加选择地提取 MEV 可能会给协议带来有害结果,例如交易审查或链重组,这些都会最终威胁共识稳定性。
然而,值得注意的是,只是在最近,当 Flashbots 引入了 MEV-geth,MEV 提取才变成矿工的标准操作。MEV-geth 是从 geth 客户端分叉出去的,矿工可以运行它来开始接收 "MEV 交易捆"——打包到区块时确保会给矿工支付费用的组合起来的交易集。
还有部分原因是 EIP-1559 减少矿工收入的威胁正在逼近,大多数矿工很快采用 MEV-geth,以部分缓解这一冲击。因此,我们有理由问,当 EIP-1559 上线主网时,矿工是否将进一步在提取 MEV 上投入更多,特别是以损害网络的方法。
尽管忠诚度的部分是难以量化的,因此我们也无法做出定量预测,但我们发现,把 MEV 提取看作矿工必须用其他策略来补偿他们减少的收益 (比如把他们的算力用于其他 GPU 链) 是可以帮助我们做量化的。
为此,我们提供一个矿工经济学的基础模型,用以预估实际可提取价值 (Realized Extractable Value,即 REV [1]) 需要增加多少才能抵过伦敦升级后转去其他区块链的利润增长。
译者注:REV 的定义出自 Flashbots 之前的文章“Quantifying Realized Extractable Value",里面介绍道:MEV 是我们只能不断接近的理论数量,REV 则是从区块链的 MEV 机会里实际可提取的价值,因此 REV≤MEV。
我们首先定义了一组以太坊除外的、基于 GPU 的 PoW 区块链集 X,这些链上的矿工都可以互相转移算力/哈希率 (我们假设是无成本的)。然后,我们假设,在均衡状态下,总的 GPU 算力 H 会在以太坊 (伦敦升级前和后) 和 X 间以算力利润最大化进行分布 (否则,在达到均值前会有更多的矿工转去其他链)。最后,假设算力的成本是恒定的,且所有链都如此,我们可以得出一个算力分式,它在以太坊进行伦敦硬分叉后保持不变。这个分式可以简洁地表达为:
其中,H1559 是以太坊伦敦升级后的哈希率,HE 是以太坊伦敦升级前的哈希率,γ=R1559/RE 表示 EIP-1559 启动后在以太坊里留给矿工的总收益,而 δ = RX/RE 是总 X 的收益与伦敦升级前以太坊收益的比率 (我们这里省去了代数过程,读者可以在这里查看)。
这些数量间的关系可以可视化为下图:
以太坊的 Gas 价格遭遇了两个数量级的变动,使得我们很难对模型的参数进行准确预估。基于最近的 gas 价格,我们仍然可以使用 Flashbots 仪表盘和 Etherchain 上的挖矿奖励数据为 1559 后以太坊上可得的总矿工收益分式 γ=0.86 选一个值。
最后,使用CoinMetrics 的数据找出以太坊以外的、基于 GPU 的 PoW 链每天的挖矿收益(以美元计算) RX,我们得到一个 δ=0.15 的近似值 [2]。把这些值都插进去,我们得到伦敦分叉后以太坊上的算力分式[3]
这构成了一个极其简化的矿工经济学模型,特别是忽略了转移到其他链的成本。但是,它的确提供了一个框架,用于在更泛的矿工经济学里分析 MEV 收益。同样基于变化起伏很大的 Flashbots 数据,我们发现,在其他条件相同的情况下,来自实际可提取价值的矿工收益的分式结果会从伦敦升级前的 2.9% 上升到分叉后的 3.4%[4]。
如果直到达到均值都不把算力转移到其他的链,矿工决定通过提取更多的 MEV 来填补减少了的收益,他们需要提取额外 22% 的 MEV 才能抵过转移到其他链的收益增长 (这仍然意味着与伦敦升级前相比有大幅的收益缩减)。
而具有对比额外 MEV 提取与转移到其他链的成本的明确公式的更详细模型,就超出了本文的范围了。其中涉及的值在性质上具有巨大差异性,这会使人们高度精细模型的效用产生质疑。再加上,矿工忠诚度这个主观因素在这件事上起非常大的作用。
集多个竞拍机制于一身
EIP-1559 提出的费用机制只为交易打包设计 (以及后来只分析) 了一种竞拍机制的。然而,事实上,以太坊上大多数的活动不仅与打包有关,还与在一个区块里的交易排序有关。大多数的 MEV 提取机会取决于交易所在的相对位置,仅是把交易打包进去不足以赚取 MEV。
现行的第一价格机制 (first-price mechanism) 是有局限性的,因为用户可以表达想要把他们的交易打包在比特定某交易更早的位置的愿望,或最多通过选择它的具体 gas 价格以期被打包到某交易后面的位置 (尾追交易)。这种局限性导致了像 Flashbots 这样的系统的诞生,它们为表达偏好提供更丰富的语言 (用户可以为交易集的精确相对排序竞价,交易集指的是上文提到的“ MEV 交易捆”)。
现行的定价机制不能提供的另一个理想属性是“隐私性”。提取 MEV 的搜索者特别希望他们的策略可以保密——至少在挖出区块、不可避免地要公开之前——以防止其他行动者窃取他们的机会。Flashbots 和其他隐私交易池提供者提供这种保证 (除了叔块风险或矿工不当行为以外)。
最近,一些面对用户的应用,例如 MistX 和 1inch,在它们的交易里转向使用 Flashbots 给用户提供抢跑交易保护。如果网络里有越来越多的参与者关心为交易排序和隐私竞价而不只是简单地打包,这就引出了一个问题:EIP-1559 对处理这个问题是否有优势,还是反而会被类似 Flashbots 的、表现力更强的机制完全取代。
在一个极端情况下,这些不同的、共存的竞拍可能会出现有负面效果的交互,即参与其中一个竞拍的用户会破坏在其他竞拍里的用户。
用户越是关注交易排序和隐私而不只是打包,这个领域会扩展地越广,这会引起像 Tim Roughgarden (上文引述过)所做的这些严谨正式分析出现实际适用性问题。
在他的论文里,他表明 EIP-1559 机制是与短视矿工激励相容的 (Myopic Miner Incentive Compatible,缩写为 MMIC,即在单个区块规模里矿工有动机按照 EIP-1559 来行事)、能防止链下协议的 (Off-Chain Agreement-proof,缩写为 OCA-proof,即用户与矿工不能突破系统规定,使用链下沟通达成协议)、以及除了高需求阶段外与用户激励相容 (User Incentive Compatible,缩写为 UIC,即它实现了理想的用户体验提升——用户可以表达对打包的真实偏好,而无需推测其他用户的行为)。
但是,这些结论的成立都依赖于“简单的打包”竞拍模式,目前尚不清楚它们在当前更复杂的环境中是否仍然成立。
特别地,该论文讨论了另一个提议——“无小费机制”,即没有矿工小费,论文表示这个机制是与短视矿工激励相容的、总是与用户激励相容的、且能防止链下协议 (除了在高需求阶段)。简言之,它牺牲了能防止链下交易的特性来保持整个用户体验的提升。
事实上,不像论文里所说的,链下协议在今天通过 Flashbots 等系统已是很常见的,这表明可能与 1559 的“基本费用+小费” 模式相比,无小费机制是一个更好的选择,优化了普通用户的标准竞拍机制,因为他们只关心打包,而把有更复杂需求的用户导向专注排序的竞拍机制。
不幸的是,对排序竞拍进行严谨建模是极其困难的 (试想,分配规则不能简单用二元的“打包”与“不打包”来表达,或可行性条件需要考虑交易间的交互,因此不能表达为单一的不等式)。相反,可能像上文提到般分开不同的竞拍模式,然后分析它们之间的交互会更有用。
我们可以用打包一笔交易的边际成本作为这种交互的实例 μ。在 MEV 很少的环境里,这可以被看作一个常量,并实际上已经被估算出来了。然而,在有大量 MEV 的环境里,交易池里有巨大的 MEV 奖励,这可能会使得在一个区块里运行用于打包的常规竞拍变得没有意义,因为 μ 的值被大大提高了,结果是用户不可能收敛在一个合理的小费值上。
总结下来,我们现在有几种竞拍模式在以太坊并存:
在 Flashbots,我们正在考虑扩大竞拍机制的表现力,把不在意排序、只想获得抢跑保护的用户的用例也囊括进来。尽管当前的定价公式可能会偏向某些类型的提取 (特别是偏向套利而不是清算)。
如上文指出,从设计的角度来看,这个事实上的分层系统可能不是最佳的,因为它是由试图单独解决部分问题的行动者拼凑而成的。在传统金融里,不同的工具 (股票、期权等) 有独立的市场来适应它们的不同特性。
这是 Flashbots 的一个活跃研究领域和长期目标——打造一个“图灵完备”的竞拍机制,使用户可以有效地表达它们任意的偏好[6]。最终,这需要围绕多个并存的竞拍机制进行更多的讨论,这样在协议层才能直接地采用更具有整体性的方法。考虑到即将到来的以太坊 2.0 会带来的变化,这一点显得尤为重要。
Flashbots 的道德原则
如上文所述,Flashbots 已经引入了让搜索者向矿工表达交易排序偏好的方式,带来一个所有以太坊用户都可以理想地从中获益的、更高效的市场。为了实现这点,Flashbots 给大量矿工提供了定制的挖矿软件 (MEV-geth),他们一起控制了以太坊绝大多数的算力 (在撰写本文时是 85%)。
这相当于 Flashbots 建立了一个有效的链下矿工协作机制,这很自然会招致对其潜在的有害影响的探索。特别是,Flashbots 已经创造了一个新的谢林点 (Shelling point),矿工使用了这个软件和它的默认设置就能自动进行协作——与以前使用的 geth 不一样。
在这里谈论的矿工协作,我们仅仅指的是协议内协作,也就是说,矿工的联合行动可能会伤害网络,但仍然是在共识层上可接受的 (即不会是双花,或其他不顾以太坊协议的行为)。真正的 51% 攻击会严重地损害网络,总的来说是与矿工利益相悖的。相反,我们专注于更“良性”的情况,矿工在遵循协议规则的同时协调他们自己与其他行动者的利益。
目前还没有关于矿工协作的集中点如何影响网络的分析 (因为这已经可以通过 geth 升级实现了),但我们要问一个更具体的问题——引入 EIP-1559 会否可能增加 Flashbots 作为矿工协作机制带来的恶性后果。
我们已经介绍了 EIP-1559 如何通过在矿工收益的总份额里增加 MEV 奖励的相对比重改变这个领域的格局,这是独立于 Flashbots 的。Flashbots 影响这个领域的一个方式是改变用于交易捆与普通交易的区块空间份额,或者说是上一节描述的不同竞拍机制的相对比重。
MEV-geth 是可以设置考虑打包到区块的最大交易捆数的,基于此,有人给每个数量的交易捆 (从 0 到可配置的最大值) 都构建了一个模板区块,然后所有这些模板区块后来都被拿来做可获利性对比。设置的数值越大,区块就越有利可图,留给标准用户交易的区块空间就越少。
EIP-1559 激励矿工追求更多的 MEV,可能会导致他们可接受的交易捆数值变得越来越高,最终区块里只有 MEV 交易。然而,这种情况是不太可能会发生的,因为将具有高额小费的交易排除在外,而只打包交易捆其实是有机会成本的。总的来说,我们不认为 EIP-1559 会增加由 Flashbots 促成的已知恶性行为的风险。
但是, EIP-1559 可能会引入一个不良行为:矿工协作去挖低于目标容量的区块,以驱使基本费用降至 0,这会有效消除这份 EIP 想要提供的用户体验提升。同样,Flashbots 处于一个特殊的位置,可以通过提供版本更新使这种行为成为可能。
更具体来说,不是把所消耗的 gas 超过目标 gas limit,使得基本费用需要搭上多于 0 的小费的所有交易都打包进区块,而是软件会把区块大小设为 s0∈(1-ϵ ),其中s0 是目标区块大小, ϵ∈[0,1] 是故意设来驱动和保持基本费用下降的一个参数,这取决于运行 MEV-geth 的算力占比。
我们使用了以太坊基金会 Robust Incentive 小组的框架来探索这钟攻击的可行性 (带有这些结果的代码的 notebook 在这里)。取一个简单的震荡需求情况,设置矿工运行 MEV-geth 的可能性为PFB=0.85,我们模拟了不同 ϵ 值的系统动态,说明这个值需要有多大,基本费用才会被驱使至 0。
与前一种情况一样,矿工采用这种策略会立即带来经济损失,因为他们在每个区块上都会有些钱没能赚到。
下一个理应要问的问题是,直到基本费用下降前,矿工需要亏本工作多长时间才能赚回原来那么多的钱,使得他们的串通是有利可图的。在模拟中,我们发现这个问题对需求的性质极为敏感,特别取决于用户会否继续提供接近其真实价值的出价,还是通过适应新的、人造的低基本费用来降低他们的出价。
尽管在看到 EIP-1559 上线主网前,我们都无法提供一个有意义的答案,我们会提高对该问题的关注,同时注意即使在短时间内这样的串通证明是有利可图的,它可以在任何时候因一名自私矿工打包了大量交易而被打破,因此这在实践中不太可能发生。
总结
我们没有找到 EIP-1559 与 MEV 提取交互的关键方式。但是,我们发现了几个可能会发生新动态的领域,特别是围绕矿工提取更多 MEV 的激励或通过一个可能的恶性 Flashbots 软件更新被动串通来击败新的费用机制。毫无疑问,提供这样的更新并不符合 Flashbots 的利益,但有 85% 的以太坊算力正在运行 MEV-geth 这一事实需要我们对其影响多加思考。
最后,我们指出,尽管 EIP-1559 的设计只包含一种交易打包竞拍机制,但现在在以太坊上是有许多不同的竞拍机制的。如果我们想要达到以太坊开放性的标准,认清楚以上那点,把我们的系统设计成适用这些不同的拍卖机制是至关重要的。
我们想要感谢 以太坊基金会的 Barnabé Monnot 和 Robust Incentive 小组、Leo Zhang、Tim Beiko、Tina Zhen 和整个 Flashbots 团队参与对话,这才有了在这里呈现的想法。
1. 在我们之前关于量化 MEV 提取的文章里给出了实际可提取价值的 (REV) 的定义。
2. Dogecoin、Ethereum Classic、ZCash、Dash、Monero、Bitcoin Gold 和 Verge 都包括在 chain X 收益的计算里。
3. 在撰写本文时,这些值的计算如下:
4. 其他情况不变,如果我们假设交易捆中烧毁的 gas 费将与被挤出区块的尾部交易中被烧毁的 gas 费相等,那么烧毁基本费用不会减少实际可提取价值。
5. 不过,请参阅这篇 note,了解在有大量 MEV 的环境里给叔块风险设限的方法。
6. 竞拍设计这个领域在可计算性的偏好/分配上已经有非常丰富的研究成果了,参见 Tim Roughgarden 的讲义以入门。
文章作者:Kristof Gazso (Nethermind), Alejo Salles (Flashbots)