eth2 中也将有 MEV?验证者的收益将如何受到影响?
以太坊很快将从 PoW 过渡到 PoS 共识协议。开发者们已经致力于实现这一转变数年时间,并且分多个步骤进行。第一步是在 2020 年 12 月推出信标链,当前信标链现在已经上线,在撰写本文时,信标链上已经有超过 16 万名个验证者 (validators),相当于质押了约 500 万 ETH。
第二步「大合并」可能会在 2022 年初发生。虽然在这一步之外还有很多细节需要解决,但关于 PoS 以太坊 (即 eth2) 已经有足够多的细节被解决,这就允许我们能够推断出最大可提取价值 (MEV,即 Maximal Extractable Value,旧称为"矿工可提取价值") 在 eth2 中的情况。
在本文中,我们将研究 eth2 中的交易排序,并分析由 MEV 价值提取而带来的验证者收益增长。我们发现,MEV 将显著提高验证者获得的奖励,但也可能会加剧 eth2 参与者之间 (收益) 的不平等。我们还将讨论 eth2 中 MEV 的定性方面,比如交易所和验证者池 (即质押池) 等最大利益相关者之间的潜在动态。
本文由 Alex Obadia 和 Taarush Vemulapalli 共同撰写。完整的分析文档参见:
https://github.com/flashbots/eth2-research
eth2 概述
目前以太坊的共识由运行挖矿硬件的矿工们实现,这些硬件被优化以更好地解决 PoW 挑战。而从 PoW 共识到 PoS 共识的转变意味着以太坊网络将由验证者 (而非矿工) 来保护,每个验证者节点需要质押 32 ETH 的保证金,并通过投票以达成对信标链状态的共识。验证者这样做有着经济上的激励,即验证者的良好行为将获得奖励,而离线或者恶意行为将受到惩罚 (罚没)。
目前,信标链与 eth1 链并行运行,自 2020 年 12 月以来信标链一直在成功地在运行中。“大合并”将使得信标链与当前的 eth1 链合并。在本文中,我们将使用「eth1」来表示包含区块和交易的以太坊执行引擎;使用「信标链」来表示 eth2 新的底层 PoS 共识机制;使用「eth2」来表示合并之后的以太坊权威链,这条链包括了 eth1 执行引擎和用于实现共识的信标链。
eth2 以 6.4 分钟 (称为一个 epoch) 的增量达成共识。每个 epoch 包含 32 个 slot,每个 slot 时长为 12 秒,每个 slot 都代表了一个区块被添加进信标链的机会。在正常运行的情况下,每个 slot 都会产生一个区块,但是诸如验证者离线等原因将可能导致某些 slots 产生 0 个区块。
对于每个 epoch,所有验证者都是被伪随机地分配去提议区块 (propose block) 或者对由其他验证者提议的区块进行证明 (attest to blocks),提议区块的验证者称为「提议者」,证明区块的验证者称为「证明者」。每个 slot 期间仅会有 1 名提议者和多名证明者,这些证明者将负责证明该区块中的所有信息,包括来自 eth1 的数据和来自信标链的数据。证明者通过对信标链的“三个方面”的当前值 (current values) 进行正确地投票来获得奖励,这三个方面分别是:区块链的链头 (即顶端区块)、被证明的检查点以及被敲定的检查点。
eth2 中的 MEV
MEV (最大可提取价值) 是区块提议者通过对他们提议的区块内的交易进行重新排序、审查或者加塞交易,从而获得的所有可能的价值。为了理解 eth2 中的交易排序,我们首先来了解一下被用来对交易进行排序的软件 (即 eth2 客户端) 的内部工作原理。
1. eth2 客户端
由于 eth2 本质上是合并在一起的两条链 (即 eth1 链和信标链),因此 eth2 客户端由两个「子客户端」(sub-clients) 组成也就不足为奇了:其中一个是执行引擎客户端,另一个是共识客户端。值得注意的是,当前的 PoW 以太坊客户端 (即 eth1 客户端) 将继续存在于 eth2 中,并与信标客户端一起运行,彼此分工不同。
其中,eth2 中的 eth1 客户端是对当前的 PoW 以太坊客户端剥离掉其共识职责,而仅专注于 eth1 链的交易池、eth1 执行和 EVM;而信标客户端负责共识和分配验证者的职责 (比如对信标区块的证明和提议)。这两个客户端并行运行,各自维护自己的 p2p 网络堆栈 (信标客户端维护 libp2p,eth1 客户端维护 devp2p)。
eth2 客户端可能看起来就像下图这个经修改的示意图 (源自 Danny Ryan 撰写的文章 [1])
图1
2. eth1 的区块提议
正如在当前的 PoW 以太坊中一样,eth2 中的 eth1 客户端将维护一个本地的交易池 (mempool),其中包含了来自其 p2p 网络中接收到的交易。正如 Rayonism 规范 [2] 中所描述的,信标客户端将与 eth1 客户端交互,从而形成一个 eth1 区块。虽然该规范中的 (两个客户端之间的) 通信途径细节可能会在生产中发生变化,但大致的方式很可能会保持一致:
经过多次来回,信标客户端向 eth1 客户端查询其通过 eth1 交易池形成的某个 eth1 区块,检查该区块是否满足各种有效性条件;
一旦这个 eth1 区块被信标客户端接收,并且满足了各种有效性检查,则该 eth1 区块将被提议者 (proposers) 打包进当前的信标区块中,并成为证明者 (attesters) 要投票的数据的一部分。
然后信标客户端将要求 eth1 客户端把 eth1 链的链头 (即顶端区块) 更新为这个最新被打包的 eth1 区块;
一段之间之后,这个包含了该信标区块的epoch 会被敲定 (finalized),然后信标客户端将告知 eth1 客户端这个 eth2 区块已经在共识层被敲定了。
图2
虽然 eth2 中达成共识的方式改变了,但 eth2 中的每个 eth1 区块内的交易排序和今天是一样的,都是在排序交易的软件 (比如 PoW 以太坊客户端 Geth) 和 p2p 交易网络中实现的。
3. eth2 中是否存在 MEV?
由于 eth2 中的交易排序流程将与当前的 PoW 以太坊相同,我们有理由认为,MEV 机会仍将存在于 eth2 中,正如我们今天在 PoW 以太坊中看到的那样。不同之处在于谁拥有对排序的最终控制权,即在 eth2 中,验证者 (而非矿工) 将对交易排序拥有控制权,验证者被选出来提议信标区块,信标区块中将会包含一个从 eth1 客户端查询到的新的 eth1 区块。
图3
这意味着,诸如 Flashbots 的 MEV-geth (一种经修改的 eth1 客户端软件,旨在优化 MEV 的提取) 这样一种允许 eth1 交易发送者通过给区块提议者 (以及交易排序者) 支付小费来实现自己希望的交易排序的技术将依然存在。明确了这一主张后,我们现在可以思考一下,通过运行 Flashbots 这样的软件,验证者能赚多少钱?
验证者的奖励机制
虽然 MEV 是出了名的难以衡量,但我们使用 Flashbots 数据[3]作为 eth2 区块提议者通过 MEV 可以获得的最低额外收益的下限。这是一个收益下限,因为仅有一小部分 MEV 活动是在 Flashbots 上发生。
本文分析的一个警告是,本文是基于 eth2 协议规定的 staking 收益之上考虑 MEV,但不包括区块提议者可以获得的交易费奖励。不包括这些交易费的主要原因是,很难预测在 EIP-1559 之后提议者将能从交易费用中赚到多少 (EIP-1559 将引入基本交易费 basefee 的销毁机制)。
1. 理想的情况
让我们首先考虑一种理想的情况,即所有验证者完美参与并获得最大的协议奖励 (即不存在大规模罚没),并且所有 staking 奖励都被平均分配,因为所有验证者都在无限的时间尺度上提议相同数量的区块。
图4:Y轴表示收益率,X轴表示验证者数量。蓝线表示在不考虑 MEV 的情况下,理想情况中的验证者年收益率;黄线表示在考虑 MEV 的情况下,理想情况中的验证者年收益率。蓝色竖虚线表示撰文时的验证者数量 (大约 16 万名验证者)。
基于当前的验证者数量 (16 万名验证者),我们发现,MEV 可以将验证者的奖励增加 75.3%,或者说提供一个 12.83% 的 APR (年化利率),高于比考虑 MEV 情况下通过质押 ETH 带来的 7.35% APR收益。从中可以得出的一个结论是,更高的验证者奖励意味着更多的 ETH 持有者将被吸引成为验证者,这反过来意味着以太坊拥有更大的验证者集合而变得更安全。
随着在不久的将来更多的验证者上线,基于 MEV 带来的验证者收益提高将会不那么显著,比如 25 万名验证者 (即质押了 800 万 ETH) 时的奖励将仅增加 60%。如上所述,这一分析没有考虑验证者将获得多少交易费,因为这将降低 MEV 对于收益的相对影响。然而,与当前 PoW 矿工通过 Flashbots 赚取的额外 MEV 奖励 (目前大约是 5.6%) 相比较,这些数据依然是有用的。这种明显的差异源于 PoS 发行率的显著下降。这表明,在 eth2 中,MEV 的提取将比在 eth1 中更值得,而且质押者 (stakers) 可能会大力推动通过 MEV 实现的质押收益。
2. 将时间因素 & REV 分配考虑进去
在任何有限的时间尺度上,验证者的奖励都是可变的,因为提议区块有着特定的协议奖励,且因为一些验证者将很幸运地有机会提议比平均数量更多的区块,而一些不那么幸运的验证者将提议更少的区块。
例如,如果网络中有 10 万名验证者,那么每个验证者每年提议的区块的平均数量是 26 个区块,而最不幸的 1% 验证者最多有机会提议 15 个块,最幸运的 1% 的验证者则至少提议 39 个区块。见下图:
图5
基于这一逻辑,我们可以根据 3 个不同水平的区块提议“运气”(即最幸运的 1% 验证者,最不幸的 1% 验证者,以及平均的验证者) 来绘制出验证者 staking 奖励的可变性 (不考虑 MEV 的影响):
图6:Y轴表示收益率,X轴表示验证者数量。绿线表示在不考虑 MEV 的情况下最幸运的 1% 验证者可以获得的 staking 年收益率;红线表示不考虑 MEV 的情况下最不幸的 1% 验证者可以获得的 staking 年收益率;黄线表示不考虑 MEV 的情况下验证者平均能够获得的 staking 年收益率。蓝色竖虚线表示撰文时的验证者数量 (大约 16 万名验证者)。
现在,我们加入 Flashbots 上记录的每个区块的平均已获得的提取价值 (REV,即 Realized Extractable Value) [4],我们可以比较一下这 3 个不同水平的区块提议“运气”在考虑 MEV 价值和不考虑 MEV 价值的情况下的验证者收益率情况:
图7:绿线表示包含 MEV 价值提取的情况下,最幸运的 1% 验证者可以获得的年收益率;红线表示包含 MEV 价值提取的情况下最不幸的 1% 验证者可以获得的年收益率;黄线表示包含 MEV 价值提取的情况下验证者平均可以获得的年收益率。最底下这条粗线是在不考虑 MEV 的情况下的 3 种区块提议“运气”中验证者可以获得的 staking 年收益率,但由于三条线在上图中的差异太小,因此三条线重叠在一起了。
上图 (图7) 中的三条用于表示不考虑 MEV 价值的 3 个“运气”水平带来的验证者年 staking 收益率的曲线几乎重叠在一起而难以区分。这表明,MEV 价值的提取扩大了由区块提议“运气”带来的验证者之间收益的不平等。
此外,REV 的分布是不均匀的,可以被视为“运气”的第二个维度,即其中一些区块拥有比其他区块更大的 MEV 奖励。例如,下面是在最近的以太坊 10 万个连续区块 (从 11600000 区块高度开始) 中使用了 Flashbots 的 MEV-Geth 挖矿的矿工所获得的 REV 奖励的 (长尾) 分布:
图8
上图 (图8) 中我们将 X 轴 (每个区块中矿工实际已获得的 REV 价值) 截短至 3 ETH,但实际上在我们的抽样中矿工最高可以获得 101 ETH 的 REV 价值。使用这一 Flashbots 矿工奖励的分布来代表 REV 的分布,我们可以根据最不幸的 1% 验证者、平均的验证者和最幸运的 1% 验证者从 MEV 奖励中获得的收益来界定和绘制出 3 个运气级别的年收益率曲线:
图9:绿线代表在包含 MEV 价值提取的情况下最幸运的 1% 验证者可以获得的年收益率;红线代表在包含 MEV 价值提取的情况下最不幸的 1% 验证者可以获得的年收益率;黄线代表在包含 MEV 价值提取的情况下验证者平均可以获得的年收益率。蓝色竖虚线表示撰文时的验证者数量 (大约16万名验证者)。
之前一张图 (即图7) 表向我们展示了 MEV 扩大了由区块提议“运气”带来的验证者之间收益的不平等;而这种图 (图9) 表展示了 REV 的不均匀分布是验证者之间收益不平等的更大来源 -- 尤其是考虑到这张图 (图9) 中的 Y 轴增长到了 600%,而图7的 Y 轴仅为 80%。
然而,在现实中,验证者将会通过在验证者池(validator pools,也即所谓的质押池) 中汇聚资源来消除来自区块提议运气和 REV 分布不均而带来的验证者收益的差异。但这意味着,MEV 对于验证者收益的影响可能会抑制人们独立运行验证者节点,使得加入某个验证者池在财务激励上更加有吸引力,从而可能导致网络验证的中心化。
最终,我们担心 MEV 可能会加重 eth2 中的寡头垄断动态,因为与那些拥有更少 ETH 质押量的实体 (验证者池) 相比,拥有最多 ETH 质押量的实体的增长速度更快。这将使 MEV 提取的民主化在 eth2 中特别重要,从而来保持共识投票权的去中心化。
新的共识参与者
虽然上述定量分析对于开始思考 eth2 中的 MEV 很重要,但如果没有对 eth2 共识参与者的定性分析,本文就是不完整的。如前所述,在 eth2 中,矿工和矿池将被控制着大量 ETH 的实体 (比如交易所、协议的资金库、投资基金和验证者池) 所代替。这一点已经可以通过信标链浏览器 beaconcha.in 上显示的当前 eth2 验证者的 eth1 存款地址的分布情况看出来:
上图:eth2 所有验证者的 eth1 存款地址的分布情况。可以看出,大量的 eth2 验证者是通过几家交易所和质押池等实体的地址来进行质押的,这意味着这些实体控制了很大比例的 eth2 投票权。
值得注意的是,这个饼状图并没有区分控制共识投票权的最终实体和它所运行的基础设施。虽然 eth2 共识投票权的中心化令人担忧,但基础设施的中心化可能不是如此,PoS 经济激励鼓励基础设施的去中心化,以最小化相关的 slashing 风险。
具体来说,这意味着像 Kraken 这样控制了大量 (用户的) eth 的交易所可能会通过将 (用户的) 质押金分散到许多基础设施提供商,在不同地区、不同硬件上运行 eth2 节点,而不是在内部承担这项庞大的基础设施运行任务,从而降低大幅罚没的风险。
1. 交易所
在 eth2 中最引人注目的变化是交易所成为了最大的 ETH 持有者,因此也成为了最大的验证者。Coinbase、币安和 Kraken 等中心化企业可能将控制最大数量的验证者 slots。这些参与者受到与矿池不同的规则约束,对其声誉有许多方面的影响。与矿工格局相比,这种差异可能会对验证者格局产生新的影响,并可能影响验证者参与的活动,比如他们获取收益的 MEV 类型。
有趣的是,这些实体除了参与入 eth2 质押,还参与多项活动,这可能会为这些交易所提供的现有服务与 MEV 价值提取之间的协同增效带来新的机会。这些活动包括加速交易、在提款被打包上链之前提供私下的提款,以及通过对订单流的加密原生支付减少链上交易费等等。
这类服务最初可能是最前沿的,它们的好处可能意味着用户会迁移到提供这些服务的交易所,从而可能会损害那些由于监管原因没有或不能提供这些服务的交易所。此外,交易所在 MEV 博弈中的潜在垂直整合 (比如交易所运行它们自己的机器人向它们自己的验证者节点提交交易) 是一个值得关注的问题,我们认为应该进一步研究。
2. 验证者池
eth2 的另一个重要的转变是验证者池 (validator pools,也即所谓的"质押池") 的崛起,这些池提供了诸如降低参与 eth2 质押的最低 ETH 数量要求(用户自己运行单个验证者节点需要质押 32 ETH,而加入验证者池可以提供少于 32 ETH 的数量,因为验证者池将把所有用户的 ETH 汇聚起来进行质押)、替客户搭建验证者节点、消除由于区块提议的“运气” (会影响 MEV+交易费收益) 带来的变量,以及提供诸如 staking 衍生品之类的额外服务来 (得益于他们管理的资金基数) 等好处。
一个有趣的现象是 meta-pools 池的出现,比如 Rocketpool 和 Lido。这些实体与许多验证者池相连接,很可能成为这些验证者池的质押量的一大来源,因此能够对验证者池的行为施加影响,比如影响验证者池参与的 MEV 提取类型以及它们向质押者提供的利润分成。
这些 meta-pools 通常提供质押衍生品。这方面的一个例子是为用户提供他们已被锁定的 ETH 质押存款的一种流动性代币化版本,用户可以使用这种衍生品在 (以太坊) 网络中使用。通过允许用户将被锁定的 ETH 通过衍生品的形式再次用于 DeFi 中,这将进一步增加验证者在 MEV 价值之外的收益。
开放式问题
我们对 eth2 中 MEV 的探索发现了许多悬而未决的问题,我们计划在接下来的几个月里进行研究。以下是其中的四个:
1. eth1 区块提议者市场
由于 eth2 实际上有两个客户端要运行 (eth1客户端+信标客户端),很可能独立的验证者会选择将他们的 eth1 节点默认为一个服务提供商,比如 Infura,因为运行 eth1 节点的本身开销非常大。这可能暗示了 eth1 和 eth2 节点运行者开始分离。假设这样一个动态的出现,我们可以想象出现一个 eth1 节点运行者市场,其中运行着高性能的硬件和 MEV 模拟软件,满足 eth2 区块提议者的需求。
2. 优化 MEV 搜索时面临的新限制
诸如价格套利和清算等 MEV 机会在 eth2 中仍然存在,但提取这些 MEV 价值的系统有着新的参数,这些参数可能会修改或引入对 MEV 提取的约束。
比如,eth2 的出块时间固定为 12 秒,而不是像当前 eth1 的出块时间多变,且区块提议者的 slots 是在每个 epoch 开始时被分配的,这意味着提议者将最多能够有 6.4 分钟的时间来计算他们的任务 (当然,被分配在 epoch 一开始的 slots 的提议者没有那么长的时间)。这不仅为验证者在 eth1 客户端交易池上运行计算以获得最佳 MEV 提取提供了潜在的更多时间,而且由于出块时间的可预测性,使得模拟和执行更容易。
这意味着有更长的、更可预测的时间间隔来计算和执行 MEV 提取策略,从而实现更复杂的、需要大量计算的 MEV 提取。
3. 领导人选择机制的变化
验证者将提前知道他们是否需要提出一个区块 (除非是某个新的 epoch 的第一个 slot)。他们甚至可以 (尽管概率很低) 在一个 epoch 内提议多个区块。区块提议者身份的确定会如何改变 MEV 价值提取的动态?以及如果确定将在一个区块内提议多个区块,这将如何影响 MEV 提取的动态?特别是,大型验证者池/交易所最有可能在同一 epoch 内拥有 (被分配到) 多个连续的 slots。
4. L2s & 分片
本文的大部分内容都假设 eth1 的区块内容将保持今天的状态。然而,在现实中,很多交易流将被转移至 L2s 中进行,以太坊 L1 将用作数据可用性层,zk-rollups 和 optimistic rollups 将负责把批量打包的交易数据提交至 L1 上。
这将直观地减少验证者从 MEV 中获得的收益。然而,这是很难预测的,因为多个 L2s 的世界带来了额外的复杂性,可能会打开新形式的 MEV (也即跨 L2 交易,跨L1-L2交易)。类似地,随着 eth2 的不断发展和分片的投入生产,信标区块内的分片排序可能会有重要意义,MEV 可能会成为实现 Vitalik 提议的「将分片区块错开以实现更快的出块时间」[5] 的激励机制。
感谢 Terence Tsao、Raul Jordan、Alejo Salles、Luke Youngblood、Tomasz Stanczak、Lakshman Sankar、Barnabe Monnot、Caspar S和 Viktor Bunin 对本文的宝贵贡献和编辑。也要感谢 Flashbots 团队的其他成员进行的讨论。原文链接:
https://hackmd.io/@flashbots/mev-in-eth2?s=09
正文中涉及的链接:
[1]
https://ethresear.ch/t/eth1-eth2-client-relationship/7248
[2]
https://github.com/ethereum/rayonism/blob/master/specs/merge.md#assemble-block
[3]
https://dashboard.flashbots.net/
[4]
https://hackmd.io/@flashbots/quantifying-REV
[5]
https://ethresear.ch/t/simple-approach-to-incentivizing-shard-staggering/914
微信扫描关注公众号,及时掌握新动向
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场