Ξ

    Search by

    对 Eth2 里 MEV 的初步探索

    文章对 eth2 里 MEV 对验证者奖励的影响进行了定量分析,对 eth2 新共识参与者进行定性分析,以更好了解与 MEV 的互动关系


    AO

    Alex Obadia       2021-06-17

    来源 | Flashbots


    以太坊即将从工作量证明 (PoW) 共识过渡到权益证明 (PoS) 共识协议。实现过渡的开发工作已经进行多年了,并将分多个步骤进行。第一步是在 2020 年 12 月启动信标链。在写此文时,它已启动,并有超过 16 万的验证者,或相当于 500 万个 ETH 质押在上面了。

    第二步是“合并”,可能在 2022 年年初发生。尽管这一步以外还有很多细节有待解决,但 PoS 以太坊 (eth2) 已经固定下来的内容对我们来说已充分能够分析出 MEV 将是如何的。

    在这篇文章里,我们研究 eth2 里的交易排序以及分析 MEV 带来的质押收益。我们发现 MEV 将显著提高验证者的奖励,但可能强化了 eth2 参与者间的不公平。我们还对 eth2 里 MEV 的定性问题进行讨论,例如它的最大利益相关者交易所与验证者池之间的动态关系将是什么样的。

    这篇文章由来自 Flashbots 的 Alex ObadiaTaarush Vemulapalli 共同撰写。此处有完整分析。


    eth2 总结

    以太坊的共识当前是由矿工通过运行最好的硬件设备以解决工作量证明难题来实现的。从 PoW 共识到 PoS 共识的转变意味着网络将由验证者来维持,这些验证者存入 32 个 ETH 作为保证金,然后对信标链上的状态进行投票以达成共识。验证者这样做是有经济激励的,因为他们的良好行为会得到奖励,而离线或恶意行为会受到惩罚 (例如罚没)。

    现在,信标链与 eth1 链式平行运行的,且自 2020 年12 月起一直运行顺利。而”合并“则意味着——你猜对了——信标链与现在的 eth1 链并在一起。在文章的其余部分,我们将用 "eth1" 指代包含现在的区块和交易数据的以太坊执行引擎,”信标链“指代 eth2 的新底层 PoS 共识机制,而 ”eth2" 指的是“合并”后的以太坊权威区块链,它包含 eth1 的执行引擎以及信标链的共识机制。

    eth2 每 6.4 分钟达成一次共识,称为 epoch。每个 epoch 包含 32 个 slot,每个 slot 是 12 秒长,且都是把区块添加到信标链上的机会。在正常的操作条件下,每个 slot 将有 1 个区块,但像验证者离线这种情况会导致一些 slot 不产生区块。

    在每个 epoch 里,所有验证者都会被伪随机分配做区块提议或对其他验证者所提议的区块做证明。这些分配证明者和提议者分别会提前 2 个 epoch 和1 个 epoch 得知。在区块的每个 slot里,该区块的所有信息 (包括来自 eth1 和信标链的数据)都将由一个验证者负责提议,非常多的验证者负责证明。证明者需要对信标链三方面的当前值进行投票:链头、被证明的检查点和被最终确定的检查点,如果都准确投票了会得到奖励。^[关于证明与最终确定的更多内容]


    eth2 里的 MEV

    MEV (Maximal Extractable Value, 可提取最大价值) 指的是一个区块提议者可以从对交易重新排序、审查或在区块里插入交易这些操作里获得的所有潜在价值[2]。为了了解在 eth2 里的交易排序,我们首先关注将会被使用的软件的内部运作。

    eth2 客户端

    由于 eth2 本质上是两条链的合并,它的客户端自然由两个子客户端组成,一个用于执行引擎,一个用于共识。值得注意的是,现在的 PoW 以太坊客户端会继续存在于 eth2 里,与信标客户端一起运行,各自承担不同的分工。

    eth1 客户端是一个 PoW 以太坊客户端,但除去了它仅专注于 eth1 交易池、eth1 执行有效性、以及 EVM 的共识责任。而信标客户端则负责共识和验证者职责 (例如,信标区块证明和提议)。它们是同时运行的,各自维持着自己的 p2p 网络堆栈 (信标链的 libp2p、eth1 的 devp2p)。

    eth2 客户端大概如下修改图所示 (图片来自 Danny Ryan 的这篇文章)。

    https://hackmd.io/uploads/S1NOqU7K.png

    eth1 区块提议

    就像现在的 PoW 以太坊,在 eth2 里的 eth1 客户端负责维持从它的 p2p 网络里收到交易的本地交易池。如在 Rayonism 的规范所写的,信标客户端与 eth1 客户端交互,以形成一个 eth1 区块。尽管规范里的通信渠道在成产品时会有改变,但方法的语义应该变化不大:

    • 经过几个来回,信标客户端向 eth1 客户端某 eth1 区块的信息 (该区块由它的交易池所收到的交易组成) ,检查它是否符合各种有效性条件。
    • 当信标客户端收到了 eth1 区块,该区块也符合了各种有效性验证,它会由区块提议者把它打包到当前的信标区块,使其成为证明者要进行投票的数据。
    • 然后信标客户端会请求 eth1 客户端把将其链头更新为最新被打包的 eth1 区块。
    • 一段时间后,信标区块所在的 epoch 会被最终确定了,信标客户端会通知 eth1 客户端 eth2 区块已经在共识层被最终确定了。

    https://hackmd.io/_uploads/HkyBtLQFO.png

    尽管在 eth2 上达成共识的方式改变了,在每个 eth1 区块里的交易排序还是跟现在一样,都是在软件里对交易进行排序 (就像以太坊的 PoW 客户端 Geth那样运作),与在 p2p 网络里广播交易。

    eth2 里存在 MEV 吗?

    由于在 eth2 里交易排序的过程与 PoW 以太坊是一样,因此有理由认为 MEV 机会仍将存在,就像我们今天了解到的情况一样。不同点在于谁拥有排序的最终控制权,即验证者而不是矿工,因为是验证者选择提议的信标区块,它包含了从 eth1 客户端询问到的新 eth1 区块。

    https://hackmd.io/_uploads/ByzeH8NFd.png

    这意味着像 Flashbot 的 MEV-geth (a modified eth1 client software optimized for MEV extraction) (为提取 MEV 而优化的、修改后的 eth1 客户端软件) 这样的技术仍然可以存在,它们允许 eth1 交易发送者为了他们的交易能排在想要的位置而给区块提议者 (和交易排序者) 小费。在确定了这点后,我们现在可以充分思考验证者通过运行像 Flashbot 这样的软件可以获得多少收益。


    验证者奖励经济分析

    开发者 Pintail 最近发布了一份关于信标链验证者奖励的详细分析。我们的研究沿用了他们的方法 (也重新使用了他们的代码),你可以在这里查看,下面是从我们的研究结果里选出的几点总结。我们还建立了一个线上活页夹,你可以直接在你的浏览器里的 Python Notebook 试用。

    尽管 MEV 出了名是难以量化的,我们使用 Flashbots 数据作为区块提议者从 MEV 中获得的最低额外收入的下限。这是下限是因为只有一部分的 MEV 活动是在 Flashbots 上进行的。

    阅读这个分析时需要注意,它只分析了在协议规定的质押收益基础上的 MEV,而不包括区块提议者理应获得的交易费。这样做的主要原因是现在很难预测在 EIP-1559 后的交易费是什么样的。这应该不会是一个很糟糕的假设,因为不打算利用 MEV 的人也不大可能在 basefee (基本费用) 之上花多于默认设置的 1 gwei 小费,但这的确意味着 MEV 对质押收益的相对影响是被夸大了。

    理想情况

    让我们先考虑这样一种情况:所有验证者都完美参与并获得协议可能的最大奖励 (即没有罚没情况),以及所有的奖励都平均分配,因为所有验证者理应在无限的时间里获得相同的提议区块机会。

    https://hackmd.io/_uploads/SJe9Dg2cd.png

    根据目前的验证者数 (1.6万名),我们发现 MEV 可以提高验证者奖励 75.3%,或给出 12.86% 的年化率 (没有 MEV 的情况下,质押 ETH 的年化率是 7.35%)。这里的一个启示是,更高的验证者收益意味着会吸引更多 ETH 持有者成为验证者,这意味着以太坊会因为有更多的验证者而变得更安全。

    展望不久的未来,当有更多的验证者加入时,验证者收益的增长会变得缓慢,例如,当有 25 万名验证者 (有 800 万个 ETH 被质押)时,MEV 对验证者奖励的提高减少到 60%。如上所述,这份分析没有考虑验证者将获得的交易费用,这会降低 MEV 对收益的相对影响。但是,对于与今天 Flashbots 给矿工带来的额外收益相比,这些数字仍然是有意义的,后者是大约 5.6%。两者如此大的差异是来源于 PoS 系统显著降低的发行率。这表明,MEV 的提取在 eth2 将会比在 eth1 有吸引力得多,而这可能会大大推动质押者赚取 MEV 带来的质押收益。

    以时间和 REV 分布作为变量进行分析

    在任何有限的时间范围内,验证者的奖励都会有变化,因为提议区块是有特定的协议奖励的,同时因为一些验证者很幸运,获得多于平均提议区块的机会,而一些验证者没那么幸运,获得比较少的提议区块的机会。

    例如,在 100,000 验证者里,每个验证者的区块提议的平均数是每年 26 次,而运气最差的 1% 验证者获得的提议机会最多是 15 个区块,运气最好的 1% 是 39 个区块。

    https://hackmd.io/_uploads/rJfIeqH5O.png

    按照这个逻辑,我们可以根据区块提议运气的三个不同级别绘制出奖励的变化图:

    https://hackmd.io/_uploads/SyhbnlncO.png

    现在加上每个区块记录在 Flashbots 的、每个区块给矿工的实际可提取价值 (Realized Extractable Value, REV) 的平均值,我们可以对比这三种水平在有和没有 MEV 提取情况下的表现:

    https://hackmd.io/_uploads/SyhoRN2cu.png

    没有 MEV 提取的三个级别在这个图表里是无法辨识出来的。这表明,MEV 提取加剧了由区块提议运气带来的不平等。

    此外,REV 的分布也是不平均的,可以看作是运气的第二个维度,有些区块会比其他区块有更大的 MEV 奖励。例如,下图显示的是 Flashbots 上最近 10 万个连续以太坊区块 (从区块 11600000 开始)矿工奖励的长尾分布。

    https://hackmd.io/_uploads/rJNAAE39d.png

    为了便于观察,我们截取了 x 轴 0—3 个 ETH 的部分,但在我们的样本里,矿工奖励最高可达 101 个 ETH,你可以通过上文我们的分析链接找到。我们把 Flashbots 上的矿工奖励分布用作 REV 分布的指标,可以基于运气最差的 1%、中位数和运气最好的 1%的验证者应该获得的 MEV 奖励对三个级别的运气情况进行定义,并绘制以下图表:

    https://hackmd.io/_uploads/Hy1MkpTcd.png

    尽管前面的图表显示,MEV 加剧了由区块提议运气导致的验证者奖励不平等,这个图表显示的是 REV 的不平衡分布是验证者间不平等的更大源头——特别是考虑到在上一张图里 y 轴的数值跨度是 600% 到 80%。

    然而,在现实中,验证者会通过集中在验证者池的资源抵消了由区块提议运气和 REV 分布带来的奖励差异。尽管以太坊 PoS 的设计是验证者做有效证明可以得到相当可观、近乎恒定的奖励 (不同于在 PoW 机制,只有提议了区块才能得到奖励),在验证者奖励里引入 MEV 可能会成为一种中心化力量,因为它使得单独验证者的操作变得没那么有利可图,而加入到验证池则变得经济上更有吸引力,资金也能更早获得流动性。

    最后,我们担心 MEV 会使 eth2 中的寡头情况变严重——有最多份 32 个 ETH 作为押金的实体比那些拥有更少的更快获得财富 (富者更富的态势)。这将使得去中心化的 MEV 提取在 eth2 里变得尤其重要,这样才能保持共识投票权的去中心化。[3]

    进一步分析

    上文分享的 Python notebook 有我们分析的其他详细内容,其中我们在模型里把罚没限制纳入为考虑因素,研究在线时间不足和低验证者参与率导致的惩罚是如何受 MEV 奖励影响的。为了简洁,我们不在此赘述我们的结果,但鼓励你去查看并发表你们的意见。


    新的共识参与者

    虽然上面的定量分析对开始思考 eth2 中的 MEV 问题很重要,但没有对它的参与者的定性分析是不完整的。如前所述,哈希率离开了需要质押 ETH 的 eth2 舞台。矿工和矿池被新的参与者取代了——对大量 ETH 持有控制权的交易所、协议库、投资基金和验证者库等。根据目前 beaconcha.in 上的数据, eth2 验证者集的 eth1 存款地址分布可以看出这一点了。

    img

    值得注意的是,这个饼图并没有区分拥有共识投票权的最终实体和它运行所在的基础设施。尽管共识投票权中心化问题堪忧,基础设施中心化的情况则没这么严重,因为 PoS 的经济激励机制鼓励设施去中心化,以尽量减少相关的罚没风险

    具体来说,这意味着像 Kraken 这样持有大量 ETH 的交易所可能会通过以下途径来减少罚没风险:把它们的押金质押在多个基础设施提供商、在不同地区、使用不同的硬件和客户端运行,而不是内部承担这个巨大的基础设施投入与运维。

    交易所

    eht2 中最明显的权力关系变化是交易所作为最大的 ETH 持有者成为了最大的验证者。像 Coinbase、Binance 和 Kraken 这些中心化企业将可能控制最多的验证者 slot。这些参与者所受的法律监管不同于矿池,且在非常多方面享有声誉。这些差异将可能对验证者格局产生不同于矿工格局的新影响,可能影响验证者参与的活动,例如它们接受收入的 MEV 类型。

    有趣的是,这些实体还从事质押以外的若干活动,这可能会为这些交易所提供的现有服务和 MEV 提取带来协同效应的新机会。这里提到的包括提供特快交易、在交易还没被打包到链上前提供隐私加密货币提款,以及更低的链上费用,相当于用作订单流的加密货币本地支付。

    提供的这些服务一开始可能是优势,并能吸引用户迁移到提供这些服务的交易所,结果会让不提供或出于规管原因无法提供这些服务的交易所受损。此外,交易所在 MEV 游戏里的垂直整合 (例如,交易所运行它们的机器人提交交易到它们的验证者节点) 也是一个隐忧,值得我们深入研究。

    验证者池

    eth2 的另一个重要转变是验证者池的出现,它们提供的好处包括:减低质押所需的最低 ETH 数额、启动面向客户的验证者、抵消来自区块提议运气 (MEV + 交易费用) 带来的差异,并提供额外的服务,例如基于它们管理的资金基础的质押衍生品。

    像 Rocketpool 和 Lido 这样的元池的出现是一个有趣现象。这些实体与非常多验证者池连接,并可能成为质押量的重要来源,因此可以对验证者池施加影响,例如它们采用 MEV 类型和提供给质押者的利润份额。

    这些元池通常提供质押衍生品。这方面的一个例子是,元池能给用户提供代表质押存款 (一般锁在信标链上)的流动代币,这些代币可以在网络的其他地方使用。允许在 DeFi 中使用流动的质押 ETH 代币将进一步增加验证者在 MEV 上赚取的收益。

    回顾上文对基础设施去中心化的论述,不难发现交易所是另一种类型的元池,因为它们也可以在后端与验证者基础设施连接。交易所也很可能会提供质押衍生品服务,这些传统机构与本地运行节点的质押者将在多个维度上展开竞争,如去中心化、流动性护城河、以及规管上的灵活性。[4]


    开放性问题

    我们对 eth2 里 MEV 问题的探索发现了许多开放性问题,我们计划在未来几个月内进行研究。下面是其中四个:

    eth1 区块提议者市场

    由于现在实际上有两个客户端需要运行 (eth1+信标),单独验证者的 eth1 节点很可能就默认选择像 Infura 这样的服务提供商,因为自己运行的开销很大。这可能在一开始就隐含着 eth1 和 eth2 节点的运行者是分开的。假设这种情况铺开发展,可以想象运行高性能硬件和 MEV 模拟软件的 eth1 节点运行者会形成市场竞争,以满足 eth2 区块提议者的需求。

    MEV 搜索优化的新限制

    eth2 里仍然会有像价格套利和清算这样的 MEV 机会,但 MEV 提取所在的系统有一些新的参数,它们可能会改变或引进对 MEV 提取的限制。

    出块时间现在是固定在 12 秒,而不像在 eth1 中是可变的,而提议者 slot 是在每个 epoch 开始时就分配的,这意味着提议者最多有 6.4 分钟的时间计算他们的任务 (在 epoch 开始时就分配到的提议者的时间肯定少于 6.4 分钟)[5]。这不仅为验证者提供了更多的时间在 eth1 客户端交易池上运行最佳的 MEV 提取计算工作,而且由于出块时间的可预测性,模拟和执行会变得更容易。

    这表明,如果用于计算和执行 MEV 提取策略有更长、更可预测的时间间隔, MEV 提取可能需要更复杂、更大量的计算。

    领导者选举机制变更

    验证者会提前知道他们是否有机会做区块提议 (除非是新 epoch 的第一个 slot)。他们甚至可以 (尽管概率很低)在一个 epoch 里做多个区块的提议者。区块提议者的保证是如何改变 MEV 提取的?那多个区块提议者或连续多个区块提议者的保证呢?

    特别地,大型验证者池或交易所很可能分到同一个 epoch 里多个连续的 slot。当某单一实体持有多个连续 slot 并把它们组成的“元 slot”的时候,可能会出现多个区块 MEV 提取的情况,这可能会制造出一个新的攻击向量。 [6][7]

    二层网络与分片

    这篇文章的大部分内容都假设 eth1区块的内容保持现在的样子。然而现实是,大量的交易流将被移到二层,而一层会用作数据可用性层,zk-rollup 和 optimistic rollup 会提交排好序的批次交易。

    按照直觉,这将降低验证者从 MEV 中获得的价值。然而,情况会难以预测,因为多个二层网络会带来额外的复杂性,可能会有新的 MEV 形式 (例如跨二层网络、一层与二层间) 出现。另外,在跨二层的交互里,eth1 内的交易批次排序可能仍然非常重要。

    同样地,随着 eth2 不断发展、分片进入成熟阶段,信标区块里分片的排序也会变得重要,MEV 可能会成为促进分片交错的激励机制。[8]


    1. 关于证明与最终确定的更多内容 https://our.status.im/two-point-oh-justification-and-finalization

    2. MEV 是一个指标,代表可以从区块链上一个正在生成的区块里,通过交易打包的重新排序或交易审查可以不须许可地提取的总价值。到目前为止,在以太坊上的 MEV 提取主要由 DeFi 交易员和机器人操作员通过执行交易策略实现,因为交易排序在其中非常重要,一小部分 MEV 会通过 gas 费给到参与这次 MEV 交易的矿工。这里有更多关于 MEV 的内容

    3. Phil Daian 在这篇文章对这个话题进行了讨论。

    4. 如果想了解更多质押池与质押衍生品,请阅读这篇文章

    5. https://benjaminion.xyz/eth2-annotated-spec/phase0/beacon-chain/#compute_proposer_index

    6. 如果一个池有总验证者数 N 中的 k 个验证者,产生一个独立 slot 的概率是 p=k/N。在一个 epoch 里产生池里两个连续 slot 的概率是p2=kNk1Np_2=\frac{k}{N} \frac{k-1}{N}

      math
      (因为现在唯一验证者可以在不同 epoch 中产生相邻的 slot,在放开了单个 epoch 的限制后,生成连续两个 slot 的概率实际上会稍微高一点——对于我们在这里关心的更大 k 值来说,这是一个微小影响)。如果我们取相近的数, N=120k 是总验证者数,最大的池 (Kraken) 运行其中的 k=20k 个验证者节点,我们得到 p≃0.17 和 p2≃0.026,也就是2.6%。

    7. 另外,Vitalik 在这篇文章 里也提到在 epoch 末对连续 slot 控制的随机性操纵是存在隐忧的。

    8. Vitalik 的这篇研究有更多激励分片交错的内容。

    riAi(X)yiXxir^{i}\tfrac{A_{i}(X)-y_i}{X-x_i}

    ECN的翻译工作旨在为中国以太坊社区传递优质资讯和学习资源,文章版权归原作者所有,转载须注明原文出处以及ethereum.cn,若需长期转载,请联系eth@ecn.co进行授权。


    Ethereum Community Network
    以太坊社区网络
    Ethereum Community Network
    以太坊社区网络