MEV(Maximal Extractable Value,最大可提取价值)是公链经济学中最重要的现象之一:仅仅通过重新排列交易顺序,就能在没有非法行为的情况下提取数十亿美元价值。它既是 DeFi 套利者的金矿,也是普通用户面临的价格劣化源头。本文从攻击原理讲到 Flashbots、MEV-Boost 与 PBS 区块构建市场,最后给出缓解方案。
一、什么是 MEV
定义
MEV 是指区块提议者(Proposer)或搜索者(Searcher)通过包含、排除或重排区块内交易而提取的价值。在公链上,交易顺序就是"权力",而权力可以变现:
合法区块内的三种操纵方式:
1. 包含(Inclusion) :加入别人未加入的交易(如抢先执行有利可图交易)
2. 排除(Exclusion) :移除对自己不利的交易
3. 重排(Ordering) :调整交易先后顺序(三明治的核心)
规模与历史
- 以太坊主网已提取 MEV 约 6-7 亿美元(MEV-Explore 统计,2020-2023)
- 单笔最大三明治利润曾超 100 万美元
- 合并(The Merge)后,MEV 从"矿工"转移到"验证者 + 构建者"手中
一句话:MEV 不是黑客攻击,而是交易排序权的商业化——它让"透明公开"的链产生了新的博弈层。
二、MEV 类型:抢跑、三明治与清算
主类全景
| MEV 类型 | 原理 | 利润来源 |
|---|---|---|
| 套利(Arbitrage) | 在多个 DEX 间价差搬砖 | 价格差 |
| 清算(Liquidation) | 触发低于健康因子的仓位清算 | 清算奖励 5-10% |
| 三明治(Sandwich) | 在受害交易前后各插入一笔交易 | 受害者的价格滑点 |
| JIT 流动性 | 在大额交易前瞬间注入流动性、随后撤走 | LP 手续费 + 价差 |
| NFT 狙击 | 抢先购买低估挂单的 NFT | 转售差价 |
| 跨域套利 | CEX↔DEX、跨链价差 | 跨市场价差 |
三明治攻击拆解
内存池监控 → 发现受害者即将在 Uniswap 买入 Token B
│
▼
[Tx1] 攻击者买入 B(front-run)→ B 价格上涨
│
▼
[Tx2] 受害者按原路由买入 B(但价格已被推高,滑点更大)
│
▼
[Tx3] 攻击者卖出 B(back-run)→ 锁定利润
攻击者收益 ≈ 受害者的额外滑点成本
受害者损失 = 更差的成交价
清算竞速
借贷协议中,健康因子跌破 1 即触发清算,而清算人需抢在别人前面调用 liquidate:
# 简化:监控链上事件,竞速清算
import requests
RPC = "https://eth-mainnet.g.alchemy.com/v2/KEY"
# 监听 Aave 的 HealthFactorChanged 之类的事件(示意)
def on_health_breach(address):
tx = build_liquidation_tx(address)
# 用 Flashbots 私有 bundle 提交,避免被抢
bundle = {"signedTransactions": [tx], "blockNumber": hex(web3.eth.block_number + 1)}
flashbots.send_bundle(bundle)
一句话:清算、套利是"健康"的 MEV(维护市场效率),三明治、JIT 流动性则是"有害"的 MEV(剥夺用户价值)。
三、Flashbots 与私有交易
Flashbots 的使命
Flashbots 成立于 2020 年,目标是"让 MEV 民主化":把区块构建从"矿工自己排序"变成"公开拍卖"。核心产品演进:
mev-geth(2020,矿工时代)
└── 允许搜索者把交易打包成 bundle 直接发给矿工
├─ 保护隐私(不进入公开内存池)
└─ 打包交易,失败即全部回滚
MEV-Boost(2022,合并后)
└── 中立的中继层,连接构建者与验证者
├─ 构建者提交完整区块
└─ 验证者选择出价最高的区块
Flashbots 私有交易流程
# 构造私有 bundle 并提交给 Flashbots(简化 curl 示意)
curl -X POST https://relay.flashbots.net \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0", "id": 1,
"method": "eth_sendBundle",
"params": [{
"txs": ["0x...signed_tx1...", "0x...signed_tx2..."],
"blockNumber": "0x111222",
"minTimestamp": 0, "maxTimestamp": 0
}]
}'
- Bundle:一组有序交易,打包执行,任一失败则整体不纳入区块
- MEV-Share:把三明治利润的一部分返还给用户(2023 年推出)
- Flashbots Protect:用户把交易发送到私有 RPC,可享受"反三明治"保护
一句话:Flashbots 把 MEV 从"链上暗池"搬到"公开拍卖"——私密提交、失败回滚、利润公开竞争。
四、PBS:Proposer-Builder Separation
合并后的区块生产分裂
PoS 后,验证者既是提议者又是构建者会激励其作恶(自提交 + 三明治)。PBS 将"提议"与"构建"职责分离:
搜索者 Searcher(套利机器人等)
│ 提交 bundle / 高价值交易
▼
构建者 Builder(多个,竞标)
│ 构建完整区块,附上"价值投标"(bid)
▼
中继 Relay(中立,校验合法性)
│ 转发"盲区块"(blinded block)给验证者
▼
验证者 Validator(Proposer)
│ 选 bid 最高的区块,签名后由中继揭示
▼
包含进链
各角色
| 角色 | 职责 | 收入 |
|---|---|---|
| 搜索者 | 寻找并打包 MEV 机会 | 套利/清算利润 |
| 构建者 | 组合交易成区块,向提议者竞价 | 区块内交易的优先权价值 |
| 中继(Relay) | 桥接构建者与提议者,防双花 | 区块价值的固定费 |
| 验证者 | 签名提议的区块 | 区块奖励 + 构建者竞标的小费 |
MEV-Boost 的运行
验证者只需运行一个 mev-boost 旁路进程,从多个中继拉取区块并选最高出价:
# mev-boost-config.toml(验证者侧)
mev-boost:
relay-timeout-ms: 3000
relays:
- https://0xac6e77dfe25ecd6110b8e780608cce0dab71fdd5ea9f939b2b9d0d3b7c1d2f3a.relay.flashbots.net
- https://relay.titanrelay.xyz
# 验证者将选 bid 最高的合法区块
经济激励的正确性
- 构建者必须把 MEV 让渡一部分给验证者,否则验证者不会选其区块
- 竞价结果:验证者获得 base fee 之外的小费,构建者赚取差价
- 理论上,PBS 让"提议者不作恶"——因为作恶收益已被市场竞价瓜分
一句话:PBS 的本质是"把交易排序权打包拍卖",让排序收益从私下的操纵变成公开的市场价格。
五、ePBS:内嵌的提议者-构建者分离
为什么需要 ePBS
MEV-Boost 是协议外市场:中继是可信第三方,存在审查与单点故障。以太坊路线图提出 内嵌 PBS(enshrined PBS, ePBS),把分离逻辑写进共识层。
EIP-7732
EIP-7732(2024)提出在共识层内建 PBS:
- 构建者直接向共识层提交区块(ExecutionPayload)
- 验证者(提议者)只需签名的"执行信封"(Execution Envelope)
- 减少信任中继的需要,缩短提议到执行的时间
对抗审查:Inclusion Lists
PBS 的风险是构建者可审查交易(只打包对自己有利的)。对策是包含列表:
Inclusion List(包含列表)机制:
1. 提议者(提议区块的验证者)发布"必须包含的交易列表"
2. 构建者只能在列表基础上追加交易
3. 任何违规构建的区块被拒绝
FOCIL(2024-2025):
- "全或无"式包含列表,一次性发布
- 让普通验证者也能强制包含交易,无需重构协议
| 方案 | 状态 | 作用 |
|---|---|---|
| MEV-Boost | 已上线(2022) | 协议外市场,成熟稳定 |
| ePBS | 提案(EIP-7732) | 共识层内建分离,去中继信任 |
| Inclusion Lists | 研究/测试 | 防止构建者审查交易 |
| FOCIL | 研究 | 简化版包含列表 |
一句话:ePBS 是 MEV-Boost 的"内嵌化",包含列表则是防止区块构建变成新式审查工具的护栏。
六、排序器与 L2 MEV
L2 的排序权
Rollup 的**排序器(Sequencer)**决定交易进入 L2 的顺序——相当于单点"提议者"。集中式排序器有三种 MEV 策略:
| 策略 | 行为 | 风险 |
|---|---|---|
| 中心化排序 | 排序器自行提取三明治/优先交易 | 用户利益受损 |
| 公平排序(FCFS) | 按到达顺序执行,无法重排 | 有公平性但难防抢跑 |
| 加密交易池 | 交易加密提交,出块后解密 | 强隐私,防抢跑(Shutter 方案) |
Based Rollups 与共享排序
“基于排序(Based Sequencing)“把 L2 排序权交给 L1 提议者,实现:
Based Rollup(如 Taiko、部分 Espresso 集成方案):
L1 提议者顺带排序 L2 交易
→ L2 继承 L1 的活性与去中心化
→ MEV 在 L1 的 PBS 市场中被竞拍,避免 L2 单点提取
但代价:
- 无法提供"即时确认"(需要等 L1 出块)
- 排序延迟增加
L2 MEV 的实际形态
- 跨域 MEV:L2 交易与 L1 同步执行引发的价差(如 LayerZero 跨链套利)
- CEX-DEX 抢跑:L2 上对中心化交易所订单的抢先
- 排序器费用:部分 L2 用 MEV 收益补贴用户 gas
一句话:L2 的 MEV 问题不在"有没有”,而在"谁有”——去中心化排序(based/加密)是为了让排序权不集中。
七、MEV 缓解策略
面向用户的保护
| 方案 | 原理 | 适用 |
|---|---|---|
| 私有内存池 | 交易不进入公开池 | 普通用户(Flashbots Protect / MEV Blocker) |
| 批量拍卖(Batch Auction) | 同批交易同价执行,无法前后插入 | 大额交易(CoW Swap、1inch Fusion) |
| 加密内存池 | 交易加密、出块后解密 | 高隐私场景(Shutter) |
| 时间加权价格 | 用 TWAP 而非即时价 | DEX 定价、清算阈值 |
| 延迟拍卖 | 区块时间竞价、延迟揭示 | 防三明治(部分 DEX 新机制) |
合约侧防护代码
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
contract SandwichProtected {
// 用户指定最小输出 + 截止时间:即使被插入三明治,也不至于被吃光滑点
function swap(uint256 amountIn, uint256 minOut, uint256 deadline) external {
require(block.timestamp <= deadline, "Expired");
// 通过聚合器执行
uint256 out = _executeSwap(amountIn);
require(out >= minOut, "Slippage too high");
}
// 用 TWAP 替代瞬时价(抗操纵)
function getSafePrice() public view returns (uint256) {
// 取最近 N 个区块的累积价格,除以时间窗
return _getAccumulatedPrice(block.timestamp - 3600, block.timestamp);
}
}
生态级治理
- MEV-Share:把三明治利润的 90% 返还给用户
- MEV 基金/奖池:Flashbots 资助研究,量化 MEV 分布
- 协议级反 MEV:Uniswap v4 的 hooks 可集成反三明治逻辑
一句话:缓解 MEV 没有银弹——私有内存池治"抢跑",批量拍卖治"排序",加密治"窥探",组合使用才有效。
八、对 DeFi 的影响与量化
谁在为 MEV 买单
| 参与者 | 影响 |
|---|---|
| 普通交易者 | 滑点增加、成交价劣化 |
| LP(流动性提供者) | 三明治侵蚀收益 |
| 协议 | 资金效率下降,坏账风险上升 |
| 套利者/清算者 | 主动获利,维持市场效率 |
| 验证者/构建者 | 获得区块竞标小费 |
数据观察
- 三明治在全部 MEV 中占比可达 30-40%(高峰期)
- 套利与清算占比约 50%+,属"建设性" MEV
- 合并后,“提议者价值"从矿工转移到验证者——PBS 让这部分收益透明化
生态哲学
MEV 不是"纯恶”:套利让价格趋于一致,清算保障借贷体系稳定。真正有害的是信息不对称的排序(三明治、JIT)。社区共识是:不消灭 MEV,而是让排序权去中心化 + 让利润回流用户。
总结
| 维度 | 要点 |
|---|---|
| MEV 定义 | 通过包含/排除/重排交易提取的价值 |
| 主要类型 | 套利、清算(建设性)、三明治、JIT(有害) |
| Flashbots | bundle 私有提交、失败回滚、MEV-Share 返还 |
| PBS | 提议与构建分离,MEV-Boost 公开拍卖 |
| ePBS | EIP-7732 + Inclusion Lists,去中继信任、防审查 |
| L2 排序器 | 集中式有风险,based/加密排序去中心化 |
| 缓解 | 私有内存池、批量拍卖、加密内存池、TWAP |
MEV 是公链"可提取价值"与"去中心化"之间的张力点。理解它,就是理解区块链的经济骨架:排序权即权力,权力需要被拍卖、被审计、被分散。从 Flashbots 到 MEV-Boost,再到 ePBS 与包含列表,行业正一步步把 MEV 从"黑暗森林"变成"公开市场"。对开发者而言,给自己的合约加滑点保护与 TWAP 定价,是面对这个市场的必修课;对研究者而言,MEV 分配机制将是下一代公链(含 L2)设计的核心议题。
继续阅读
探索更多技术文章
浏览归档,发现更多关于系统设计、工具链和工程实践的内容。