矿工口袋里的暗流,MEV 与三明治攻击的底层逻辑
很多人第一次听到 MEV 这个词,脑子里会冒出华尔街高频交易的身影,其实它离普通用户没那么远,你每次在去中心化交易所换币,可能都在给看不见的手交“过路费”,这手不是黑客,是区块链上的“排序权”。

什么是 MEV
MEV 全称 Maximal Extractable Value,最大可提取价值,名字听着学术,本质很朴素:在区块链这个公开账本上,谁有能力决定交易先来后到,谁就能从交易顺序里榨出利润,最早它叫 Miner Extractable Value,因为矿工天然拥有排序权,后来以太坊转向 PoS,验证者接管了排序权,名字里“矿工”换成了“可提取”,但核心没变。
你可以把区块想象成一列火车,乘客是等待打包的交易,火车每几分钟发一班,乘客挤在站台上,谁先上车谁后上车,由列车员说了算,列车员就是矿工或者验证者,传统金融里,交易所撮合订单也有顺序,但那是中心化服务器内部的黑箱,区块链不一样,所有等待的交易都公开摆在内存池里,像玻璃罐里的糖果,谁都能看见,列车员不仅能看见糖果,还能决定先拿哪颗,甚至能中途把糖果掉包。
这引出一个关键点:MEV 不是攻击,它是区块链协议设计里“排序权”的自然产物,只要链上交易有先后,就存在套利空间,套利在传统市场是合法的,链上套利也是,问题在于,当套利者不是普通用户,而是拥有排序权的节点本身,或者能贿赂节点的人,事情就变味了。
举个最经典的例子,Uniswap 上 ETH 价格是 1000 USDC,你在内存池里发了一笔交易:用 10 ETH 换 USDC,矿工看到这笔交易,立刻意识到大额买入会把 ETH 价格推高,他可以在你的交易之前,自己先用 5 ETH 买入 USDC,把你的交易夹在中间,然后再用你推高后的价格卖出 USDC,这样,矿工低买高卖,赚走差价,你的交易照样成交,但你买到的 ETH 比预期贵了,或者卖出的 USDC 比预期少了,你损失的那部分,就是矿工提取的价值。
这就是 MEV 的量化定义:在特定时间窗口内,通过调整交易顺序、插入或删除交易,所能获得的最大额外利润,它不产生新的价值,只是重新分配,从你口袋转移到排序者口袋。
三明治攻击是什么
三明治攻击是 MEV 最臭名昭著的一种实现方式,名字很形象:攻击者的两笔交易,像两片面包,把你的交易夹在中间,第一笔买入,第二笔卖出,你不是面包,你是中间的肉饼,被挤压、被榨取。
具体步骤拆开看,第一步,攻击者监控内存池,发现一笔待处理的大额买单,假设你想用 10000 USDC 买 ETH,当前价格是 2000 USDC/ETH,你预期得到 5 ETH,攻击者看到机会,第二步,攻击者立刻发出第一笔交易,用高于市场价的 gas 费抢在你的交易之前打包,这笔交易是买入 ETH,比如买 3 ETH,支付 6000 USDC,这一买,ETH 价格被推高,可能涨到 2010,第三步,你的交易“恰好”紧随其后被处理,你用 10000 USDC 买入 ETH,但此时价格已经不是 2000,而是 2010,你实际只得到 4.975 ETH,比你预期少了 0.025 ETH,第四步,攻击者发出第二笔交易,卖出刚才买入的 3 ETH,此时价格因为你的大额买单被推得更高,可能到 2020,攻击者卖出 3 ETH 得到 6060 USDC,算账:攻击者买入花了 6000,卖出得到 6060,净赚 60 USDC,你的损失就是那 0.025 ETH 的价值,约 50 USDC,加上你推高价格后攻击者多赚的部分。
这中间有个细节:攻击者不一定真的需要自己出钱,很多高级攻击者使用闪电贷,借巨额资金瞬间拉高价格,然后还回去,只留下利润,闪电贷让三明治攻击的门槛极低,不需要本金,只要代码写得好。
攻击为什么能成功
根本原因是区块链的透明性与顺序确定性之间的矛盾,内存池对所有节点公开,任何有技术能力的个人都能看到待处理交易并“抢跑”,区块的打包顺序只由排序者决定,交易本身不携带“时间戳”保证其相对顺序,你只能保证交易被包含进区块,保证不了它在区块内的位置。
普通用户没有反抗手段,你发的交易就像写在明信片上寄出的信,邮差能读内容,还能决定先送谁的信,你没法让邮差失明,也没法让他不偷看。
也有防御措施,比如使用私有内存池,把交易直接发送给矿工,绕开公开池,或者使用滑点保护,设定你能接受的最高价格,超过就取消交易,但滑点保护只能限制损失幅度,不能阻止攻击者在你前面插入交易,更复杂的方案是时间锁、批量拍卖、或者 CoW Swap 这类基于意图的交易,让用户只分享最终结果,不参与执行顺序的博弈。
MEV 的更大图景
三明治攻击只是 MEV 的一个切片,它还包括清算套利、长尾套利、原子套利等,清算套利是当借款人抵押品价值不足时,任何人可以提前触发清算并赚取清算费,这本身是设计好的激励,但 MEV 使清算竞争异常激烈,导致清算人被机器人垄断。
更长尾的套利发生在不同 DEX 之间,Uniswap 上 ETH 贵了 1%,Curve 上便宜 1%,套利机器人会同时买入低价、卖出高价,瞬间抹平价差,这其实是好事,它维持了市场的有效性,问题在于,这些套利机器人会支付高额 gas 费来抢位置,而这些费用实际上是由普通用户间接承担的,因为普通用户的交易被排挤,需要支付更高费用才能被快速打包。
有些项目试图捕获 MEV 本身,把它返还给用户或者销毁,Flashbots 的 MEV-Boost 方案,让验证者把排序权外包给专门的搜索者网络,搜索者提交打包好的区块,验证者选择出价最高的,利润的一部分被烧掉或者返回给协议,这有点像把明信片递给选信员,而不是让邮差自己偷看。
但问题没完全解决,MEV 的总量是有限的,谁能拿到最大份额,取决于谁的技术更快、策略更强,这是一个永不停息的军备竞赛,普通用户在这场竞赛里,除非彻底退出公开交易,否则很难完全规避。
人性化的视角
写到这里,你可能觉得这是技术黑话堆砌,换个方式想,你在一家超市买苹果,排队结账,收银员知道你对价格不敏感,也知道苹果马上要涨价,他先自己买一箱,然后让你买,最后再卖回给别人,你多付了钱,收银员赚了差价,区块链上的 MEV 就是这种超市收银员的逻辑,只不过收银员变成了代码,超市变成了全球开放的金融网络。
区别在于,真实世界的收银员有道德约束、有监管,而区块链上的验证者是匿名的、分散的、逐利的,他们不觉得自己在作恶,因为在协议里,排序权就是他们的合法权利,就像矿工可以说:“我把交易放在哪个位置,是我的自由。”
这引出一个哲学问题,区块链声称透明、公平、去中心化,但 MEV 揭示了一个尴尬的真相:算法共识保证了交易的有效性,却无法保证交易的公平性,公平性不是共识协议的一部分,只要让代码自己排序,它就会按照最优化利润的方式排序。
未来会怎么样
以太坊之后的升级,PBS 和基于 SUAVE 的提议,试图从架构上分离“区块生产者”和“区块提议者”,生产者负责打包,提议者负责出块,中间有一个拍卖市场来决定谁有权打包,这能降低验证者的作恶能力,但并不能消灭 MEV,它只是把 MEV 从验证者手里转移到了拍卖市场的赢家手里。
还有一些 L2 方案,比如基于排序器的 Rollup,排序器由单个实体运营,这反而更容易监控,因为实体可以通过外部监管来约束,但 L2 上的 MEV 依然存在,只是形式不同。
普通用户能做什么?最务实的态度是:别把链上交易当迷信,大额交易务必使用滑点保护,研究一下目标池的流动性深度,或者干脆用聚合器,它们内置了部分抗 MEV 逻辑,记住一点:你每一次点击“确认”,都已经默认接受了排序者对你的潜在收割,这不是悲观,这是认知,认知本身就是一种防护。
MEV 不会消失,它像重力一样,只要有分层结构,就有落差的趋势,与其幻想一个没有 MEV 的乌托邦,不如理解它、计算它、然后在策略上避开它,你不是肉饼,你只是需要知道面包片在哪里。






