三明治攻擊跟一般人熟悉的「搶跑」有什麼不一樣,為什麼特別難防?
一般語境下的搶跑通常是指「搶在你之前完成同一筆交易」,三明治攻擊則更精細:攻擊者不是要搶你的交易,而是要「包夾」你的交易——前後各插入一筆自己的交易,讓你的交易被夾在中間執行。這代表攻擊者根本不需要跟你競爭「誰先成交」,只需要確保自己的兩筆交易分別排在你之前跟之後。
難防的原因在於,這整套操作的觸發條件只有一個:你的交易意圖必須先出現在公開的 mempool 裡才會被看見。只要你的交易還沒被打包進區塊、還在等待確認的狀態,任何監控 mempool 的機器人理論上都看得到你要做什麼、要用多少資金、可接受的滑點範圍,這是以太坊交易機制設計上「先公開再打包」帶來的結構性暴露,不是使用者操作失誤造成的。
既然三明治攻擊利潤已經被壓縮到每筆平均只賺 3 美元,這代表這個問題已經快解決了嗎?
表面數字容易造成這種誤解,但實際情況更接近「戰場轉移」而不是「問題消失」。2025 年整年,515 個不同的機器人在以太坊上活躍過,但一般月份裡真正持續執行交易的只有約 100 個,其中僅 6 個機器人的累計獲利超過 1 萬美元——這代表這個賽道的競爭已經激烈到把大多數參與者的利潤壓到接近損益兩平(約三分之一機器人徘徊在正負 10 美元之間),甚至虧損(約三成機器人淨虧損)。
但攻擊筆數本身並沒有下降,一直維持在每月 6-9 萬筆的高檔。這代表整體受害者的曝險程度並沒有減少,只是每筆攻擊分到的利潤變薄了——單筆利潤下滑,主要反映的是機器人之間的競爭加劇,跟使用者端的保護是否有效提升,是兩件需要分開檢視的事。
Jared 的機器人策略為什麼特別能佔到七成的市占率,是因為技術更強嗎?
不完全是技術層面的優勢,更關鍵的是策略定位的差異。Cointelegraph Research 的分析指出,Jared 的策略核心是「以量取勝」——優先捕捉盡可能多的機會,包括很多獲利只有幾美分的極小額攻擊,而不是像多數機器人一樣只挑選利潤夠高的目標出手。這種策略在 gas 成本相對於單筆攻擊收益偏低的環境下特別有效,因為即使單筆獲利微薄,累積起來的總量依然可觀。
這也代表 Jared 的策略不是穩賺不賠——2025 年 4 月,該機器人的利潤率曾一度轉為負 20%,單月虧損約 1.2 萬美元,顯示即使是市占率最高的玩家,也會因為競爭加劇、gas 成本波動或滑點計算失準而虧損。這說明「市占率高」反映的是策略執行的規模與速度優勢,不代表這個生意本身沒有風險。
除了設定 amountAMin 跟改用防搶跑 RPC,一般交易者還有沒有更直接的方式,判斷自己過去的交易是不是曾經被三明治攻擊過?
有,而且不需要仰賴任何付費工具。把你的交易雜湊(transaction hash)貼到 Etherscan 之類的區塊鏈瀏覽器查詢,找到該筆交易所在的區塊編號,接著查看同一個區塊裡緊鄰在你交易前後的其他交易——如果前後各有一筆交易,且交易對手方是同一個地址、資產也高度相關(例如都在操作你交易的同一個交易對),這是三明治攻擊的典型指紋。部分區塊瀏覽器與 MEV 專門追蹤平台(如 EigenPhi 官網的 EigenTx 工具)甚至會直接標註某筆交易是否被歸類為三明治攻擊的受害交易,可以省去手動比對的功夫。
如果確認自己曾經受害,能做的除了記取教訓、往後設好滑點保護之外,也可以留意該池子跟該機器人地址是否有反覆出現的模式——如果你經常在特定幾個低流動性池子交易,等於是把自己重複暴露在同一批機器人的狩獵範圍內,值得考慮換用流動性更深、滑點風險本身較低的池子。
2025 年 1 月 20 日,一名使用者想在 Uniswap V2 一個流動性偏低的池子裡添加流動性,原本打算存入 9.946 顆 WBTC 與等值的 waBTC。整筆交易從發出到結束不到一個區塊的時間,這名使用者卻損失了將近 87 萬美元——這是鏈上分析機構 EigenPhi 記錄過最大規模的三明治攻擊案例之一,而它的每一步都完整留在鏈上,任何人都能事後重建。
攻擊者操控的機器人(地址開頭 0xe2cd)發現受害者的交易被送進公開的 mempool 後,在同一個區塊裡插入了三筆交易:第一筆「前置交易」(front-run)搶先把 95.1184 顆 ETH 換成 2.9336 顆 WBTC 存入池子,把 waBTC 兌 WBTC 的匯率瞬間推到極端值;第二筆是受害者原本要送出的交易,由於沒有設定 amountAMin(可接受的最低數量)這個保護參數,交易在被操控的極端匯率下仍然執行,導致存入池子的資產組成被嚴重稀釋;第三筆「後置交易」(back-run)緊接著把幾乎可忽略不計的 waBTC 換回 12.8778 顆 WBTC——包含機器人原本投入的 2.9336 顆,淨賺 9.9442 顆 WBTC。攻擊者最終把獲利換成超過 360 顆 ETH,付給區塊構建者 Titan Builder 22.6 顆 ETH 小費,自己留下約 337.9 顆 ETH。
更值得留意的是,這筆攻擊造成的價格扭曲並沒有在後置交易完成後就結束。EigenPhi 事後拆解同一個區塊,發現另外至少兩個機器人也搭上了這波價格波動的順風車:其中一個機器人靠著這次攻擊造成的池間價差套利,額外賺進約 2.7 萬美元;另一個機器人則付出 11.3 顆 ETH 的高額小費搶進區塊,疑似在場外交易所同步進行對敲套利。整起事件累計為多個機器人創造超過 84 萬美元的獲利,主謀機器人自己拿走約 79.6 萬美元,這說明單一個 MEV 機會經常不是一次性的孤立事件,而是會引發一連串連鎖套利。
把視角拉高到整個以太坊生態,這類個案並非例外。根據 EigenPhi 提供給 Cointelegraph Research 的數據,2024 年 11 月到 2025 年 10 月的一年內,以太坊上共記錄超過 9.5 萬筆三明治攻擊,其中約 70% 都跟同一個化名為「jaredfromsubway.eth」的機器人有關。這個機器人的最新版本(v2)已經進化出能同時鎖定最多四名受害者的複合式攻擊策略,甚至會在前置與後置交易之間插入額外的「置中交易」,把匯率推得更極端。儘管整體攻擊獲利已經從 2024 年底單月近千萬美元,萎縮到 2025 年 10 月的約 250 萬美元,但攻擊筆數始終維持在每月 6 萬到 9 萬筆的高檔——利潤下滑,不代表攻擊變少,只代表分到每個機器人手上的錢變薄了。
如果你曾在 DEX 上完成過一筆滑點超乎預期的交易,這很可能不是巧合,而是三明治攻擊的直接結果——尤其當你交易的是穩定幣或包裝資產這類「低波動」池子時:數據顯示將近四成的攻擊鎖定的正是這類池子,因為多數交易者不會對這些資產設下嚴格的滑點保護,反而成為最容易得手的目標。實際的自保方法有兩個,而且都不需要技術背景:一是在錢包或交易介面裡,把交易路由改成 MEV-Share 或 MEV Blocker 這類防搶跑的 RPC 服務,讓你的交易意圖不會提前曝光在公開的 mempool 裡;二是無論用哪個平台交易,務必設定「可接受最低數量」這個滑點保護參數,不要留空或設成極寬鬆的數值——上述 87 萬美元的受害者,正是因為跳過了這一步。