進階 DeFi 與市場結構

滑點

滑點是你按下「兌換」時被報的價格,與交易真正上鏈時你實際成交的價格之間的落差。它有兩個常被初學者混為一談的不同來源。第一是你自己交易的價格影響:沿著 AMM 曲線移動,較大的單會確定性地把價格推向對你不利的方向。第二是從你簽署到實際執行之間發生的一切變化——別人的交易先撞上同一個池、市場漂移,或對手蓄意把交易在你周圍重新排序。

由於區塊鏈在提交與納入之間存在延遲與一個公開的記憶池,錢包讓你設定滑點容忍度:在兌換改為回滾而非成交之前,你願意接受的最大不利價格移動。若你要求至少收到 99 ENS(單位舉例)並設 1% 容忍度,則只要你收到至少約 98.01 單位,兌換就會執行;否則便失敗、你保留資金(扣掉 gas)。這個最小輸出檢查在鏈上強制執行,通常是路由器拒絕低於的 amountOutMin 參數。

設定容忍度是一個真正的取捨。太緊,普通的市場移動或同一區塊內的競爭交易就會讓你的交易回滾,浪費 gas 與時間。太鬆,則等於招來三明治攻擊:搜尋者可以合法地把價格正好推到你的容忍度上限,讓你以那個糟糕的價格成交,再賺走差額。防禦之道是依波動度與池深度來設定容忍度、拆分大單、使用跨多個池路由的聚合器,或透過私有訂單流通道提交,把交易完全擋在公開記憶池之外。

滑點容忍度是上限,不是預期損失。初學者常犯的錯是把高容忍度(比方 5%)讀成「我會虧 5%」。通常你虧得遠少於此——但你已授權搜尋者,只要對他有利可圖,便可透過三明治攻擊拿走最多那麼多。