滑價是什麼,中心化交易所和 AMM 的滑價有什麼不同?
滑價(Slippage)泛指實際成交價和預期成交價之間的差距,但中心化交易所(CEX)和去中心化 AMM 中,滑價的成因完全不同。
CEX 的訂單簿模型中,滑價主要來自流動性不足:如果你要買的量超過當前最優買價掛單的數量,系統會以更差的價格繼續吃單,直到你的訂單被全部填滿。流動性越深、掛單越多,滑價越小。
AMM(如 Uniswap)則不同:池子裡的價格由 x × y = k 等公式決定,每次交易都會移動池子裡的資產比例,進而移動價格。交易量越大,對比例的影響越大,你實際拿到的平均成交價就越偏離交易開始時的瞬間價格。這種因「你自己的交易改變了池子狀態」導致的價格移動稱為 Price Impact(價格衝擊),是 AMM 滑價的核心機制。
滑價容忍度要怎麼設定,設太高和設太低各有什麼風險?
AMM 交易通常會讓你設定一個「最大可接受滑價」(滑價容忍度)。如果你設的是 0.5%,就代表只要實際成交價比預期差超過 0.5%,交易就自動失敗(reverts)。
設太低的風險:當市場波動較大,或是流動性池深度不夠時,你的交易可能一直失敗,你反覆重送交易,每次都花了 Gas 費但沒成功,浪費費用且無法完成交換。
設太高的風險:你的交易很容易成功,但你可能以一個很差的價格成交,更嚴重的是這讓你成為三明治攻擊的理想目標——攻擊者看到你的大額訂單加上寬鬆的滑價設定,知道可以在你前後各插單,放心地把你夾在中間獲利。
實務上的平衡:小額交易可以設 0.5–1%;大額交易建議把訂單拆小分批執行,而不是放寬滑價。
滑價和 MEV / 三明治攻擊之間有什麼關係?
滑價容忍度是三明治攻擊能否成立的關鍵參數。
三明治攻擊的運作邏輯:攻擊者在 mempool 看到你準備送出的大額交易,觀察你設定的滑價容忍度。如果你設了 2% 的容忍度,攻擊者就知道他可以在你交易前搶先買入(提高 Gas 讓礦工優先打包),讓你的成交價因此變差,但只要差距在 2% 以內你的交易仍會成功——攻擊者吃走了這 2% 的空間。
滑價越寬鬆,給攻擊者的操作空間越大,被三明治的風險越高;滑價越嚴格,被三明治的可能性越低,但交易失敗的機率也升高。
對抗方式:使用 Flashbots 等私有交易池(交易不在公開 mempool 中出現),讓攻擊者無法預先看到。
使用者在實際操作中如何降低不必要的滑價損失?
滑價無法完全消除,但可以透過幾個具體操作減少影響:
(1) 選擇流動性深的池子和 DEX——同樣的交易量,深池子的滑價遠低於淺池子。Uniswap V3 的集中流動性在熱門交易對上通常比 V2 深。
(2) 大額交易拆單執行——把一筆大額交易拆成多筆小額分批送出,每筆影響池子的幅度較小,整體滑價較低。
(3) 使用 DEX 聚合器——1inch、Paraswap 等聚合器會把你的訂單分拆到多個流動池,同時取得最佳報價,通常能比單一 DEX 有效減少滑價。
(4) 避開市場劇烈波動時段——劇烈波動時,池子深度相對有效需求縮水,滑價通常更高。
(5) 使用私有交易池——Flashbots Protect 等服務讓你的交易不在公開 mempool 曝光,避免三明治攻擊導致的人為滑價。
假設 ETH/USDC 池中有 1,000 ETH 和 2,000,000 USDC,當前價格約為 $2,000/ETH。若你一次性買入 10 ETH($20,000):由於池子公式會讓購買行為推高 ETH 比例,你拿到的實際價格可能約為 $2,020–$2,040,滑價約 1–2%。若你改買 100 ETH($200,000),這筆交易規模已是池子流動性的一大比例,滑價可能衝高至 10% 以上,平均成交價可能落在 $2,200 以上——這就是「大單在淺池裡滑價很嚴重」的直觀示範。
AMM 的滑價機制使協議可以在無需中央做市商的情況下提供自動化流動性,但也讓大額交易者承擔比 CEX 更高的滑價成本。集中流動性(Uniswap V3)能大幅降低特定價格區間的滑價,但需要流動性提供者主動管理倉位,技術門檻更高。滑價本質上是一種「使用定價曲線這個服務的費用」,流動性越深費用越低。