量化实现的可提取价值

  • flashbots
  • 发布于 2021-05-18 17:48
  • 阅读 12

本文详细探讨了最大可提取价值(MEV)及其实践中的应用,特别是在以太坊网络中。文中提出了一种统一的操作框架来量化MEV提取,并介绍了搜索者与矿工的角色以及MEV提取活动的外部性及成本。通过构建模型和引入Flashbots的交易捆绑功能,本文旨在减少MEV提取活动的负面影响。

最大化(前称矿工提取价值(MEV\textrm{MEV}MEV)是指任何代理在没有特殊权限的情况下从区块链中提取的价值。考虑到这种无权限的性质,任何拥有交易排序权的代理在进行提取时都处于特权地位。在工作量证明区块链中,矿工负责决定块内交易的排序,因此称之为“矿工”。实际上,机器人操作员通过支付高费用来提高他们的交易被挖掘的可能性,或通过调整他们的Gas费用选择“及时”进行交易,来提取 MEV\textrm{MEV}MEV,例如在进行清算时反向操作预言机更新的情况。

尽管最近关于该主题的讨论很多,特别是它对以太坊协议相关的风险,我们仍然缺乏一个连贯的正式模型来量化 MEV\textrm{MEV}MEV 的提取。在 Flashbots 中,我们发布了一个 MEV\textrm{MEV}MEV 浏览器,在其中我们阐明了这一现象的各个方面。虽然我们在网站上详细阐述了我们的度量标准,但它们仍然缺乏正式定义。在这里,我们尝试提供一个统一的操作框架,整合 MEV\textrm{MEV}MEV 的提取指标,重点关注以太坊网络1

一般考虑事项

首先要指出的是,MEV\textrm{MEV}MEV 是一个理论量,仅能渐进接近。不可预见的提取方法可以并且将被设计出来(每一次新的 DeFi 黑客攻击都是一次 MEV\textrm{MEV}MEV 提取事件)。因此,我们将重点关注实际可提取价值,表示为 REV\textrm{REV}REV,满足 REV≤MEV\textrm{REV} \leq \textrm{MEV}REV≤MEV。换句话说,REV\textrm{REV}REV 是从区块链中提取的MEV\textrm{MEV}MEV机会的实际价值2

我们注意到,系统中存在两类参与者,探测者矿工。我们使用通用标签矿工来指代承担交易包含和排序特权角色的参与者。探测者是指任何非特权参与者,旨在从这些机会中获利。关键的是,矿工也可以作为探测者进行操作。

提取 MEV\textrm{MEV}MEV 会产生外部性,例如提高网络所有用户的Gas成本,或者导致链的膨胀。我们在这里不会详细讨论这些外部性的影响,但我们会在模型中将其显现出来。有关更多信息以及“MEV\textrm{MEV}MEV 危机”,请查看我们的 Flashbots 介绍性文章

现在我们准备开始构建我们的框架,从一个简单的模型开始,该模型忽略直接的矿工支付和探测者竞争及其他外部性,例如机会检查。我们将在后期对模型进行修正,以考虑这些因素。

提取模型

我们从一个模型开始,其中一个单一的探测者执行 MEV\textrm{MEV}MEV 提取,通过Gas费用与块矿工分享收益。同时,我们假设矿工按照Gas价格的降序对交易进行排序,这在实践中很好地近似了他们的最佳策略,并且是以太坊节点软件的默认设置。

我们将机会的 REV\textrm{REV}REV 分解为两个部分:

REV=REVS+REVM,(1)\textrm{REV} = \textrm{REV}_S + \textrm{REV}_M, \tag{1}REV=REVS​+REVM​,(1)

其中 REVS\textrm{REV}_SREVS​ 是归探测者的价值,而 REVM\textrm{REV}_MREVM​ 是归矿工的价值。注意,正如我们将在下面扩展的,REV\textrm{REV}REV 已经包含了机会的提取成本(即一个机会的实际 REV\textrm{REV}REV 取决于提取时网络的Gas价格3)。

让我们深入了解这两种不同的部分。探测者的 REV\textrm{REV}REV 由以下组成:

REVS=Vin−Vout−gMEV.sMEV,(2)\textrm{REV}_S = V_{in} - V_{out} - g_{\textrm{MEV}}.s_{\textrm{MEV}}, \tag{2}REVS​=Vin​−Vout​−gMEV​.sMEV​,(2)

其中 VoutV_{out}Vout​ 是从探测者流向区块链在执行提取时的交易价值(不包括Gas);VinV_{in}Vin​ 是流向探测者的区块链价值;gMEVg_{\textrm{MEV}}gMEV​ 是交易的Gas价格;并且 sMEVs_{\textrm{MEV}}sMEV​ 是它们的大小,即它们消耗的总Gas量。VoutV_{out}Vout​、VinV_{in}Vin​ 和 gMEVg_{\textrm{MEV}}gMEV​ 以基础网络货币(ETH)计价,而 sMEVs_{\textrm{MEV}}sMEV​ 用Gas单位计价。将Gas部分与 VoutV_{out}Vout​ 分离将在量化提取成本时提供帮助,这也是我们在实践中计算 REVS\textrm{REV}_SREVS​ 的方法。

这里我们“区块链”一词泛指与提取交易的 EOA 不同的任何其他地址(对应智能合约或 EOA),或由探测者控制的智能合约。注意,识别这些是基于已知探测者模式的启发式指导过程,且收益不高。此外,我们强调,与 MEV\textrm{MEV}MEV 提取相关的任何附属交易(如沙拉攻击中的“肉”)并不属于上述变量所贡献的交易集。

转向矿工一侧,我们有:

REVM=sMEV.(gMEV−geff),(3)\textrm{REV}_M = s_{\textrm{MEV}}.(g_{\textrm{MEV}}-g_{eff}), \tag{3}REVM​=sMEV​.(gMEV​−geff​),(3)

其中 geffg_{eff}geff​ 是有效Gas价格,也就是如果没有利用机会,将会被包含在区块中的交易。REVM\textrm{REV}_MREVM​ 的定义因此包含了矿工因包含 MEV\textrm{MEV}MEV提取交易而发生的机会成本

由于内存池中的交易是短暂的,仅凭区块链数据和日志无法事后测量 geffg_{\textrm{eff}}geff​。我们采用一个近似值,它也作为矿工实现余额的下界:

REVM≳sMEV.(gMEV−gtail),(4)\textrm{REV}_M \gtrsim s_{\textrm{MEV}}.(g_{\textrm{MEV}}-g_{tail}), \tag{4}REVM​≳sMEV​.(gMEV​−gtail​),(4)

其中 gtailg_{tail}gtail​ 是区块内最后一笔交易的Gas价格4

将公式 (2) 和 (4) 代入后,我们得到总的实现价值:

REV≳Vin−Vout−sMEV.gtail.(5)\textrm{REV} \gtrsim V_{in} - V_{out} - s_{\textrm{MEV}}.g_{tail}. \tag{5}REV≳Vin​−Vout​−sMEV​.gtail​.(5)

在这一表述中,矿工和探测者的角色变得模糊,但我们可以清楚地识别出机会的提取成本,由被减去的项 sMEV.gtails_{\textrm{MEV}}.g_{tail}sMEV​.gtail​ 给出。

最后,需要注意的是,这一阶段探测者与矿工之间的价值分配完全取决于 gMEVg_{\textrm{MEV}}gMEV​ 的选择,而这一选择又受到机会的性质和尝试利用该机会的其他探测者的影响。

包含外部性

到目前为止的场景忽略了一个事实,即虽然单一探测者的成功价值提取是存在的,但它们仅占所有 MEV\textrm{MEV}MEV 活动的一小部分。在实践中,每当网络中出现机会时,多个探测者会尝试通过参与优先Gas拍卖或提交多个竞争交易来争取,反向操作目标状态的变更。此外,探测者有时执行链上计算以验证机会的存在(“预飞行”)。当这些检查失败时,则不会提取任何价值,但矿工仍将从收集的Gas费用中受益。

然而,值得注意的是,所有这些活动都是零和的:探测者彼此竞争所产生的所有成本、状态验证等,直接转化为矿工的利润。从矿工的角度来看,探测者的预飞行支付的费率与来自无意 token 转移的费率并无区别。这表明,所有这些价值并没有对 REV{\textrm{REV}}REV 产生贡献。然而,我们希望量化这一点,因为正是这些活动给不参与这种交易的网络普通用户带来了麻烦。

因此,我们需要对 MEV\textrm{MEV}MEV 有一个更广泛的视角,并定义一个新术语,可提取价值成本(EVC{\textrm{EVC}}EVC),它总结了所有因为 MEV\textrm{MEV}MEV 提取活动而引发的额外价值,且并不属于已提取价值的部分。根据这个定义,我们有:

总 MEV 活动=REVS+REVM+EVC。(6)\textrm{Total MEV Activity} = \textrm{REV}_S + \textrm{REV}_M + {\textrm{EVC}}. \tag{6}总 MEV 活动=REVS​+REVM​+EVC。(6)

换句话说,总的 MEV\textrm{MEV}MEV 活动由已提取的 MEV\textrm{MEV}MEV(REV\textrm{REV}REV,在探测者和矿工之间分配)和可被提取价值的总成本组成,直接送往矿工,并通过 EVC{\textrm{EVC}}EVC 来量化。注意 EVC{\textrm{EVC}}EVC 仅涵盖链上活动,忽略了因同nonce交易替代而导致的网络膨胀等链外成本。

我们可以按如下方式计算 EVC{\textrm{EVC}}EVC:

EVC=∑tx∈Xstx.gtx,X={预飞行,失败,取消}。(7){\textrm{EVC}} = \sum_{tx\in X} s_{tx}.g_{tx},\quad X=\{\textrm{预飞行},\textrm{失败}, \textrm{取消} \}.\tag{7}EVC=tx∈X∑​stx​.gtx​,X={预飞行,失败,取消}。(7)

虽然完全消除 MEV\textrm{MEV}MEV 可能不可能5,但 Flashbots 的 核心使命 是通过改善提取过程的整体效率来减少与 MEV\textrm{MEV}MEV 活动相关的负外部性。当前的框架使我们能够简单明了地表述这一使命,即减少 EVC{\textrm{EVC}}EVC。

Flashbots 组合

Flashbots 通过允许探测者提交有序交易的组合来优化 MEV\textrm{MEV}MEV 提取,有效地将部分排序特权从矿工转移到探测者。只要矿工从中获得的超过挖掘常规交易的价值,就会将这些组合包括进来。虽然探测者仍可以设置Gas费,支付矿工以获取包含的理想方式是通过直接转移到 coinbase 的价值,在该组合中6

因此,我们需要在矿工收入公式 (4) 中考虑这一额外项:

REVMFlashbots≳sMEV.(gMEV−gtail)+Vdirect。(8)\textrm{REV}_M^{Flashbots} \gtrsim s_{\textrm{MEV}}.(g_{\textrm{MEV}}-g_{tail}) + V_{direct}, \tag{8}REVMFlashbots​≳sMEV​.(gMEV​−gtail​)+Vdirect​。(8)

其中 VdirectV_{direct}Vdirect​ 是转移到coinbase 地址的总值。注意,这个新项不影响总 REV\textrm{REV}REV,因为它通过 VoutV_{out}Vout​ 项的相应增加而得到考虑。

除了额外项之外,我们现在扩展了贡献于公式中这些项的交易集合,包括组合中包含的所有交易。特别地,如果一个组合在套利中包括“肉”,则它的大小和Gas价格会计入提取价值。这确保我们考虑到矿工在包含组合而不是常规交易时所承受的机会成本。

最后,关于探测者价值的表达式 (2) 保持不变,但也需要将隐含交易集扩展到组合中的所有交易。模型的其他部分在使用 Flashbots 组合时保持不变。通过这些改动,模型也涵盖了其他中继服务,例如私人内存池。

值得注意的是,Flashbots 减少 EVC{\textrm{EVC}}EVC 并不意味着矿工收入的减少,因为他们的提取价值份额可能因提取优化而增加。Flashbots 执行是确定性的,因此探测者可能支付给矿工的费用超过他们冒险支付的回滚或取消的费用。找到收入分配均衡最终是一个博弈论问题,应当进行独立处理。

最后的想法

通过统一与 MEV\textrm{MEV}MEV 提取相关的各种数量,我们的框架使我们能够提出明确的问题,如“MEV\textrm{MEV}MEV 提取活动的成本对网络有多大?”或者“Flashbots 在降低这些成本方面的贡献有多大?”基于该框架的,关于 MEV\textrm{MEV}MEV 提取的这些及其他有趣的视角将在接下来的版本 MEV\textrm{MEV}MEV-Explore 中被纳入。

在这项工作中,我们已隐含排除实际测量“原子项”的复杂性,这些原子项进入定义中,例如 VoutV_{out}Vout​,或者实际的 MEV\textrm{MEV}MEV 提取交易集合。完成这一任务涉及到针对不断增加的 MEV\textrm{MEV}MEV 提取策略进行特设启发式处理,尽管我们努力建立一个实用的分类,但总会有无法预见的机会逃避检测7

我们对哪些类型的 MEV\textrm{MEV}MEV 提取是“好”的,哪些是“坏”的未做出判断,尽管确实有一些合理的途径去有意义地接近这一问题(“是否有外部第三方因提取而遭受损失?”)。我们将这一微妙的问题留给今后的工作,但重申我们的信念,即 EVC{\textrm{EVC}}EVC 是不可取的,我们将努力将其最小化。

加入我们的努力!

在 Flashbots,我们进行研究,构建系统,以缓解即将到来的 MEV\textrm{MEV}MEV 危机,我们期待你的帮助。我们是一个分布式组织,具有海盗黑客集体的原则,并且有多个开放职位。我们还向与我们工作对齐的外部研究人员发放赠款,请在我们的 研究库 中了解更多信息,或加入我们的 Discord

特别感谢 Scott Bigelow、Phil Daian、Stephane Gosselin、Alex Obadia、Tina Zhen 和 Jason Paryani 的欢迎,以及所有 Flashbots 团队为这篇文章所做的工作和讨论。


  1. 然而需要注意的是,这里所提出的大部分内容也应适用于其他拥有交易排序特权的区块链,但需进行小的变更。相关工作正在进行中
  2. 此处的定义与即将在即将发表的论文中发布的 MEV\textrm{MEV}MEV 的理论方法相一致(剧透 在这里)。
  3. 是否(不可测量的)MEV\textrm{MEV}MEV 也应依赖于此尚待讨论。
  4. 若整个区块都由 MEV\textrm{MEV}MEV 提取交易占据,则需要查看相邻区块的Gas价格。
  5. 但需要注意,精巧的协议设计可能在某种程度上降低其发生的可能性,相关工作仍在进行中
  6. 直接的 coinbase 转移也可以出现在标准的非组合提取中,但探测者这样做没有什么意义,因为矿工通常只关注Gas价格进行交易包含和排序。
  7. 请参见这篇文章,以获取基于标记某些类型的“交易动态”(位移、插入和压制)进行 MEV\textrm{MEV}MEV 检测的补充性、与协议无关的方法。
  • 原文链接: writings.flashbots.net/q...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
flashbots
flashbots
江湖只有他的大名,没有他的介绍。