一文看懂三明治攻击,从零理解MEV
不少人在用DEX的时候老是滑点,这其实是三明治攻击,就是在进行链上交易的时候就被盯上了,订单还没有真正上链的时候就被机器人提前算计,等成交的时候价格已经被悄悄抬高或者压低,看起来像正常滑点。

三明治攻击是怎么回事
就是有人把用户的交易夹在中间来赚钱。
①攻击者先下一笔单。
②用户的交易在中间执行。
③攻击者再反向操作一笔。
攻击者赚的就是这笔交易带来的价格变化。
依赖条件
这种操作能成立,离不开几个关键点:
• 交易在打包前是公开可见的。
• AMM的价格变化是可以预估的。
• 用户通常会设置一定滑点。
这也是为什么它更像一种交易机制利用,而不是传统意义上的黑客攻击。
三明治攻击的工作流程

提交交易
用户在DEX上发起一笔swap,比如用ETH换某个代币,这笔交易不会立刻上链,而是先进入一个等待区也就是mempool。
机器人开始扫描
有大量机器人一直盯着这个池子,专门找有利润空间的交易。
• 金额比较大的单子。
• 流动性不高的代币。
• 滑点设置比较宽。
只要判断有空间就会立刻动手。
抢在前面下单
机器人会提高gas,把自己的交易排在你前面,如果用户是买,那它也先买,把价格先推高一截。
交易被影响
等轮到用户交易执行时,价格已经被提前改了,用户拿到的币更少,但因为还在滑点范围内,交易依然成功。
机器人反手卖出
用户的单子把价格继续推高后,机器人马上卖出,完成套利。
整个过程可能只需要几秒甚至更短。
具体的例子
用户用ETH买Token A,这个池子流动性不深。
1、机器人先买入Token A。
2、价格被抬高。
3、用户单子以更高价格成交。
4、机器人立刻卖出。
用户只是感觉买贵了一点,但其实这部分差价已经被别人拿走了,而且界面通常不会提示异常。
为什么这种情况很常见
交易是透明的
链上交易在确认前是公开的,这本来是优点但也给了机器人提前分析的时间。
AMM定价机制
DEX没有传统订单簿,而是根据池子里的资产比例定价,大额交易一定会推动价格变化,而且这个变化是可以预估的。
滑点设置
很多人为了避免交易失败会把滑点调高,这就给了攻击者更多操作空间。
自动化速度
机器人可以同时做三件事,扫描、模拟、下单,而且几乎是瞬间完成,人类根本没法竞争。
为什么这个问题值得重视
这种机制会慢慢影响交易体验,尤其是:
• 大额交易
• 小币种交易
• 流动性差的池子
时间一长用户会发现自己总是买贵卖便宜,但又说不出哪里不对。
透明不一定等于公平,信息公开后速度更快的一方天然占优势。
和MEV的关系
三明治攻击其实就是MEV的典型表现。
MEV可以理解为通过调整交易顺序来赚钱,而三明治攻击正好就是:
• 把自己的交易插到前面。
• 再插一笔到后面。
顺序本身就是利润来源。
发展过程的变化
早期阶段
Defi刚起来的时候,像Uniswap这种AMM模式让交易变得很简单,同时也暴露了一个问题,交易可见+价格可预测。
被逐渐发现
不少交易者开始发现,大额交易的结果总是不太理想,后来通过数据分析才确认,这并不是随机波动。
进入规模化阶段
慢慢出现专门做MEV的团队,开始开发工具:
• 扫描mempool
• 模拟利润
• 自动出价gas
整个过程完全工业化。
机器人之间竞争
当一笔交易很有利润空间时,不止一个机器人会盯上就会出现gas竞争,谁出价高谁先执行。
这不仅影响用户,还会推高整个网络的手续费。
扩展到更多链
只要具备这些条件:
• 交易可见
• AMM定价
• 有流动性池
• 用户允许滑点
基本都会出现类似情况。
在模因币中更明显
新币或者小币种更容易被盯上。
• 流动性浅
• 波动大
• 用户操作比较急
• 滑点普遍设得高
这种环境下小资金都能明显影响价格。
常见风险点
1、mempool是公开的,交易容易被盯上。
2、滑点太高,相当于给了攻击空间。
3、流动性不足,价格容易被推动。
4、损失不明显,很容易被忽略。
5、防护工具存在,但无法完全避免。
降低风险的思路
①滑点尽量设置低一点。
②避开流动性太差的池子。
③大额交易分批执行。
④使用带保护机制的交易路由。
⑤多关注实际成交价格,而不是只看是否成功。
常见疑问
什么是三明治攻击
就是有人在你的交易前后各插一笔单,从价格变化里赚差价。
为什么叫这个名字
用户的交易被夹在中间,就像三明治里的夹层。
和抢跑一样吗
不完全一样,抢跑只有提前,三明治是前后各一笔。
主要出现在什么地方
AMM类型的去中心化交易所里更常见。
哪些人更容易被盯上
大额交易、低流动性币种、滑点设置高的用户。
只有以太坊有吗
不是,只要机制类似,就可能出现。






