以太坊即将从工作量证明 (PoW) 共识过渡到权益证明 (PoS) 共识协议。实现过渡的开发工作已经进行多年了,并将分多个步骤进行。第一步是在 2020 年 12 月启动信标链。在写此文时,它已启动,并有超过 16 万的验证者,或相当于 500 万个 ETH 质押在上面了。
第二步是“合并”,可能在 2022 年年初发生。尽管这一步以外还有很多细节有待解决,但 PoS 以太坊 (eth2) 已经固定下来的内容对我们来说已充分能够分析出 MEV 将是如何的。
在这篇文章里,我们研究 eth2 里的交易排序以及分析 MEV 带来的质押收益。我们发现 MEV 将显著提高验证者的奖励,但可能强化了 eth2 参与者间的不公平。我们还对 eth2 里 MEV 的定性问题进行讨论,例如它的最大利益相关者交易所与验证者池之间的动态关系将是什么样的。
这篇文章由来自 Flashbots 的 Alex Obadia 和 Taarush 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 和信标链的数据)都将由一个验证者负责提议,非常多的验证者负责证明。证明者需要对信标链三方面的当前值进行投票:链头、被证明的检查点和被最终确定的检查点,如果都准确投票了会得到奖励。[1]
eth2 里的 MEV
MEV (Maximal Extractable Value, 可提取最大价值) 指的是一个区块提议者可以从对交易重新排序、审查或在区块里插入交易这些操作里获得的所有潜在价值[2]。为了了解在 eth2 里的交易排序,我们首先关注将会被使用的软件的内部运作。
eth2 客户端
由于 eth2 本质上是两条链的合并,它的客户端自然由两个子客户端组成,一个用于执行引擎,一个用于共识。值得注意的是,现在的 PoW 以太坊客户端会继续存在于 eth2 里,与信标客户端一起运行,各自承担不同的分工。
eth1 客户端是一个 PoW 以太坊客户端,但除去了它仅专注于 eth1 交易池、eth1 执行有效性、以及 EVM 的共识责任。而信标客户端则负责共识和验证者职责 (例如,信标区块证明和提议)。它们是同时运行的,各自维持着自己的 p2p 网络堆栈 (信标链的 libp2p、eth1 的 devp2p)。
eth2 客户端大概如下修改图所示 (图片来自 Danny Ryan 的这篇文章)。
eth1 区块提议
就像现在的 PoW 以太坊,在 eth2 里的 eth1 客户端负责维持从它的 p2p 网络里收到交易的本地交易池。如在 Rayonism 的规范所写的,信标客户端与 eth1 客户端交互,以形成一个 eth1 区块。尽管规范里的通信渠道在成产品时会有改变,但方法的语义应该变化不大:
-
经过几个来回,信标客户端向 eth1 客户端某 eth1 区块的信息 (该区块由它的交易池所收到的交易组成) ,检查它是否符合各种有效性条件
-
当信标客户端收到了 eth1 区块,该区块也符合了各种有效性验证,它会由区块提议者把它打包到当前的信标区块,使其成为证明者要进行投票的数据。
-
然后信标客户端会请求 eth1 客户端把将其链头更新为最新被打包的 eth1 区块。
-
一段时间后,信标区块所在的 epoch 会被最终确定了,信标客户端会通知 eth1 客户端 eth2 区块已经在共识层被最终确定了。
尽管在 eth2 上达成共识的方式改变了,在每个 eth1 区块里的交易排序还是跟现在一样,都是在软件里对交易进行排序 (就像以太坊的 PoW 客户端 Geth那样运作),与在 p2p 网络里广播交易。
eth2 里存在 MEV 吗?
由于在 eth2 里交易排序的过程与 PoW 以太坊是一样,因此有理由认为 MEV 机会仍将存在,就像我们今天了解到的情况一样。不同点在于谁拥有排序的最终控制权,即验证者而不是矿工,因为是验证者选择提议的信标区块,它包含了从 eth1 客户端询问到的新 eth1 区块。
这意味着像 Flashbot 的 MEV-geth (为提取 MEV 而优化的、修改后的 eth1 客户端软件) 这样的技术仍然可以存在,它们允许 eth1 交易发送者为了他们的交易能排在想要的位置而给区块提议者 (和交易排序者) 小费。在确定了这点后,我们现在可以充分思考验证者通过运行像 Flashbot 这样的软件可以获得多少收益。
验证者奖励经济分析
开发者 Pintail 最近发布了一份关于信标链验证者奖励的详细分析。我们的研究沿用了他们的方法 (也重新使用了他们的代码),你可以在这里查看,下面是从我们的研究结果里选出的几点总结。我们还建立了一个线上活页夹,你可以直接在你的浏览器里的 Python Notebook 试用。
尽管 MEV 出了名是难以量化的,我们使用 Flashbots 数据作为区块提议者从 MEV 中获得的最低额外收入的下限。这是下限是因为只有一部分的 MEV 活动是在 Flashbots 上进行的。
阅读这个分析时需要注意,它只分析了在协议规定的质押收益基础上的 MEV,而不包括区块提议者理应获得的交易费。这样做的主要原因是现在很难预测在 EIP-1559 后的交易费是什么样的。这应该不会是一个很糟糕的假设,因为不打算利用 MEV 的人也不大可能在 basefee (基本费用) 之上花多于默认设置的 1 gwei 小费,但这的确意味着 MEV 对质押收益的相对影响是被夸大了。
理想情况
让我们先考虑这样一种情况:所有验证者都完美参与并获得协议可能的最大奖励 (即没有罚没情况),以及所有的奖励都平均分配,因为所有验证者理应在无限的时间里获得相同的提议区块机会。
根据目前的验证者数 (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 个区块。
按照这个逻辑,我们可以根据区块提议运气的三个不同级别绘制出奖励的变化图:
现在加上每个区块记录在 Flashbots 的被检测到的可提取价值 (Realized Extractable Value, REV) 的平均值,我们可以对比这三种水平在有和没有 MEV 提取情况下的表现:
没有 MEV 提取与有 MEV 提取的情况相比,这 3 个级别的表现现在是没有区别的。这表明,MEV 提取加剧了由区块提议运气带来的不平等。
此外,REV 的分布也是不平均的,可以看作是运气的第二个维度,有些区块会比其他区块有更大的 MEV 奖励。例如,下图显示的是 Flashbots 上最近 10 万个连续以太坊区块 (从区块 11600000 开始)矿工奖励的长尾分布。
为了便于观察,我们截取了 x 轴 0—3 个 ETH 的部分,但在我们的样本里,矿工奖励最高可达 101 个 ETH,你可以通过上文我们的分析链接找到。我们把 Flashbots 上的矿工奖励分布用作 REV 分布的指标,可以基于运气最差的 1%、中位数和运气最好的 1%的验证者应该获得的 MEV 奖励对三个级别的运气情况进行定义,并绘制以下图表:
尽管前面的图表显示,MEV 加剧了由区块提议运气导致的验证者奖励不平等,这个图表显示的是 REV 的不平衡分布是验证者间不平等的更大源头——特别是考虑到在上一张图里 y 轴的数值跨度是 600% 到 80%。
然而,在现实中,验证者会通过集中在验证者池的资源抵消了由区块提议运气和 REV 分布带来的奖励差异。尽管以太坊 PoS 的设计是验证者做有效证明可以得到相当可观、近乎恒定的奖励 (不同于在 PoW 机制,只有提议了区块才能得到奖励),在验证者奖励里引入 MEV 可能会成为一种中心化力量,因为它使得单独验证者的操作变得没那么有利可图,而加入到验证池则变得经济上更有吸引力,资金也能更早获得流动性。
最后,我们担心 MEV 会使 eth2 中的寡头情况变严重——有最多 32 个 ETH 作为押金的实体比那些拥有更少的更快获得财富 (富者更富的态势)。这将使得去中心化的 MEV 提取在 eth2 里变得尤其重要,这样才能保持共识投票权的去中心化。[3]
进一步分析
上文分享的 Python notebook 有我们分析的其他详细内容,其中我们在模型里把罚没限制纳入为考虑因素,研究在线时间不足和低验证者参与率导致的惩罚是如何受 MEV 奖励影响的。为了简洁,我们不在此赘述我们的结果,但鼓励你去查看并发表你们的意见。
来源 | Flashbots
作者 | Alex Obadia & Taarush Vemulapalli
[1]关于证明与最终确定的更多内容 https://our.status.im/two-point-oh-justification-and-finalization/
[2] MEV 是一个指标,代表可以从区块链上一个正在生成的区块里,通过交易打包的重新排序或交易审查可以不须许可地提取的总价值。到目前为止,在以太坊上的 MEV 提取主要由 DeFi 交易员和机器人操作员通过执行交易策略实现,因为交易排序在其中非常重要,一小部分 MEV 会通过 gas 费给到参与这次 MEV 交易的矿工。这里有更多关于 MEV 的内容
[3] 在这篇文章对这个话题进行了讨论