
三明治攻击是什么(MEV 对交易者的影响)
三明治攻击到底是什么:把你的交易“夹”在中间
三明治攻击(Sandwich Attack)是一种发生在链上交易里的“抢先与跟随”行为:当你在去中心化交易(DEX)发起一笔会影响价格的交换时,有人(通常是搜索者/套利者)会在同一个区块里,先插入一笔交易抢在你前面买入(或卖出)把价格推向对你不利的方向;等你的交易以更差的价格成交后,再紧接着插入一笔反向交易把价格推回去,从中赚取差价。你的交易就像夹在两片面包之间,所以叫“三明治”。
它属于 MEV(Maximal Extractable Value,最大可提取价值)的一种典型形态。MEV 的核心不是“黑客入侵”,而是利用区块打包顺序的权力:链上交易进入内存池(mempool)后,谁先被打包、谁后被打包,会改变 AMM 池子的即时价格与成交结果。当有人能影响排序(自己是区块生产者/验证者,或通过更高费用让自己的交易更优先),就可能从别人的“可预见成交”里提取价值。
要注意:三明治攻击并不一定需要破解你的钱包,也不要求你点了什么“授权陷阱”。它利用的是公开透明的链上交易流,以及 AMM 按公式定价、随交易实时变动的机制。
为什么在 DeFi 里会出现:公开内存池 + AMM 定价 + 排序竞争
在很多 DeFi 交易里,你面对的不是订单簿,而是流动性池。池子用公式(例如常见的恒定乘积)决定价格:你买得越多,池子里可买的那一侧越少,价格就越贵;你卖得越多,价格就越便宜。这意味着“大一点的单子”天然会推动价格。
与此同时,链上交易通常先广播到内存池,内容几乎是公开的:交易买什么、卖什么、愿意接受多大滑点、愿意付多少手续费(或优先费)等,都会被旁观者看到。于是出现一种“可预测性”:旁观者能提前计算出你的交易会把池子价格推到哪里。
最后是排序竞争:同一时间很多交易在抢区块空间,矿工/验证者或区块构建者会根据费用、私下订单流等因素决定打包顺序。谁能让自己的“前置交易”排在你前面,谁就能先把价格推走;再让“后置交易”排在你后面,谁就能把价格推回并获利。整个过程不需要长期持仓,更像一次围绕“成交顺序”的短暂套利。
这里也会牵扯到你可能听过的“什么是智能路由(交易如何自动寻找最低滑点路径)”。智能路由会把一笔交换拆分、在多个池子间找更好的路径,目的是降低滑点与成本;但从 MEV 视角看,交易路径更复杂也意味着可观察的目标更多。路由本身不是问题,关键在于:只要你的交易在公开环境里可被预测,且会对价格造成影响,就可能成为被夹击的对象。
它具体影响交易者什么:价格、滑点、手续费与“隐形税”
三明治攻击对普通交易者的影响,往往不是“资产被偷走”,而是成交条件被变差,表现为一种难以察觉的“隐形成本”。常见影响包括:
1)成交价格变差(你买得更贵或卖得更便宜)
前置交易先把价格推向对你不利的方向,你在更差的池子状态下成交。即使你设置了可接受滑点,你也只是“允许在这个范围内成交”,并不代表你能拿到原本的市场价格。
2)滑点被动变大,且看起来“像正常波动”
很多人把滑点理解成“市场波动造成的误差”,但在 AMM 里滑点本来就与交易规模相关;三明治会额外放大滑点,让你误以为只是池子深度不够或当时太多人交易。结果是:同样的交易金额,你比平时更容易触发较差成交,或更接近你设置的滑点上限。
3)你付出的总成本上升:不仅是手续费,还有机会成本
链上交易成本不只是一笔 gas。三明治攻击会把价值从你的成交里“挤”出去:你少拿到的那部分(或多付出的那部分)就是对方的利润来源之一。对你来说,这像是交易额外多交了一层税,而且这层税不会在界面上明确标成“MEV 费用”。

4)连锁影响:后续操作的阈值更容易被触发
如果你的链上行为不止是单次换币,而是后面还要做抵押、借贷、再平衡等,第一步成交变差会让后续步骤的安全边际变小。例如你原本预计能换到足够数量去偿还债务或补足抵押,结果少换到一点点,就可能让后续状态更紧张。
需要澄清的是:三明治攻击本身主要发生在现货交换的链上路径里;它不等同于合约里的“爆仓是什么(为什么用户可能瞬间亏光保证金)”或“强平是什么(为什么仓位会被系统自动卖掉)”。不过它确实可能间接影响到链上杠杆类产品:如果你用换币去调整保证金或偿还借款,成交变差会让你离清算线更近。
最容易被误解的点:不是“被黑”,也不是“设置滑点就没事”
围绕三明治攻击,普通人最常见的误解有四类:
误解一:这是黑客攻击,资产会被直接转走。
三明治通常不触碰你的私钥,也不需要你授权给陌生合约。它更像“利用公开撮合顺序赚差价”。你的资产仍按合约规则交换,只是成交更差。
误解二:我把滑点设得很低就安全。
滑点设得低,确实会让一些夹击更难成功,因为你的交易可能直接失败;但失败并不等于没有成本(例如已付出的链上费用、时间成本)。而且在流动性较差或价格本来就波动时,过低滑点会让正常交易也更容易失败。关键点在于:滑点是你对“最差成交”的容忍,不是对“被夹击”的免疫。
误解三:只要交易金额小就不会发生。
小额交易更不容易成为目标,因为可提取利润有限;但在某些链上环境里,费用低、自动化程度高,小额也可能被批量化地挑选。是否被夹击取决于“可提取价值是否覆盖成本”,而不是有没有人盯着你这个地址。
误解四:MEV 只影响 DEX,不影响交易所。
中心化交易所的撮合在站内完成,外部无法像链上那样插队进同一个区块,但也会有不同的“顺序与信息优势”问题,例如撮合延迟、订单簿深度变化等。只是三明治攻击这种“同区块前后夹击”的典型形态,主要与链上可见内存池和可排序打包有关。
理解三明治攻击的关键,是把它当作链上交易机制的一部分:公开交易流带来可预测性,AMM 定价让顺序影响成交,排序竞争让“插队”成为一种生意。对交易者来说,它最直观的后果就是:同样一次交换,实际到手更少或付出更多,而这种差异往往不会被单独标注出来。



