
什么是“三明治攻击”,为什么发生在链上交易
先把“三明治”讲明白:它不是黑客入侵,而是“插队吃差价”
“三明治攻击”常发生在链上换币:你提交一笔交易,内容(买什么、卖什么、愿意接受的价格范围)会先进入一个“待打包队列”。这时,某些观察者会像在队伍里插队一样,把两笔交易夹在你前后:
– 第一片面包:在你之前先买入(或卖出)同一种资产,把价格推向对它有利的方向;
– 夹心:你的交易按你设置的可接受范围成交,但成交价被“挤”得更差;
– 第二片面包:它在你之后立刻反向卖出(或买回),把刚才推高/压低的价格吃回来,赚走中间差。
这件事之所以能成立,核心不是“技术多高”,而是链上交易的两个特性:一是交易在被确认前是可见的;二是区块空间有限,谁先被打包往往取决于谁付出更高的“优先费”。所以它更像一种利用公开队列和排序规则的“结构性套利”,而不是传统意义的盗币。
为什么链上更容易发生:公开排队 + 自动定价的“可被推动的价格”
很多人以为链上价格像交易所那样由撮合订单决定,其实许多链上兑换是靠自动做市池:池子里两种币的比例决定价格。你的一笔大额买入会改变比例,从而把价格推高;卖出则相反。只要有人能在你之前先动一下池子,就能让你用更差的价格成交。
把它想成一个小卖部:货架上可乐和矿泉水各有固定数量,店家按“越稀缺越贵”的规则自动改价。你准备买走一大箱可乐,价格会被你自己越买越贵。如果有人提前一步先买走一点可乐(第一片面包),可乐更稀缺,你再进来买就更贵;等你买完,他再把刚才买的可乐卖回去(第二片面包),价格回落,他就把差价落袋。
这里还有一个关键:你通常会在交易里写一个“最多愿意吃亏到什么程度”的范围(否则价格波动时交易会失败)。这个范围本来是保护你“别成交得太离谱”,但在三明治里,它反而成了对方计算利润的边界:只要把价格推到你还能接受但已经足够糟的那一侧,就能稳定获利。
把它放进“DeFi 高级结构”里看:杠杆、衍生品与套娃会放大它的伤害
三明治看起来只是“多付了一点点”,但在衍生品、杠杆和多协议叠加的结构里,它会变成风险传导的一环。
先说衍生品的目的。永续合约、期权这类工具,本质是把价格波动的影响放大或重新分配:你用更少的保证金,承担更大的涨跌。它们不是制造免费收益,而是把风险集中。永续合约之所以需要资金费率,是为了让合约价格别长期偏离现货:当合约比现货贵,做多的人会付费给做空的人,鼓励更多人做空把价格拉回;反之亦然。链上要锚定现货价格,通常依赖“预言机报价 + 做市/套利者纠偏”:预言机给出参考价,市场参与者用资金把偏差吃掉。
问题在于:当你带杠杆时,“成交价差一点”不再是差一点。比如你用借贷资金放大头寸,或在永续合约里用较小保证金承受较大仓位,入场价被三明治推差,会让你的安全垫变薄:更接近清算线、更容易在短波动里被打掉。链上清算又是自动触发的,一旦触发,会在市场里强制卖出/买回,进一步推动价格,形成连锁反应。这也是很多人讨论“为什么交易所清算与链上清算完全不同”时强调的:链上清算更像一串自动执行的条件单,遇到拥堵和滑点时,结果可能比预期更极端。
再看“套娃收益”。很多高收益结构来自“抵押→借出→再抵押”的循环:同一份本金在多个协议里叠加使用,表面上每一层都在“生息”。但收益从来不是凭空来的,往往来自手续费、激励补贴、以及杠杆资金愿意支付的成本。结构越复杂,风险越不透明——这也是“为什么多协议叠加后,风险会被放大好几倍”的根源:任何一层的价格偏差、清算、或流动性枯竭,都会沿着链路传递。
三明治在这里扮演的角色是:它属于 MEV(矿工/验证者可提取价值)的一种表现形式,会在你“跨多层操作”时不断抽走边际收益。你可能在第一层赚到一点激励,在第二层赚到一点手续费,但每次换币、再平衡、补保证金,都可能被夹一次。单次看不多,叠在一起就像“隐形税”。更糟的是,当行情剧烈波动、预言机更新、清算密集发生时,链上拥堵会让排序竞争加剧,三明治更容易出现,你原本计算好的收益/风险边界会被挤压。

风险怎么沿链路传递:从“被夹一下”到“连锁爆仓”的路径
把一条典型链路拆开看,风险是如何层层放大的:
1) 价格被短暂推偏:三明治通过先买后卖制造瞬时冲击,导致你的成交价变差。对现货小额用户,这可能只是体验问题;对大额或低流动性池子,则是真实损失。
2) 杠杆把小损失放大:如果你在借贷或永续里放大了仓位,入场价更差意味着更高的负担。你离清算更近,后续任何小波动都可能触发强制平仓。
3) 清算反过来推动价格:链上清算通常需要在市场里卖出抵押品或买回欠款资产。清算发生时,市场会被“被迫交易”冲击,滑点扩大,价格更容易被打穿。
4) 预言机与市场价的错位会加剧连锁:预言机更新有节奏,市场价变化有瞬时冲击;当二者短暂不一致,可能出现“该清算的人没清算/不该清算的人被清算”的边缘情况。一旦触发错误或过度清算,会把更多仓位推入被动卖出。
5) 套娃结构被“一层层拆穿”:当抵押品价格下跌、借贷利率上升、流动性变差时,叠加结构会同步恶化:上层需要补保证金,就要卖出下层资产;下层被卖出又压低价格,进一步触发上层清算。原本看似平滑的收益曲线,在极端行情里会突然断裂。
所以,高收益不是免费午餐。你看到的“更高 APY”,往往是用更复杂的结构、更频繁的链上交易、更高的杠杆敏感度换来的;而三明治这种“夹一口”的机制,会在结构越复杂、交易越频繁、流动性越薄时越显著。
理解三明治攻击的价值,不在于学会对抗它,而在于看清链上交易的底层现实:公开排队、可被重排的交易、以及自动定价带来的可预测冲击。只要这些结构存在,收益与风险就会一起存在,而且风险往往在你看不见的地方被放大。



