# MEV：从零和博弈走向三权分立

By [CYNIC](https://paragraph.com/@cynicsong) · 2023-08-23

---

TL;DR

*   MEV是什么：MEV全称为Miner Extractable Value（也可称为Maximal Extractable Value，最大可提取价值），是指矿工通过操纵交易（添加、删除、重排交易）所能够获取的额外收益。获取MEV的方式可以分为DEX套利、清算、Front-Running、Back-Running、三明治攻击等。
    
*   MEV带来的影响：Front-Running与三明治交易会导致糟糕的用户体验与更严重的损失，但同时DEX套利、借贷清算可以帮助Defi市场更快地到达均衡，维持市场的稳定性。
    
*   MEV市场有多大：在以太坊The Merge之后，仅以太坊使用Flashbots的Block Proposer接收到的MEV收益已超过206,450ETH。
    
*   Flashbots：MEV-Geth让Miner与Searcher分享了MEV收益；MEV-Boost让MEV在Proposer、Builder、Searcher之间分配，同时保护了用户的交易不被Front Running；MEV-share致力于让用户、钱包、Dapps能够捕获其交易所产生的MEV；MEV- SGX利用SGX可信硬件希望彻底取代受信任MEV-Relay角色，实现无许可；SUAVE尝试解决MEV带来的中心化风险。作为专用链，向现存的所有链提供交易排序与区块构建服务。
    
*   Chainlink：作为市场上最大的预言机平台，试图在预言机网络的层面通过交易排序来缓解MEV问题。
    

MEV是什么
------

MEV全称为Miner Extractable Value（也可称为Maximal Extractable Value，最大可提取价值），是指矿工通过操纵交易（添加、删除、重排交易）所能够获取的额外收益。在一般的公有链中，所有的交易首先要提交到Mempool内存池，等待被包含进区块中。矿工/验证者作为区块链生态中负责出块的角色，能够决定区块中包含哪些交易，具备很高的权力。

一开始，矿工仅按照交易手续费从高到低进行排序决定交易被纳入区块的顺序。后来人们发现，通过在内存池中对交易的监控，矿工可以通过在区块中添加交易、删除交易或改变交易顺序以获取除出块奖励以外的收益，也就出现了MEV。

在现实实践中，往往有专门的搜索者通过复杂算法寻找获利机会，由于公开Mempool之间搜索者具备竞争，所以当搜索者发现MEV机会时，会提高交易的手续费以确保自己提交的交易被纳入，所以矿工与搜索者分担了MEV收益。 根据策略的不同，获取MEV的方式可以分为DEX套利、清算、Front-Running、Back-Running、三明治攻击等。对于使用概率最终性共识算法的区块链（如使用PoW共识算法的Bitcoin、以太坊1.0），还可能发生Fee Sniping攻击。

1.  DEX套利 不同的DEX之间的价格可能具备差异，利用区块链的原子交易特性，可以在低价DEX上买入并在高价DEX上卖出，实现无风险套利。
    
2.  借贷清算 借贷协议当抵押率低于事先设定的比例时，协议通常允许任何人对抵押品进行清算，立即偿还贷款人。清算时借款人通常需要支付巨额的清算费，其中一部分归清算者所有，也就带来了MEV机会。
    
3.  Front Running 可以理解为抢跑，监控到有利润的交易时，以更高的交易费提交相同交易，从而让自己提交交易在原交易之前被纳入区块，获取利润。当然，Front Running不单指重复提交相同交易，广义上是在某交易前插入一个交易以获取利润。
    
4.  Back Running 对于使用AMM自动做市机制的DEX，大规模的交易会产生显著的滑点。当大规模交易发生后，市场处于不均衡状态，Back Running指在大规模交易后添加交易，以低于市场均衡价格买入资产。
    
5.  三明治交易 三明治交易是Front Running与Back Running的结合。三明治交易指在大规模交易前以低价买入，当大规模交易拉高价格后，以高价卖出以获取高利润。
    
6.  Fee Sniping攻击 最近BRC-20火热行情导致Bitcoin网络堵塞，交易手续费持续上升，人们开始重新关心起可能出现的Fee Sniping攻击。在PoW共识的区块链网络上，如果潜在的收益足够大，矿工可以回滚或者重组最近的几个区块，通过重新排序或者包含某些特定的交易来获取更多的收益。注：在The Merge之前的以太坊，同样采取PoW共识，但是以太坊称之为Time Bandit。
    

MEV带来的影响
--------

MEV伤害用户甚至伤害整个区块链网络，但同时也让市场更加有效。

1.  好处  
    DEX套利、借贷清算可以帮助Defi市场更快地到达均衡，维持市场的稳定性。与传统金融相同，MEV搜索者实际上是有效的金融市场存在的前提条件。对于这类MEV而言，MEV搜索者获取的收益来自市场。
    
2.  坏处  
    Front-Running与三明治交易会导致糟糕的用户体验与更严重的损失，相互竞争的MEV搜索者将通过Gas竞拍造成网络拥堵，拉高Gas Fee。 对于概率最终性的PoW链，更严重的是可能带来的Fee Sniping攻击，Time-Bandit攻击违反了区块链的"不可改变性"（Immutability）原则，会严重破坏区块链网络的安全性和稳定性，所以最近的BTC社区对Oridinal协议带来的现状感到担忧。 对于PoS的链，尤其是针对当前的ETH2.0，MEV可能导致验证者的中心化。更大的质押池会获取更高的MEV收益，进而有更多资源提高MEV提取能力，导致马太效应，最终导致验证者的中心化，降低安全性。
    

MEV的发展历程
--------

MEV跟随复杂性。

### 早期萌芽（2010-2017）

2015年，比特币核心开发者Peter Todd在Twitter上提出”Replace By Fee(RBF)"概念，是前文所说Front Running概念的前身，指出用户可以通过提高交易手续费来提交至少一个Input相同的交易以替换掉原有的交易。在RBF基础之上，比特币社区逐渐演变出对Fee Sniping的研究。Fee Sniping指矿工有意地重新挖掘一个或多个之前的区块，以获取最初创建这些区块的矿工的费用。尽管重新挖掘之前的区块成功的可能性较小，相比使用新区块扩展链条，但如果之前的区块在交易费用方面比矿工当前的内存池中的交易更有价值，那么这种方法可能更具盈利性。Fee Sniping之后被拓展到EVM模型，在《Flash Boys 2.0》论文中被描述为”Time Bandit“攻击。

### 正式诞生（2018-2019年）

MEV仅在状态存在争议与提交但未确认的状态转移情况下会产生MEV，而比特币几乎不具备共享状态，且状态转移被严格规定，所以比特币上的MEV仅限于Fee Sniping与双花攻击的尝试。而在具备图灵完备性智能合约的以太坊上，MEV的机会显著增加。

2016年以太坊的第一个DEX——EtherDelta上线，采用子匹配订单簿设计，实际为市场提供了广泛的MEV机会，但是当时没有人对其进行充分利用。2017年以太坊上第一个算法稳定币——DAI出现，为Defi提供了清算的功能，市场出现了大规模但不频繁的MEV机会（Spike MEV）。2018年，Hayden Adams创立Uniswap——以太坊上第一个使用AMM自动做市机制的DEX，AMM机制实际上依赖于MEV提取者来维持市场效率，让市场上的MEV机会大幅增加。 Flashbots出现 2019年4月《Flash Boys 2.0》出版，对于MEV的研究进入主流视野。2019年末，一群志同道合的数字游民组成了Pirate Ship，后续改名为Flashbots，以机器人表情作为logo。

![早期flashbots logo ideas source:https://medium.com/@Prestwich/mev-c417d9a5eb3d ](https://storage.googleapis.com/papyrus_images/a9857013bc6f2a02446692ef69546942b37cb9f08c96634443c2a19568c979fb.png)

早期flashbots logo ideas source:https://medium.com/@Prestwich/mev-c417d9a5eb3d

2021年1月，Flashbots Auction（mev-geth与flashbots relay）正式发布，乘着Defi Summer的热度，被提取的MEV大幅增长。

### 现状：MEV百花齐放，Flashbots一枝独秀

随着MEV市场越来越大，许多项目也加入到了开放行列。Flashbots当前仅支持以太坊主网，所以当前主流的Alt Layer1与Layer2都在学习Flashbots，尝试实现MEV拍卖功能。也有一些项目选择了不一样的道路，尝试通过对交易池的加密来彻底解决MEV问题。Flashbots自身也在不断创新，在2021年初的Flashbots Alpha之后，又先后实现了Flashbots Protect, MEV-Boost, MEV-Share，下一阶段的SUAVE也在开发中。 MEV的市场有多大？ 从理论上而言，用户提交的交易中可能蕴含的MEV收益是无限大的。然而，无法通过有限的计算来确定MEV的收益大小，人们所发掘的MEV收益构成了可能MEV的下界。通常，人们通过实现的MEV（Realized MEV, REV）来估计可能的MEV市场情况。

![Source: https://explore.flashbots.net/](https://storage.googleapis.com/papyrus_images/df1c4a3485263015cd2b12d7badda93d9e3b539026e7089cd49eda25c83cfdca.png)

Source: https://explore.flashbots.net/

根据Flashbots提供数据显示，在以太坊The Merge之后，已实现206,450ETH的REV提取。但这仅仅是Block Proposer接收到的MEV收益，Searchers的收益尚未计算在内。

没有市场竞争会变得更好吗？
-------------

从人类社会积累至今的历史经验来说，“看不见的手”在大多数情况下是更好的选择。但是几乎没有人否认，在某些特定的领域市场经济是不适用的，滥用市场会导致严重的后果。 由Front Running导致的Gas Price增高的问题，其根基在于以太坊的价格机制。能否让Gas Price维持在一个固定的水平，以避免Searcher的Priority Gas Auction？然而，这样做的一个明显结果将是链下的勾结，拥有MEV机会的Searcher会贿赂矿工以让自己的交易被更早纳入区块，反而会滋生链下的小规模市场，与以太坊公开无许可的理念背道而驰。 当然，我们可以让网络中的矿工/验证者通过某种权威认证，保证其不会作恶，但这样就引入了极强的信任假设，完全变为许可链。 简而言之，在维持以太坊现有特征的前提下，恐怕很难彻底根治MEV问题。

如何缓解MEV带来的不利影响
--------------

### 协议级PBS——以太坊社区的解决方案

在PoS中，validators轮流值班作为区块的提议者proposer，validators间会进行共识以决定该区块是否被写入链上。在PoW中，提块并进行共识的工作由Miner完成，实质相同。 PBS主要是为了解决当前MEV所带来的验证者中心化问题。在默认的MEV流程中，区块生成者具备两个任务，1）从所有可用的交易中构建最佳区块（block building），以及（2）将该区块与工作证明或权益一起提议给网络（block proposing）。在MEV并未受到充分挖掘的时候，步骤1）实际是根据交易手续费从大到小进行排序，简单地从前之后将交易纳入区块。在MEV利润逐渐增大的当前，更大的矿池/验证者池实际上获得了其市场份额更多的MEV利润，导致马太效应，共识网络将愈发中心化。此外，去中心化矿池的实际提块实体将获得MEV的机会，然而其他成员无法分享利润。机制的不公平将降低去中心化矿池的采用比例。共识网络中心化程度进一步上升。 MEV中可能涉及到的角色可以分为以下几个：

1.  Producer：出块人（Miners, Validators）
    
2.  Proposer：选块人（选择最高MEV的Builder构造的块）
    
3.  Builder：构块人（负责决定块的内容）
    
4.  Searcher：搜索交易中蕴含的MEV
    
5.  User：提交可能包含MEV的交易 当然，在现阶段，很多角色实际上是由同一主体兼任的，例如在普通的以太坊共识流程中，Producer、Proposer与Builder是同一个角色。
    

#### vitalik的早期方案

Vitalik早在2021年初就提出了两个解决方案，各自的侧重不同。值得注意，本节讨论的方案是以太坊协议层面的，由协议强制执行PBS，而不是如Flashbots等方案的私下协商。 PBS试图达到以下五个目标：

1.  无需信任proposer友好性：builders无需信任proposers
    
2.  无需信任builder友好性：proposers无需信任builders
    
3.  弱proposer友好性：proposers不需要高计算资源与高技术难度
    
4.  bundle不可窃取性：proposers不能私自窃取builders提交区块中的利润
    
5.  共识简单与安全性：共识保持安全性，最好不修改当前区块提议机制
    

方案1

1.  builders创建bundles，将bundle headers发给proposer，其中包含bundle body的哈希、对proposer的支付、以及builder的签名
    
2.  proposer选取最高收益的bundle header，签名并发布包含该bundle header的proposal
    
3.  见到签名的proposal后，builder发布完整的bundle
    

根据五个目标进行分析：

1.  proposer可以收取builder支付的费用却让builder无法接收到MEV利润，例如通过在slot末期才发布proposal，导致builder没有时间发布完整的bundle吗，不满足目标1
    
2.  提交bundle header就能确保接收到来自builder的付款，proposer无需信任builder，满足目标2
    
3.  只涉及简单的网络通信和基本的签名操作，满足目标3
    
4.  proposer无法独家获取bundle内容，只能看到header，满足目标4
    
5.  由于引入了新的角色builder，所以分叉规则需要进行修改，而且将可能的情况从2提升到了3，提高了分叉选择的复杂度，可能带来新的不确定性，不满足目标5
    

方案2

1.  builders创建bundles，将bundle headers发给proposer，其中包含bundle body的哈希、对proposer的支付、以及builder的签名
    
2.  proposer在看到的bundle headers中进行挑选组成一个列表，对列表签署一个声明
    
3.  builders在看到声明后，发布对应的bundle body
    
4.  proposer在自己签名的列表中挑选一个bundle header，发布一个包含其的proposal
    

根据五个目标进行分析：

1.  只有bundle被完全包括在proposal中才会完成builder对proposer的付款，满足目标1，
    
2.  builder可以发布多个高费用的bundle header，但是不发布实际的bundle body，导致proposer无法发布有效的bundle，不满足目标2
    
3.  如果不限制可接收的bundle数量，可能导致proposer收到过多bundle body，导致高网络带宽，不满足目标3
    
4.  proposer事先签署声明导致其只能在该slot中propose列表中的有限bundle，无法偷取利润，满足目标4
    
5.  builder不直接参与到共识过程中，proposer的行为与以前相同，没有发生分叉情况的增加，满足目标5
    

![](https://storage.googleapis.com/papyrus_images/03e73bb043140b31707da87f76baa6d1c5382de154f16f38b4d487b220c11496.png)

#### 演进中的两条路线——Two Slot PBS vs Single Slot PBS

两条路线分别是Vitalik早期方案的改进与细化，Two Slot PBS和Single Slot PBS分别对应方案1与方案2。

在Two Slot PBS中，将会添加一个新的区块类型，名为“中间块”（Intermediate Block），用于存放获胜的构建者的区块内容。在Slot n，Proposer会Propose一个普通的Beacon Block，其中包含对获胜构建者区块内容的commitment。然后，在Slot n+1，中标的Builder会Propose Intermediate Block，其中包含中标的区块内容。这两者可以被看作是一个大区块的两个部分，只是分成两个阶段（slot）来完成。第一阶段相当于区块头（Block Header），而第二阶段才是真正的区块主体（Block Body）。如果没有Beacon Block，则意味着没有Builder赢得竞标，那么就不会有后续的Intermediate Block。

这两个区块都需要经过Committee的Attestation投票。Beacon Block只有一个commitee负责投票，而Intermediate Block会由slot中剩余的所有commitee进行投票。对每个Block（无论是Beacon Block还是Intermediate Block）的投票都会出现在下一个Slot的Block中。

如果builder一直没有看到Beacon Block，这可能意味着Beacon Block没有被及时发布，因此builder不会发布Intermediate Block。此外，为了避免Beacon Block在一段时间后出现而导致的builder损失，方案通过定义良好的Fork Choice Rule来让该Beacon Block被拒绝。

![Two Slot PBS方案设计source: https://ethresear.ch/t/two-slot-proposer-builder-separation/10980](https://storage.googleapis.com/papyrus_images/bbbb61c8b73f5858d95dc98fd7b1a3149f130679075c5f9ed814390a560e9483.png)

Two Slot PBS方案设计source: https://ethresear.ch/t/two-slot-proposer-builder-separation/10980

Single Slot PBS由去中心化的committee作为中介保管区块的内容，builder将bundle header发送给Auction子网，同时将分块加密后的bundle body发送给commitee，待commitee投票超过阈值后，由proposer发送proposal，commitee收到后将bundle body进行解密并广播，能够在单个slot完成PBS的出块。

![Single Slot PBS 设计方案 source: https://ethresear.ch/t/single-slot-pbs-using-attesters-as-distributed-availability-oracle/11877 ](https://storage.googleapis.com/papyrus_images/4b4c51e74221f425b0c712f8223f339e4c441359ee5dc001f613aa369c70c341.png)

Single Slot PBS 设计方案 source: https://ethresear.ch/t/single-slot-pbs-using-attesters-as-distributed-availability-oracle/11877

以太坊需要协议层的PBS，不仅是因为MEV
---------------------

在以太坊协议层去实现PBS，可能动摇共识的基础，产生各种新的问题。为何一定要修改协议层，而不是通过协议之上的其他方案解决？可以认为，以太坊社区是醉翁之意不在酒，PBS除了缓解MEV问题，还对以太坊的长远发展由重要意义。

在PBS中，proposer无需处理交易排序，从而实现了无状态，不需要保存以太坊完整的状态，只需要根据Merkel Proof 验证Builder所打包的区块中交易的有效性。在Danksharding逐渐提上日程的情况下，未来存储的负担会越来越大。无状态的特性非常关键，这使得对Proposer的存储要求降低，更多人能够成为proposer，去中心化程度提升。

以太坊社区提出PBS的方案，实际与当年EIP-1559如出一辙。矿工/验证者作为决定区块中交易内容的角色，具备极高的特权，一旦矿工/验证者获利过多，就会导致其愈发中心化，权力过大以致于影响整个共识网络的安全性。PBS要做的，就是削弱矿工/验证者的地位，降低其收入，让权力分散到人民中去。

此外，由Flashbots MEV-Boost实现的PBS方案中，由于Relay的信任假设，所以会产生交易审查的问题，这是对以太坊抗审查、无许可的愿景的严重破坏。

![交易审查最多能占80% source: https://www.mevwatch.info/](https://storage.googleapis.com/papyrus_images/2d469787f08359b662c099f3ed6861f8529c24ef860666d74cd0372fe1465f95.png)

交易审查最多能占80% source: https://www.mevwatch.info/

以太坊协议级的PBS，不需要信任的Relay，可以通过Proposer对Builder的制约来强迫Builder收录或者直接自己收录被审查的交易，提高以太坊的抗审查特性。

总结：以太坊协议级PBS实现了builder和proposer之间利益的分配，降低了proposer的门槛，能够提高以太坊的去中心化水平，也提升了抗审查的特性，但是并未提升普通用户体验。

### Flashbots——MEV领域的绝对主导

Flashbots通过市场拍卖试图缓解MEV问题，为MEV参与者带来收益。 在Flashbots的官方文档中，按照1) Flashbots Auction 2) Flashbots Data 3) Flashbots Protect 4) Flashbots MEV-Boost 5) Flashbots MEV-Share进行分类，但实际上，MEV-Boost是Flashbots Auction中一个阶段的方案，我将根据时间顺序，来叙述Flashbots的发展。

Flashbots Auction实际由两个阶段组成，分别是ETH1.0（Before The Merge）的MEV-Geth和ETH2.0（After The Merge）的MEV-Boost。

![](https://storage.googleapis.com/papyrus_images/e0d70a20afd370d6a63a3d7260d52ff3bd2f780226b59d823756cac6042b78a9.png)

#### MEV-Geth

2021年初，Flashbots发布了MEV-Geth 与 MEV-Relay。MEV-Geth是Go-Ethereum客户端上的一个补丁，仅百余行代码；MEV-Relay是bundle的转发器，负责在Searchers与Miners之间转发交易的bundle。MEV-Geth 与 MEV-Relay提供了一个私有的交易池和密封竞价的区块空间拍卖，让MEV从黑暗森林转变为市场经济。bundle作为一种新的交易类型，用于表示对交易顺序的偏好。Flashbots Auction引入了一个名为"eth\_sendBundle"的新的RPC，用于标准化bundle的通信。bundle包括了一系列已签名的交易以及这些交易被收纳的条件。

同时，Flashbots还提供了Flashbots Protect RPC节点，用户可以通过简单地修改钱包中的RPC节点，避免自己的交易在公有交易池遭受Front Running攻击。此外，由于Flashbots Protect通过另一条出块流程提交用户交易，所以不会发生reverts，用户不必为失败的交易付费。（但是带来了独家订单流EOF）

![](https://storage.googleapis.com/papyrus_images/6cc8e5668ca4f11d424fdd3b8e3eb0f2708674e0518a6209e875582ee239108d.png)

MEV-Geth很快地获得了以太坊矿工超过90%采用，并使矿工的收益大大提升。然而，简单的拍卖设计存在一些显著的不足之处，包括1) 需要信任矿工 2) 只兼容Geth，缺乏多样性 3) 拍卖服务运行在中心化服务器上，存在单点故障风险。此外，由于搜索者之间的普遍竞争关系，绝大部分的收益归入了矿工的囊下，这会为以太坊带来中心化风险。

![source: https://twitter.com/lvanseters/status/1481988717367767042/photo/4 ](https://storage.googleapis.com/papyrus_images/f5966f7ee0ffdde8d7e6f1982f5d0fc0c04463e56b408324eed49c1e2dafb91a.png)

source: https://twitter.com/lvanseters/status/1481988717367767042/photo/4

#### MEV-Boost

在The Merge发生之后，以太坊改为PoS共识，MEV带来的中心化问题更加明显，Flashbots设计了MEV-Boost来应对该问题。MEV-Boost可以认为是Single Slot PBS的一种变形，与以太坊协议级的PBS不同，该方案作为可选的中间件提供服务，而不是通过协议强制行为，并不修改共识过程。Relay不再作为User/Searcher与Miner之间的中介，而是作为Builder与Validator之间的中间节点，根据User/Searcher提交的交易流，Builder、Relay、Validator每个角色都会根据最大收益来选择向下游提交的区块。

![source: https://docs.flashbots.net/flashbots-auction/overview# ](https://storage.googleapis.com/papyrus_images/57b86b7877e3b8659968b21fcb0bc9328ed3b5975ee53c00571068b132b74f36.png)

source: https://docs.flashbots.net/flashbots-auction/overview#

MEV-Boost采用了Single Slot PBS中提出的commit-reveal方案，只有当Validator对一个block header进行commit之后，Builder才会reveal该block的全部内容。具体的流程如下图所示: Proposal之前Validator需要先向MEV-Boost和relays进行注册，确保block builders能够为一个指定validator的proposal构造区块。

1.  users/searchers通过public/private mempool提交交易给block builders
    
2.  block builders根据接收到的交易构造execution payload，在利益分配上，builder将自己的地址设为payload’s coinbase address，区块最后一个设置为向proposer的地址转账。block发送给relay
    
3.  relay验证区块的validity，发送ExecutionPayloadHeader给MEV-Boost。MEV-Boost从不同relay提交的ExecutionPayloadHeader中选取最高利润的转发给Validator
    
4.  Validator对header签名，通过submitBlindedBlock调用并发回给MEV-Boost，转发至relay。relay验证签名后将完整的payload body发给MEV-Boost并转发给consensus，让Validator在向网络propose SignedBeaconBlock时使用。
    

![source: https://twitter.com/keccak254/status/1656984680003153924 ](https://storage.googleapis.com/papyrus_images/fb96936c91e6107fe7e8809072d3910dbd8bfd8919dd7d8ff72b9c02f8672c5d.png)

source: https://twitter.com/keccak254/status/1656984680003153924

与MEV-Geth相比，MEV-Boost具备更强的通用性，作为Consensus Client的插件使用，支持多种客户端，同时消除了原先Miner的中心化问题。然而，PBS之后Builder获得了更高的权力，在市场上占主导地位的Builder可以获得审查和独占交易顺序流的能力，当前只能通过鼓励Builder之间的竞争来防范中心化风险。Relay的信任程度也进一步减弱，但仍然可能通过提交虚拟竞价对Builder与Proposer构成风险。当前通过监控Relay的诚实程度，让Validator与Builder自由选择Relay来缓解该问题。

#### MEV-Share

MEV-Geth让Miner与Searcher分享了MEV收益；MEV-Boost让MEV在Proposer、Builder、Searcher之间分配，同时保护了用户的交易不被Front Running。然而，两者都没有考虑到用户的收益。在Web3的理念中，用户创造数据产生的价值，应该回馈给用户本身，MEV-Share就是该理念的实践者。MEV-share致力于让用户、钱包、Dapps能够捕获其交易所产生的MEV。

MEV-Share中引入了Matchmaker的角色，作为User、Searcher、Builder之间的中介，通过限制对Searcher暴露的用户交易信息，来维护用户隐私。同时，限制Searcher只能在用户交易后插入自己的交易，即Back Running来避免用户利益损失。Back Running不会造成用户损失，通过Back Running获得的收益实际上是由市场失衡产生的。

![](https://storage.googleapis.com/papyrus_images/7f006966186715069e2d0b4743fcaf7d0680ab5331f70156ed0cc3562aae5d53.png)

用户可以简单地将钱包连接至Flashbots Protect RPC来发送交易给Matchmaker，也可以通过Matchmaker API发送私有交易，用户可以在交易中指定想要提交的Builders。

对于Searcher而言，需要通过SSE Event Stream监听Matchmaker发送的选择性部分交易信息。SSE是一种使服务器能够主动向客户端推送信息的技术，而无需客户端发起请求，允许客户端实时获取到区块链状态的更新。Searcher会从中选取交易，并在其后插入一个自己签名的tx来创建bundle。

searcher可以分享bundle中交易的部分信息给其他searchers，以此获得MEV回馈，并提升自己的bundle被纳入区块的几率。Searchers也可以在bundle中的privacy字段中指定Builders，最终bundle会被发送给Users与Searchers共同认可的builders。

#### SGX加密——可信硬件消除信任假设

市场上对于使用SGX缓解MEV问题的探索与讨论，最初由Flashbots发起。

MEV-SGX的方案在2021年6月在以太坊论坛上被系统阐述，主要是针对2021年初发布的Flashbots Alpha（初始版本的Flashbots MEV-Auction）方案中MEV-Relay的信任问题，希望通过MEV-SGX构建一个完全私密且无需许可的MEV拍卖方式。文中讨论了1. 仅发送区块头，隐藏交易trie 2. 保证金区块头 3. 时间锁加密 4. 安全隔离区等方案，最后决定使用安全隔离区（应用最广泛的是Intel的SGX）来提供完全的隐私和无许可性。

在MEV-SGX方案中，SGX作为可信执行环境（Trusted Execution Environment, TEE），取代了MEV-Relay中单一信任中介，由搜索者与矿工各使用一个SGX，SGX的防篡改特性能够保证对方在一个无法被篡改或侵入的环境中运行特定的代码。搜索者的SGX负责确保区块的有效性和对矿工的盈利性（proposers无需信任builders）；矿工的SGX负责区块内容的解密和广播（builders无需信任proposers，proposers不能私自窃取builders提交区块中的利润）。

需要注意的是，在该方案提出的时候，以太坊还处于PoW共识，所以使用的是“矿工”术语而不是“验证者”，但实际上两者在共识中的功能是相同的，都是打包交易并提议区块。

当以太坊经过The Merge进入2.0阶段，转变为PoS共识后，MEV-SGX作为整套解决方案的声量逐渐降低，取而代之的是MEV-Boost和MEV-Share。但是SGX并未被彻底抛弃，只不过MEV-SGX的实现难度较大，所以社区选择了更现实的MEV-Boost和MEV-Share，而后续将以打补丁的方式使用SGX来改进当前方案的缺陷。

2022年12月20日，flashbots社区宣布首次在SGX中运行了Geth（以太坊客户端的Go实现），验证了SGX应用于MEV的技术可行性。2023年3月3日，flashbots社区宣布在SGX中实现了block builder的运行，朝着交易的私密性与builder的去中心化又迈进了一步。

在安全隔离区中执行区块构建算法，可以确保除了用户以外的参与者无法窥见用户交易的内容，维护了隐私性。同时，通过运行可验证的区块执行算法，能够在不损害隐私的前提下，证明区块的经济高效性。长远来看，在SGX中运行builder可以为proposer提供可验证有效的区块，并且提供真实投标，有可能彻底取代受信任MEV-Relay角色，实现无许可。

#### SUAVE——MEV的未来

MEV-Share解决了MEV带来的利益分配，但仍然无法消除区块构建权力带来的中心化风险。在Flashbots的当前阶段，由于1) 独家订单流（Exclusive orderflow） 2) 跨域MEV，Builder市场具备正向飞轮效应，容易引发中心化风险。

SUAVE（Single Unified Auction for Value Expression）尝试解决MEV带来的中心化风险。SUAVE是模块化区块链的又一尝试，试图为所有区块链提供一个即插即用的内存池与去中心化Block Builder，作为一条专用的区块链，向现存的所有链提供交易排序与区块构建服务。

![source: https://writings.flashbots.net/the-future-of-mev-is-suave/ ](https://storage.googleapis.com/papyrus_images/32aa6b56abc27dec9937637e4c890eb7219f57d869ce82b14106247f77332713.png)

source: https://writings.flashbots.net/the-future-of-mev-is-suave/

支持多链的特性，有效地提升了对跨域MEV的提取效率；作为一条区块链，其去中心化属性将解决过往方案中Block Builder的中心化风险。

SUAVE由以下三个主要组件构成：

1.  通用偏好环境（Univeral Preference Environment） 偏好可以理解为在bundle上进行改进的一种交易类型，反映用户/搜索者对交易执行的需求（例如，交易参数、时间、顺序），维持了bundle的确认前隐私与无撤销属性。通用则体现SUAVE的多链特性，将所有链上的用户/搜索者提交的交易汇总到SUAVE上，提供通用的排序层，能够汇集用户偏好以提高MEV提取效率，并且允许不同域间的Block Builder合作以提高效率。
    
2.  最佳执行市场（Optimal Execution Market） 执行者根据用户提交的偏好参与竞标，向用户提供最优的执行，并且能够完成跨域的偏好表达，将尽可能多的MEV收益归还给用户。
    
3.  去中心化区块构建（Decentralized Block Building） 在去中心化的区块链网络中，Block Builder根据用户偏好和最优的执行路径构建各域的区块，在维持去中心化的前提下，为各链的Validator提供最大化MEV的区块。该组件实现的前提是Block Builder间在不泄露内容前提下共享订单流与bundle。
    

source: [https://writings.flashbots.net/the-future-of-mev-is-suave](https://writings.flashbots.net/the-future-of-mev-is-suave/)

![source: https://writings.flashbots.net/the-future-of-mev-is-suave/](https://storage.googleapis.com/papyrus_images/46cc87a4a30acef6bd24c7f7796dbdcc00e499f12f3fd0f8b0e3b9f257ac5d52.png)

source: https://writings.flashbots.net/the-future-of-mev-is-suave/

当然，必须指出，SUAVE还是一个很早期的方案，技术路线仍不明确，方案设计也模棱两可，细节仍在推进中。这可能是一件很困难的事，Flashbots把MEV称为Crypto界的Millennium Prize Problem，呼吁大家共同合作，创建去中心化的未来。

#### Chainlink 公平排序服务(FSS)——Arbitrum选择的MEV缓解方案

Chainlink作为市场上最大的预言机平台，试图在预言机网络的层面通过交易排序来缓解MEV问题。个人认为，其启发应该是防止对于预言机报告的Front Running，由于预言机报告对价格产生很大影响，所以操纵预言机报告在区块中的顺序会带来很高的MEV。

公平排序服务（Fair Sequencing Services,FSS）可以简单描述如下：去中心化预言机节点（Decentralized Oracle Network, DON）提供工具来分散交易排序，并根据依赖合约创建者指定的策略进行实施，理想情况下是一个公平的策略（通常是FCFS根据到达时间时间顺序排序），不会给希望操纵交易排序的参与者带来优势。这些工具共同构成了FSS。 FSS包括三个组成部分。第一个是交易的监控。

1.  交易监控 在FSS中，预言机节点在O中监控MAINCHAIN的内存池，并且允许通过专用通道来完成链下的交易提交。
    
2.  交易排序 O中的节点根据为该合约定义的策略为依赖合约SCON排序交易。
    
3.  交易发布 在交易被排序之后，O中的节点共同将交易发送到主链上。
    

![](https://storage.googleapis.com/papyrus_images/66d0e30a656695a34cee14cac5b9a1ce4a49448539821d8a30b192585cf66bc0.png)

FSS示意图 source: Chainlinkv2 Whitepaper

FSS的潜在好处包括：

*   公平排序：FSS包括工具，帮助开发人员确保输入到特定合约的交易按照一种公平的方式进行排序，有丰富资源或技术的用户无法获取优势。通常公平排序的策略是FCFS。
    

![特定合约的交易排序 source: https://blog.chain.link/chainlink-fair-sequencing-services-enabling-a-provably-fair-defi-ecosystem/ ](https://storage.googleapis.com/papyrus_images/38e8dd0fc45ebe241e33ba44e4d524ba6f57eb7580b4cc63d1565d50c3989ccd.png)

特定合约的交易排序 source: https://blog.chain.link/chainlink-fair-sequencing-services-enabling-a-provably-fair-defi-ecosystem/

*   减少或消除信息泄漏：通过确保网络参与者无法利用关于即将发生的交易的知识，FSS可以减轻或消除基于在交易提交之前网络中可用信息的前置交易等攻击。防止利用这种泄漏进行的攻击可以确保在原始交易提交之前，依赖于原始挂起交易的对抗性交易无法进入账本。
    
*   降低交易成本：通过消除参与者在向智能合约提交交易时追求速度的需求，FSS可以极大地降低交易处理的成本。
    
*   优先排序：FSS可以自动为关键交易提供特殊的优先排序。例如，为了防止对预言机报告的前置交易攻击，FSS可以将预言机报告追溯地插入到一系列交易中。 对比在智能合约中缓解MEV的方案，使用DON实现的FSS由于其MEV防御方案在链下执行，所以可以获得更低的延迟，延迟将是毫秒级的网络延迟，而不是12s倍数的区块延迟。
    

个人观点认为，以太坊基金会对于MEV实际持负面态度，然而当前的区块链生态格局下中心化的矿工/验证者巨头权力较大，很难通过交易加密等手段一步到位地解决问题，否则会引发剧烈的市场振荡，不利于区块链生态的可持续发展。所以，Flashbots等团队的渐进改良式方案通过引入多方参与MEV，彼此制衡，逐渐削弱中心化的话语权，将MEV对用户的影响降到最小，并最终以较小的摩擦迁移至隐私交易方案（正如Vitailik在The Three Transitions中所强调的隐私问题）。MEV已经从最初的黑暗森林零和博弈逐渐过渡到三权分立的制衡阶段，也许正在朝着全面隐私前进。

参考内容：

[https://ethereum.org/en/developers/docs/mev/](https://ethereum.org/en/developers/docs/mev/) [https://bitcoinops.org/en/topics/replace-by-fee/](https://bitcoinops.org/en/topics/replace-by-fee/)  
[https://bitcoinops.org/en/topics/fee-sniping/](https://bitcoinops.org/en/topics/fee-sniping/)  
[https://medium.com/@Prestwich/mev-c417d9a5eb3d](https://medium.com/@Prestwich/mev-c417d9a5eb3d) [https://medium.com/@VitalikButerin/i-feel-like-this-post-is-addressing-an-argument-that-isnt-the-actual-argument-that-mev-auction-b3c5e8fc1021](https://medium.com/@VitalikButerin/i-feel-like-this-post-is-addressing-an-argument-that-isnt-the-actual-argument-that-mev-auction-b3c5e8fc1021) [https://www.paradigm.xyz/2021/02/mev-and-me#mev-is-hard-to-fix](https://www.paradigm.xyz/2021/02/mev-and-me#mev-is-hard-to-fix) [https://ethresear.ch/t/proposer-block-builder-separation-friendly-fee-market-designs/9725](https://ethresear.ch/t/proposer-block-builder-separation-friendly-fee-market-designs/9725) [https://thedailyape.notion.site/MEV-8713cb4c2df24f8483a02135d657a221](https://thedailyape.notion.site/MEV-8713cb4c2df24f8483a02135d657a221)

[https://writings.flashbots.net/the-future-of-mev-is-suave/](https://writings.flashbots.net/the-future-of-mev-is-suave/)

  
[https://collective.flashbots.net/t/frp-18-cryptographic-approaches-to-complete-mempool-privacy/1210](https://collective.flashbots.net/t/frp-18-cryptographic-approaches-to-complete-mempool-privacy/1210) [https://explore.flashbots.net/](https://explore.flashbots.net/)

---

*Originally published on [CYNIC](https://paragraph.com/@cynicsong/mev)*
