自从 Daian 等人在 2019 年的?Flashboys 2.0? 论文中引入矿工可提取价值(MEV)(也就是现在的最大可提取价值)以来,关于MEV的讨论已经很多。特别是,Flashbots Auction的推出推动了当今跨越各种区块链和中心化交易所的十亿美元经济。从激动人心的 Twitter 话题到学术研究论文,MEV 现象已成为加密货币讨论的核心。然而,奇怪的是,对于 MEV 的正式定义并没有达成一致。
虽然有些人可能会争辩说,在大多数情况下,广泛共享的、直观的 MEV 概念就足够了,但我们认为,适当的正式化对于建立可以进行复杂理论化的基础至关重要。正如 Tim Roughgarden 在最近一次关于构建 DeFi 理论的演讲中所说的那样,在“简单”和后来的“困难”定理之前,第一步是要有定义和基本词汇。此外,正如最近的公开讨论所证明的那样,有些人声称套利不是 MEV,甚至可能是我们根本不共享 MEV 的直观概念!一个统一正式的 MEV 定义肯定会有所帮助。
然而,事实证明,以稳健、通用的方式正式化 MEV 并非易事。在这篇文章中,我们探讨了在尝试提出这样一个定义时遇到的一些困难。我们首先回顾一些现有的正式化,指出它们的一些问题,并继续寻求对其中一些进行修正。虽然我们提出了改进其中一些问题的新定义,但我们的主要贡献在于突出了所涉及的许多微妙之处,为未来围绕 MEV 的工作采用更系统的方法铺平了道路。
最初的 Flashboys 论文将 MEV 定义为“在给定时间范围内,以太坊矿工可以从交易操纵中提取的总量,其中可能包括多个区块的交易价值”,但没有尝试正式定义。最近,广泛采用的工作定义类似于:
Cosmos生态MEV基础设施提供商Skip Protocol推出Skip API:7月20日消息,Cosmos生态MEV基础设施提供商Skip Protocol推出Skip API,允许在Cosmos中的任何网络之间进行一键跨链代币兑换和转移,通过集成Skip API,任何钱包、前端或DApp都可以非常轻松地在IBC链之间无缝转移流动性。[2023/7/20 11:06:44]
MEV 是区块提议者可以通过重新排序、审查或插入交易而无需许可地提取的价值。
也许最接近正式化的定义是最近的 Clockwork Finance 论文中通过以下两个表达式给出的定义:
和:
这里,EV 是在给定一组有效区块序列 B 的情况下,玩家 p 在状态 s 中可提取的价值,(B1 ,...,Bn ) 就是这样的一个序列,而 b(p,Sk ) 是玩家 p 的余额在将区块 (B1 ,...,Bk ) 应用于 s 后的状态。k-MEV 是处于状态 s 的玩家 p 作为区块提议者的 k-最大可提取值,其中 validBlocksk 是 p 可以创建的 k 个区块的所有有效区块序列的集合,而单区块 MEV 仅为 1-MEV。
安全公司:BNBChian的MevBot被利用,损失约9.6万美元:7月4日消息,据Web3网络安全公司Ancilia监测,BNBChian的MevBot被利用,损失约9.6万美元,黑客为0x0070开头地址。[2023/7/4 22:17:24]
为了记数简单性,这些表达式与论文中的表达式略有调整,但在其他方面是等效的。特别是,我们考虑玩家的余额而不是账户(省略玩家控制的账户的总和),并删除对链的原生资产的显式引用;稍后我们将回到这一点。
我们将使用 MEV 的这个定义作为起点,并注意到大多数其他论文提供了面临相同限制的类似定义,或者根本不提供正式定义。
我们首先注意到上述表达式中的一个致命缺陷:最大可提取值(MEV)取决于玩家 p!这意味着如果 p 有一些待处理的空投领取,他们的 MEV 将大于没有的玩家。虽然这对于可提取值可能有意义,但它肯定与“无许可提取”价值的想法不一致。
仔细检查后,并不完全清楚“玩家”的概念实际上指的是什么。我们可以确定至少三个相互交织的含义:i) 作为交易签名者的玩家,拥有余额和控制账户,ii) 作为协议游戏中的参与者,拥有(或缺乏)区块提议权,以及 iii) 网络意义上的玩家 ,受延迟影响并拥有独特内存池视图的节点运营商。
虽然后一种含义可能不适用于这个公式,但含义 i) 和 ii) 有点混淆:p 在谈论 (1) 中的余额时肯定指的是 i),但在从(1)到(2),我们还赋予了 p 区块提议权,符合含义 ii)。我们认为 MEV 的正确定义应该独立于 i) 意义上的玩家,也就是说,它不应该依赖于特定的签约权。关于 ii),我们将定义给定区块提议权限的 MEV。这有效地将问题一方面解耦为价值提取,另一方面获得排序权,这在考虑提取成本、网络安全等时可能会很有用。
NFT聚合市场Blur的ETH销毁量超越MEV Bot:金色财经报道,据Ultrasound.money最新数据显示,NFT聚合市场Blur的以太坊链上ETH销毁量已超1.6万枚,当前达到16,067.07枚,超越MEV Bot,后者当前ETH销毁量为16,056.28枚。此外,截至目前以太坊链上ETH销毁总量已达到3,333,639.34枚,约合9,713,721,371美元。[2023/5/26 10:41:23]
上述定义的其他注意事项是对多区块 MEV 的处理(与上述 i) 和 ii) 含义的纠缠有关)、因撤回交易而产生的费用的遗漏,以及试图将 MEV 推广到跨域设置时区块概念的不足。在接下来的内容中,我们尝试修补定义以在可能的情况下解决其中的一些问题,并讨论我们在此过程中发现的一些其他困难。
如上所述,首要任务是提出一个真正无需许可的 MEV 定义。我们将在可提取值的定义中保留玩家依赖性,但在移动到 MEV 时摆脱它。我们在这里注意到,我们在上面 i) 的意义上使用 player,赋予它对 EV 和 MEV 的完整区块排序权限。我们提出以下建议:
这里的第一个表达式与 (1) 非常相似,但我们删除了对有效区块序列集的依赖,这是隐式的,我们只考虑单个块(稍后会详细介绍)。这里的validBlocks(p)是p可以提出的有效区块的集合(validBlocks1 (p,s)之前,为了简洁省略了区块的数量和状态依赖)。B(s) 反过来表示通过在状态 s 之上应用区块 B 获得的状态。
MEV基础设施提供商Skip完成650万美元融资:金色财经报道,MEV基础设施提供商 Skip 宣布完成650万美元融资,用于在 Cosmos 生态系统中实现矿工可提取价值 (MEV)机会和利润的民主化。
投资者包括 Bain Capital Crypto、Galaxy Digital、Robot Ventures 和 Jump Crypto。[2022/9/22 7:14:29]
在表达式 (4) 中,我们获得了 MEV 的定义,根据需要,该定义独立于玩家(表示 P 玩家集)。虽然在最大可提取值的定义中找到最小值可能有悖常理,但这个最小值只是编码了提取应该是无许可的想法。EV 已经负责最大化,无需许可即可提取的价值是特权最低的参与者可以从网络中获取的价值(同样,假设他们拥有区块提议权)。
然而,这个定义引出了一个问题,当挖矿需要前期资本时会发生什么?定义 (2) 没有这个问题,因为它对玩家有明确的依赖,但是现在删除了它,我们需要考虑到某些 MEV 可能只能在某些初始资本水平下才能提取。然而,我们注意到 gas 费用不是这里要求的一部分,因为提议者可以随意排序“免费”交易,因此即使没有初始资本,通常 MEV 也可能大于零。
尽管如此,我们希望明确对资本的依赖,因为许多 MEV 机会都依赖于它。我们写(使用(3)中的EV):
MEV浏览器MEV-Explore v1上线:2月22日消息,MEV浏览器MEV-Explore v1上线,较v0版本,本次升级主要为使用mev-inspect-py模块(以前使用 -rs);协议覆盖新增Uniswap v3;修复一些归类计算错误,重新定义总价值。据悉,MEV-Explore v1统计的数值仅为估值下线。[2022/2/22 10:07:52]
这个定义告诉我们,状态 s 中初始资本 K 的最大可提取价值是任何至少拥有该数量初始资本的玩家可以提取的价值。
我们考虑的下一步是内存池中的交易会发生什么。在上面我们考虑了“有效区块”,但至关重要的是,这些可以包含已撤回的交易,即支付费用,但不修改状态。这是一个棘手的问题,因为它涉及上面的含义 iii) 对玩家来说,因为内存池的不同视图会产生不同的有效区块集。虽然在实践中提取 MEV 的搜索者不断在内存池中寻找机会,但交易最终需要包含在一个区块中以修改状态并产生机会,因此如果我们在有效交易方面不失一般性只考虑状态变化,而不是更一般的有效块概念。在这种情况下,我们确实丢失了作为 MEV 来源的撤回交易,因此我们可以尝试修改我们的公式以包含依赖于玩家的内存池的视图,但这会混淆 i) 和 iii) 的含义,并且我们会遇到最小化过度玩家时的麻烦。考虑到内存池架构仅针对某些领域,这也会限制表达式的泛化性。因此,我们明确排除了作为 MEV 来源的撤回交易,但请注意,它们是排序器带回的收入的一部分,并有助于 MEV 提取的负外部性,如可提取价值成本?所量化。
省略撤回交易使我们能够走得更远,超越区块的概念,这将使我们能够在更一般的领域(如中心化交易所)中考虑 MEV。我们将可提取价值的定义重写为:
这里,S 是所有状态的集合,符号 Sap S' 表示状态 S' 可以通过玩家 p 的某个动作或动作序列 ap 从状态 s 到达。与上面的等式 (5) 一起,我们获得了可以轻松推广到跨域情况的定义(见下文),并解决了我们在定义 (1) 和 (2) 中遇到的大多数问题。
在修补 MEV 定义时,我们转向了单区块,彻底解决了多区块 MEV 的问题。事实上,我们最新的表达式 (5) 和 (6) 会自动考虑到这一点,因为通过根据状态而不是区块来表达 EV,这些公式适用于提议者拥有排序权的任何时期。现在的问题成为如何获得这些订购权的方法之一。为了干净利落地做到这一点,我们需要归因于不同事件的概率(比如产生单个区块、两个连续区块等),这样我们就可以得出总 MEV 的预期值。然而,这超出了 MEV 形式化的范围,因为一旦定义了足够的集成,就可以简单地插入表达式 (5)。
我们顺便提到的另一个话题是跨域 MEV。在一个不同链(或更一般的域)有自己的状态更新机制,但通过其状态中的依赖关系有效链接的世界中(想想 L1 存款在处理时会影响 L2 余额),我们希望找到 MEV,它只能是通过对多个域中的状态变化进行排序来提取。我们在状态方面的表述适用于这种扩展,但需要注意的是,不同的域具有不同的本地资产,我们需要考虑到这一点。我们不会在这里详细介绍,但是可以通过引入定价功能来解决这个问题,以便从一个域转换到另一个域。首先近似,我们可以取一个定价函数 pi→j 从域 i 的本地资产到域 j 的资产,并要求 pj→i =1/pi→j 。更现实的是,我们预计价格是许多因素的玩家依赖函数,如不同域的不同资产数量、域的信任假设等。
我们注意到,自始至终,我们都将 EV 和 MEV 视为玩家的收入,从未考虑过成本。这与我们对具有给定订购权的玩家的定义相吻合,因为获得这些权利可以说是 MEV 提取中成本最高的组成部分(尽管考虑到订购问题是一个 NP 完全背包问题,计算成本可能并不重要)。无论如何,将 MEV 仅视为收入组成部分并单独考虑提取成本似乎更清晰。就像在多区块设置中一样,我们可以定义一个概率集成来获得排序权,并考虑与每个概率分布相关的成本。然而,更棘手的是,排序权限通常以每个域的特征为单位授予(例如,提议一个区块),而成本通常表示为费率(每单位时间)。因此,虽然 MEV 通常以区块形式出现,但生产这些区块的成本将以时间单位表示,并且它们之间的关系的细节将因每个域而异。每个域如何实现最终确定对于建立这种关系也至关重要(也许 1 年前有一个很好的 MEV 机会,但重新组织链以获得它的成本会令人望而却步),所以我们不期望有一种 MEV 的通用公式来适应它。
最后,我们只考虑了“确定的”MEV,用状态改变后增加的余额来表达它(MEV 为正)。这不足以描述更一般的“概率 MEV”概念,在这种概念中,玩家愿意承担风险以期获得以后的回报。这方面的例子是在预期价格上涨时买断新的代币清单,或者抢跑 NFT 出价。很可能这些机会中的大部分都可以通过合并定价函数来描述,我们期待看到朝这个方向发展的工作。
MEV兴起需要一种一致的正式方法来解锁正确的理论(例如,以智能合约系统的 MEV 暴露的自动审计为例,与上面引用的 Clockwork Finance 论文中的工作一致)。然而,正式化 MEV 涉及大量的技术细节,这些技术细节通常会为了完整性而权衡通用性(例如是否包括撤回交易的情况)。在这里,我们为参与者的概念提供了明确的含义,这使我们将获得排序权的问题与价值提取的问题分开,使我们能够在定义 MEV 时具有很大的普遍性。我们的公式 (5) 和 (6) 提供了一个一致的、易于推广的定义,可以用于多领域世界。我们还强调了在实现 MEV 的正式定义时面临的许多问题,我们希望这些问题能够更系统地处理该主题。
来源:Flashbots
感谢 Phil Daian、Alex Obadia 和 Mahimna Kelkar 就该主题进行了大量讨论。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。