﻿---
title: "夾擊攻擊"
description: "說明搜尋者如何在待處理兌換前後插入交易、惡化使用者成交結果，並從交易排序中提取價值。"
image: "https://wiki.fcontext.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://wiki.fcontext.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 夾擊攻擊

> 僅供教育參考，不構成安全或投資建議。滑點控制與私有路由可降低夾擊風險，但不能保證成交品質、納入區塊、最終性或追回損失。

<a id="answer"></a>

## 直接答案

夾擊攻擊是一種有害的最大可提取價值行為：攻擊者在使用者兌換前緊接著放入一筆交易，並在其後再放入一筆。第一筆交易把資金池價格推向不利於使用者的方向，使用者以較差匯率成交，最後一筆交易則按部分由使用者訂單造成的價格平掉攻擊者部位。

攻擊成立需要攻擊者提前看到使用者意圖或擁有排序優勢，訂單須產生足夠價格影響，而且使用者的執行限制仍允許兌換成功。它最常見於自動做市商兌換，但更廣泛的風險是：任何可預測的狀態變化，只要排序能讓他人提取價值，就可能受影響。

<a id="mechanism"></a>

## 運作原理

使用者簽署並廣播兌換。若詳細資訊在納入區塊前進入公開交易池或其他可觀察訂單流，搜尋者便可解碼資產、數量、路徑、最低輸出和截止時間，並模擬不同交易順序。

對於 AMM 資金池中的買入，搜尋者先行買入。該搶跑交易改變儲備並提高使用者的成交價格。只要結果仍符合使用者的最低輸出條件，使用者隨後會獲得少於交易前報價的輸出代幣。搜尋者再在使用者之後賣出，透過尾隨交易捕獲部分價格變動。

總回款不等於利潤。攻擊者還須支付兩次兌換費、Gas 或構建者費用，並承擔失敗嘗試和庫存風險。競爭、其他交易、使用者兌換回滾或區塊順序變化都可能使整組交易虧損；夾擊並非天然原子化，也不保證成功。

滑點保護限制的是可接受的最差輸出，並不阻止排序。容忍度過寬會給不利成交留下更多空間，過緊則可能在波動中讓正常兌換回滾。應用程式和整合合約應執行基於目前報價、經使用者認可的最低輸出和適當截止時間，不能使用零值或陳舊的硬編碼值。

私有提交、受保護訂單流、批次拍賣、基於意圖的執行和拆單在某些系統中可降低暴露。保護效果取決於哪些中間方能看到訂單、構建者覆蓋、回退行為、流動性、費用和實作方式；「私有」或「MEV 保護」標籤並非通用保證。

<a id="example"></a>

## 範例

使用者提交一筆可見兌換，準備從 AMM 資金池用代幣 A 買入代幣 B。搜尋者模擬後發現，訂單足以推動資金池價格，而使用者設定的最低輸出也容許價格向不利方向變動後繼續成交。

搜尋者先買入代幣 B，使用者隨後以惡化後的匯率買入，搜尋者緊接著賣出代幣 B。使用者仍收到不低於簽名時設定的最低數量，卻少於之前的報價；搜尋者只能保留扣除兌換費、排序費用和執行成本後的餘額。

<a id="risks"></a>

## 風險

使用者受到的直接損害是成交較差、實際滑點較高。在會對失敗執行收費的鏈和交易設計中，兌換回滾後還可能消耗 Gas。流動性薄弱、可見大單、寬鬆限制、市場波動和可預測路徑會增加暴露，但不存在一個能證明攻擊必然發生的單一門檻。

緩解措施也有取捨。拆成小單可能增加總費用或洩露重複策略；嚴格限制會增加回滾；私有路由帶來信任、審查、日誌和回退問題；受保護介面也可能只涵蓋部分鏈或路徑。應核驗簽名中的最低輸出、截止時間、路徑、端點政策、收據和所需最終性，而不能只相信保護標識。

<a id="misconceptions"></a>

## 常見誤解

- **每次不利價格變動都是夾擊攻擊。** 正常價格影響、市場波動、路由變化和套利也會使成交偏離報價；判斷夾擊需要交易排序證據。
- **攻擊者只是從錢包裡偷走代幣。** 典型夾擊是在使用者授權兌換前後改變資金池狀態，並不要求攻擊者的交易直接從使用者錢包轉出資產。
- **設定任意滑點容忍度就能阻止攻擊。** 最低輸出只能限制可接受的惡化程度，搜尋者仍可能最佳化夾擊，使兌換貼近該邊界成功。
- **私有提交會消除 MEV。** 它可對公開池隱藏訂單，但 RPC 營運者、中繼、構建者、求解器或公開回退仍可能觀察或影響訂單。
- **成功收據證明成交公平。** 成功只證明合約條件通過，不證明使用者獲得了最佳可用價格或避開了有害排序。

<a id="related"></a>

## 相關主題

- [自動做市商](/zh-tw/crypto/amm/)
- [搶跑](/zh-tw/crypto/front-running/)
- [最大可提取價值](/zh-tw/crypto/mev/)
- [私有交易 RPC](/zh-tw/crypto/private-transaction-rpc/)
- [去中心化交易所](/zh-tw/crypto/dex/)

<a id="sources"></a>

## 來源

- [Maximal extractable value (MEV)](https://ethereum.org/developers/docs/mev/) - Ethereum.org (accessed: 2026-08-21)
- [What is a sandwich attack?](https://support.uniswap.org/hc/en-us/articles/19387081481741-What-is-a-sandwich-attack) - Uniswap Labs (accessed: 2026-08-21)
- [SCWE-090: Missing Slippage Protection in Automated Token Swaps](https://scs.owasp.org/SCWE/SCSVS-CODE/SCWE-090/) - OWASP Smart Contract Security (accessed: 2026-08-21)

Source: https://wiki.fcontext.com/zh-tw/crypto/sandwich-attack/index.mdx
