MEV、MEV-Boost 和 MEV 奖励

在上一节中,您了解了节点运营者如何赚取优先费用。 优先费用是对节点运营者收入的一大提升,但它们并不是执行层上唯一可用的流动奖励形式。 还有一种补充形式的奖励可用,称为 MEV 奖励

注意

作为快速提醒,这里是不同类型奖励的细分以及它们在哪一层提供:

  • 共识层(锁定直到提款):证明、区块提议、同步委员会、罚没报告
  • 执行层(流动):来自区块提议的优先费用和 MEV

什么是 MEV

当您的 validator 创建区块时,它通常使用一个非常简单的算法:跟踪待处理交易列表,将尽可能多的交易打包到您正在构建的区块中(优先处理小费最高的交易),然后将该区块提交到链上。

然而,Ethereum 网络用户发现了能够看到公开可用的待处理交易池(称为 mempool)的一个有趣副作用。 拥有这些知识使他们能够使用聪明而复杂的算法来修改这些交易的顺序,并在某些情况下,在它们之间引入交易。 这两种技术结合可用于从区块提议中提取额外的 ETH。

这个额外的 ETH 被称为最大可提取价值,简称 MEV。

一般来说,MEV 有两种"类型":

  • 来自"良性"来源的 MEV,例如在大额买入或卖出后成为第一个在交易所之间套利的人
  • 以 Ethereum 用户为代价的 MEV,通过抢先运行他们的交易并从用户的滑点中获利(有关此技术的更多信息,请参阅三明治攻击)

区块构建者和中继

寻找 MEV 机会并不容易;最先进的机会查找器(称为 searcher)需要极其强大的计算机,并采用复杂的 AI 算法来快速识别和提取 MEV。 然后,searcher 获取这些机会并将它们提供给区块构建者 - 将这些机会捆绑在一起以形成完整 Ethereum 区块的实体(可以是 searcher 本身或其他方)。

运行有利可图的 searcher 的硬件和软件要求阻止了大多数节点运营者使用它们(或至少竞争性地使用它们),从而阻止他们找到自己的 MEV 机会来利用。 幸运的是,简单地寻找 MEV 机会只是等式的一半。

每个 Epoch(6.4 分钟,或 32 个时隙),Beacon Chain 从整个活跃 validator 列表中随机选择一个 validator 来提议一个区块,该区块将适合该 Epoch 中的一个时隙。 可以看到下一个即将到来的 Epoch 的列表,这意味着每个人都可以提前几分钟看到哪些 validator 被分配到每个时隙。

一些聪明的实体利用这种提前知识本质上构建了一种"市场"。 在这个市场中,validator 可以在即将进行区块提议时注册自己,区块构建者可以为他们希望 validator 提议的区块提交出价。 这些出价总是将区块中每笔交易的优先费用提供给提议者,并且它们向提议者提供来自构建者能够为自己提取的 MEV 的补充小费。

然后,validator 可以检查这些出价,确定哪个最终提供最多利润,并提议该区块而不是构建自己的区块。

区块构建者与 validator 交互的这个"市场"被称为中继。 不同的中继有不同的规则(例如它们允许来自区块构建者的上述 MEV "类型"中的哪一种,以及它们是否遵守某些政府制裁法规),但最终它们都服务于这个相同的市场功能。

Rocket Pool 目前为其节点运营者提供对多个不同中继的访问:

名称监管MEV 类型
Flashbots遵守 OFAC 制裁*所有类型
bloXroute Max Profit遵守 OFAC 制裁*所有类型
bloXroute Regulated遵守 OFAC 制裁*所有类型
Ultra Sound不受监管所有类型
Ultra Sound Filtered遵守 OFAC 制裁*所有类型
AESTUS不受监管所有类型
Titan Global不受监管所有类型
Titan Regional遵守 OFAC 制裁*所有类型
BTCS OFAC+遵守 OFAC 制裁*所有类型
注意 *遵守 OFAC 制裁的中继遵循美国外国资产控制办公室 (OFAC) 维护的地址黑名单。

我们强烈建议您阅读更多关于 OFAC 制裁、网络审查的信息,并做出深思熟虑的决定,决定您是否认为应该遵守这些制裁以及您愿意使用哪些中继。

更多信息可以在以下文章中找到:

如果您有兴趣探索每个中继的相对市场份额和每个区块的平均小费,请查看 https://www.mevboost.org/。 该网站捕获有关各种 MEV 中继的许多指标,以便您可以更好地了解中继的流行度和回报。

MEV-Boost

外面有很多中继,让您的节点自动注册并维护与每个中继的联系可能是一项繁重的任务。 幸运的是,Flashbots 的工程师制作并维护了一个明确设计用于处理这种中继管理的程序,称为 MEV-Boost

MEV-Boost 是一个简单的程序:您告诉它您想使用哪些中继,并告诉您的共识客户端如何到达它,它会处理所有注册、出价、盲签和提议管理,与您的共识客户端配合。 它让您被动地参与这个构建者-提议者-市场,从而无需任何努力即可赚取额外奖励。

MEV-Boost 是开源的,并已经过审计

下面是整个 MEV 生态系统如何运作以及 MEV-Boost 在其中的位置的良好视觉描述:

图片由 Flashbots 提供

Rocket Pool Smartnode 默认直接捆绑了 MEV-Boost,使我们的 Docker 模式混合模式节点运营者能够无缝利用它。 原生模式用户需要手动设置它。

Rocket Pool 和 MEV

由于 Rocket Pool validator 部分由 rETH staker 资助,协议要求 MEV 奖励(以及优先费用)必须与 rETH staker 共享(当然减去节点运营者的佣金)。 在使用 Rocket Pool validator 进行提议时,不允许节点运营者将整个 MEV 奖励据为己有。

为此,MEV-Boost 是 Rocket Pool 网络的关键组成部分,原因如下:

  • 它提供对 MEV 中继网络的轻松访问
  • 它确保节点运营者不构建自己的区块;这对于确保节点运营者不运行自己的 searcher 并在不与 rETH staker 共享的情况下窃取 MEV 很重要
  • 它增加了 rETH staker 的整体回报,从而使协议与其他更集中的 staking 提供商保持竞争力

这里的第二点很重要:Rocket Pool 作为一个协议最终将依赖于可信区块构建者(或更准确地说,可信中继)设计,以确保 rETH staker 始终获得其 MEV 奖励和优先费用的公平份额。

上面列出的每个中继目前都在这个角色中。

我们正在采取三阶段方法过渡到可信区块构建者设计:

阶段 1:选择加入!

在第 1 阶段,MEV-Boost 作为选择加入配置提供给所有节点运营者。 鼓励节点运营者使用它,因为它提高了 rETH 的回报,从而保持协议的竞争力,但不要求使用它。 节点运营者可以选择使用上面列出的一个或多个可信中继,但不能使用自定义(不受信任的)中继。

此阶段于 2022 年 11 月结束。

阶段 2:选择退出

在第 2 阶段,MEV-Boost 默认为所有节点运营者启用。 节点运营者可以选择使用上面列出的一个或多个可信中继,但不能使用自定义(不受信任的)中继。 选择退出 MEV-boost 的节点运营者必须在启动 Smartnode 之前明确这样做。

这是当前阶段

阶段 3:必需

在第 3 阶段,MEV-Boost 不再是可选的;所有节点运营者都必需。 节点运营者必须选择使用上面列出的一个或多个可信中继,但不能使用自定义(不受信任的)中继。

此阶段目前没有预定日期

在 Smartnode 中配置 MEV-Boost

要了解如何配置 MEV-Boost,请在下面选择您正在使用的模式。

Docker 模式
混合模式
原生模式

使用 Smartnode 的配置 TUI 配置 MEV-Boost 很容易。 首先运行 rocketpool service config 并导航到 MEV-Boost 选项:

选中标记为 Enable MEV-Boost 的复选框以启用它。

启用后,屏幕将如下所示(截至 Smartnode v1.17.2):

以下是每个选项的说明以及如何使用它们。

  • MEV-Boost Mode 框允许您在 Rocket Pool 管理的 MEV-Boost 实例和您自己管理的外部实例之间切换。这适用于已经设置了 MEV-Boost 并且只想使用它而不是让 Rocket Pool 运行第二个副本的高级用户。常规 Docker 模式用户应该将其保留为 Locally Managed

  • Selection Mode 框允许您在配置文件模式中继模式之间切换。

  • 配置文件模式是默认的。它允许您根据中继的"配置文件"选择要启用的中继。中继的配置文件由以下选择组成:

  • 它是受监管的(遵守政府制裁名单,如 OFAC 名单,并将某些地址列入黑名单)还是不受监管的(_不_根据任何黑名单审查任何交易)

  • 它是允许所有类型的 MEV 还是明确禁止涉及三明治攻击或抢先运行 Ethereum 用户的捆绑包

  • 您可以选择多个配置文件

  • 您选择的每个配置文件都有一组遵守它的中继,这些中继在描述框中列出;启用该配置文件将启用所有这些中继。

  • 高级用户可以将其更改为中继模式,这允许他们明确选择他们想使用的中继。

  • Port 框对 Docker 模式用户不重要。

  • Expose API Port 框对 Docker 模式用户不重要。

  • Container Tag 框对于手动升级 Smartnode 运行的 MEV-Boost 版本很有用,如果 Flashbots 发布了一个新的高优先级版本,您想在包含它的 Smartnode 更新发布之前使用它。

  • Additional Flags 框用于如果您想直接向 MEV-Boost 容器添加补充配置标志或参数。通常,它不会有用。

启用 MEV-Boost 并启用您想要的中继后,只需保存并退出。 Smartnode 将为您重新启动相关容器,并自动为您设置所有内容。

有关如何检查它是否按预期工作的说明,请参见下文。

检查 MEV-Boost 的日志

要检查 MEV-Boost 的日志,请运行以下命令(对于 Docker 模式用户和具有本地管理容器的混合用户):

rocketpool service logs mev-boost

输出将显示您已启用的中继、它们的连接状态,并开始侦听来自 Beacon Node 的流量:

mev-boost_1      | time="2022-09-28T22:02:06Z" level=info msg="mev-boost v1.3.1" module=cli
mev-boost_1      | time="2022-09-28T22:02:06Z" level=info msg="Using genesis fork version: 0x00000000" module=cli
mev-boost_1      | time="2022-09-28T22:02:06Z" level=info msg="using 4 relays" module=cli relays="[{0xac6e77dfe25ecd6110b8e780608cce0dab71fdd5ebea22a16c0205200f2f8e2e3ad3b71d3499c54ad14d6c21b41a37ae https://0xac6e77dfe25ecd6110b8e780608cce0dab71fdd5ebea22a16c0205200f2f8e2e3ad3b71d3499c54ad14d6c21b41a37ae@boost-relay.flashbots.net?id=rocketpool} {0xb0b07cd0abef743db4260b0ed50619cf6ad4d82064cb4fbec9d3ec530f7c5e6793d9f286c4e082c0244ffb9f2658fe88 https://0xb0b07cd0abef743db4260b0ed50619cf6ad4d82064cb4fbec9d3ec530f7c5e6793d9f286c4e082c0244ffb9f2658fe88@bloxroute.regulated.blxrbdn.com?id=rocketpool} {0x9000009807ed12c1f08bf4e81c6da3ba8e3fc3d953898ce0102433094e5f22f21102ec057841fcb81978ed1ea0fa8246 https://0x9000009807ed12c1f08bf4e81c6da3ba8e3fc3d953898ce0102433094e5f22f21102ec057841fcb81978ed1ea0fa8246@builder-relay-mainnet.blocknative.com?id=rocketpool} {0xb3ee7afcf27f1f1259ac1787876318c6584ee353097a50ed84f51a1f21a323b3736f271a895c7ce918c038e4265918be https://0xb3ee7afcf27f1f1259ac1787876318c6584ee353097a50ed84f51a1f21a323b3736f271a895c7ce918c038e4265918be@relay.edennetwork.io?id=rocketpool}]"
mev-boost_1      | time="2022-09-28T22:02:06Z" level=info msg="Checking relay" module=service relay="https://0xac6e77dfe25ecd6110b8e780608cce0dab71fdd5ebea22a16c0205200f2f8e2e3ad3b71d3499c54ad14d6c21b41a37ae@boost-relay.flashbots.net?id=rocketpool"
mev-boost_1      | time="2022-09-28T22:02:06Z" level=info msg="Checking relay" module=service relay="https://0xb0b07cd0abef743db4260b0ed50619cf6ad4d82064cb4fbec9d3ec530f7c5e6793d9f286c4e082c0244ffb9f2658fe88@bloxroute.regulated.blxrbdn.com?id=rocketpool"
mev-boost_1      | time="2022-09-28T22:02:07Z" level=info msg="Checking relay" module=service relay="https://0x9000009807ed12c1f08bf4e81c6da3ba8e3fc3d953898ce0102433094e5f22f21102ec057841fcb81978ed1ea0fa8246@builder-relay-mainnet.blocknative.com?id=rocketpool"
mev-boost_1      | time="2022-09-28T22:02:07Z" level=info msg="Checking relay" module=service relay="https://0xb3ee7afcf27f1f1259ac1787876318c6584ee353097a50ed84f51a1f21a323b3736f271a895c7ce918c038e4265918be@relay.edennetwork.io?id=rocketpool"
mev-boost_1      | time="2022-09-28T22:02:07Z" level=info msg="listening on 0.0.0.0:18550" module=cli

这表明它正在正常运行。

如果您已经有 validator 启动并运行,您将每隔几分钟在日志中看到类似这样的消息:

mev-boost_1      | time="2022-09-28T21:40:48Z" level=info msg="http: GET /eth/v1/builder/status 200" duration=0.147305645 method=GET module=service path=/eth/v1/builder/status status=200
mev-boost_1      | time="2022-09-28T21:40:48Z" level=info msg="http: POST /eth/v1/builder/validators 200" duration=0.052895118 method=POST module=service path=/eth/v1/builder/validators status=200

这表明您的 Beacon 节点能够正确连接到它并注册其 validator,表明您的节点现在正在积极与 MEV 中继交互,并准备好接收来自区块构建者的区块!

下一步

现在 MEV-Boost 已经设置好了,您已经准备好创建一个新的 megapool 验证者并开始在 Ethereum 网络上验证! 阅读下一节以了解此过程。