加密貨幣搶跑交易:MEV 機器人與防護
Learn how front running works in crypto, sandwich attacks on DEX swaps, and proven protection methods like private RPCs and slippage tolerance.
您在 Uniswap 上執行了一筆兌換,實際收到的代幣少於介面報價。在您點擊確認與交易結算之間的短短一瞬間,價格發生了變動。這個價差有個專有名稱。
加密貨幣搶跑是一種行為,其中自動化機器人會在區塊鏈交易被確認前監控待處理的交易,然後透過支付更高的 gas 優先費用,將自己的交易插入到你的交易之前。該機器人從你的交易造成的價格變動中獲利,而你則獲得比預期更差的執行價格。
這發生在 DeFi(去中心化金融)之中,這是一個建立在公有區塊鏈上的金融應用程式生態系統,包括代幣交換、借貸協議和收益耕作,全部透過智慧合約執行,無需中心化中間機構。
搶先交易的起源
「搶跑」(front running) 這個詞源自傳統金融市場,當時的經紀人會基於對即將發生的客戶訂單的預知,執行自己帳戶的交易,從客戶的大額訂單最終「已成交」時所引起的價格變動中獲利。
在受監管的市場中,此類做法是明文禁止的。這違反了經紀人受託責任、美國證券交易委員會 (SEC) 10b-5 規則,以及金融業監管局 (FINRA) 的行為準則。搶先於客戶訂單進行交易的經紀人將面臨刑事起訴和監管處分。
加密貨幣超前交易在結構上相似,但在法律上有所不同。兩者的區別在於一個詞:公開。在以太坊這個鏈上超前交易記錄最為詳盡的區塊鏈上,每一筆待處理交易在確認之前對任何人都是可見的。這裡不存在特權資訊、沒有秘密,也沒有違反義務。這種區別正是為什麼加密貨幣超前交易處於法律灰色地帶,而非明確的違法類別。
加密貨幣中的搶先交易是如何運作的?
- 您在去中心化交易所 (DEX) 上提交代幣交換,調用一個智能合約(一種在區塊鏈上自動執行的程式),該合約會在鏈上執行交易。每一筆區塊鏈交易,包括您的交換,都包含發送方地址、要執行的動作、提供的礦工費以及加密簽名。
- 您的交易進入公開的內存池,這是已提交但未確認交易的等待區域,網絡上的每個節點,包括自動化機器人,都能看到它。
- 一個搶跑機器人會在幾毫秒內偵測到您的交易,讀取代幣數量和您的目標幣價,並根據資金池大小和您的滑點容忍度,計算該交易是否有利可圖以供利用。
- 該機器人提交自己的相同代幣購買交易,並提供更高的礦工費優先級,從而搶在驗證者的隊列前排。
- 該機器人的交易首先執行,推高幣價。接著您的交易以較差的價格執行,而該機器人隨即賣出以獲利。
內存池:您的待處理交易為何可見
內存池 (mempool) 是一個公共等待區,已提交但未經確認的區塊鏈交易在被驗證者選擇並納入區塊之前,會先存放於此。您可以將其想像成一個透明的候車室,每位顧客的訂單都寫在房間內每個人都能看見的白板上,這也包括任何想要插隊的人。
您的待處理交易的每個細節對任何節點營運商來說都是可讀的:包括您正在兌換哪些代幣、金額多少、您正在調用哪個合約,以及您支付了多少礦工費。內存池搶先交易指的正是在這些待處理交易確認之前,透過掃描這些交易來識別並利用它們的行為。以太坊和其他 EVM 相容鏈在此方面有最多的記錄案例,儘管一些替代鏈和私有內存池設計限制了這種風險暴露。
機器人如何插隊:礦工費優先費
驗證者,也就是在以太坊權益質押(proof-of-stake)網路上產生新區塊的節點,會根據汽油優先費(gas priority fee)對待處理的交易進行排序:最高的小費(tip)優先處理。根據以太坊的 EIP-1559 費用結構,每筆交易支付一筆基礎費用(這筆費用會被銷毀,不會支付給驗證者),以及一筆獨立的汽油優先費,這是驗證者實際收到的交易小費,並決定了他們的排序偏好。
一個搶跑機器人會偵測您待處理的交易,計算預期利潤減去 Gas 成本,如果該交易值得鎖定,則會自動提交一筆競爭交易,其 Gas 優先費用略高於您的費用。這個過程稱為優先 Gas 拍賣 (PGA)。該機器人並未違反任何協議規則。它只是在公開費用市場中以更高的出價勝過您。
誰在運行這些機器人?
搶先交易背後的代理人並非盯著螢幕的人類交易者,而是被稱為搜尋者機器人的自動化 MEV 機器人,它們全天候持續掃描內存池。加密貨幣搶先交易機器人透過 WebSocket 或 RPC 連接直接連結到以太坊節點,以串流即時內存池數據。從偵測到易受攻擊的待處理交易到提交競爭交易,整個循環僅需數毫秒。這些機器人由開發者和交易公司經營,交易所和區塊鏈協議並不運行它們,也不對其行為負責。
當一個機器人搶跑您的交易時,它會比您先執行,並將價格推向您原本交易的方向。您為支付的相同 ETH 收到較少的代幣,或為相同的代幣數量支付更多的 ETH。交易介面報價給您的價格與您實際收到的價格之間的差距,就是您的搶跑損失。
加密貨幣中的搶先交易類型
搶跑在 DeFi 中有三種主要形式,每種都以不同的方式針對您的待處理交易。
什麼是三明治攻擊?
三明治攻擊是 DeFi 中最常見的前置交易形式。機器人會在您待處理的兌換之前立即下一個訂單,並在其後立即下另一個訂單。您的交易被夾在兩個機器人交易之間,就像兩片麵包中間的餡料。機器人會從您的交易造成的價格變動中獲利。
在像 Uniswap 這樣的自動化做市商 (AMM) 驅動的去中心化交易所 (DEX) 上,交易是針對流動性池進行的,這些流動性池是流動性提供者存入的兩種代幣儲備金,而非直接與其他買賣方進行交易。自動化做市商 (AMM) 根據池中資產的比例來定價代幣:你從一個固定池中購買的越多,每單位的價格就越高。機器人會利用這種可預測的價格影響。
以下是三明治攻擊的詳細步驟:
- 您在 Uniswap 上提交了一個 Token X 的大型交換,該交易進入了內存池,並附有標準的 Gas 優先費用。
- 機器人提交了一個 Token X 的買入訂單,並附有更高的 Gas 優先費用,該訂單的執行時間早於您的交易,並通過 AMM 價格影響將 Token X 的價格推高。
- 您的交換以現在更高的價格執行,您收到的代幣比介面報價的要少。
- 機器人立即出售其買入的 Token X,以抬高的價格從中獲取差價。
夾層攻擊(Sandwich attack)是搶先交易(front running)的一種特定類型,並非獨立的概念。搶先交易是一個廣泛的類別。夾層攻擊是最常見的形式,因其將您的交易夾在兩個機器人交易(bot transactions)之間而得名。
位移式搶先交易
置換攻擊(Displacement attack)是搶先交易的一種較簡單形式:機器人提交一個競爭交易,奪取您在區塊中的倉位,從而導致您的交易延遲或完全被置換,而不是從價格影響中獲利。這種形式在常規的 DEX 兌換中較少見,但在 NFT 鑄造競賽和套利下單場景中頻繁出現,因為在這些場景中,成為區塊中的第一筆交易就是其核心價值所在。
加密貨幣中的後行交易(Back Running)是什麼?
後續交易是搶跑的反向操作:與其搶在你交易前面,一個機器人會在大型交易執行後立即進入,從隨之而來的價格重新平衡中獲利。一旦大型交換(swap)執行並改變了自動做市商(AMM)資金池的比例,價格會暫時偏離其他交易場所的價格。一個後續交易機器人會抓住這個重新平衡的機會。與搶跑不同,後續交易不會改變你的成交價格,因為在機器人行動之前,你的交易已經結算。它對個別交易者的傷害比三明治攻擊(sandwich attacks)小,但它仍然是一種提取 MEV 的形式,從你交易產生的相同鏈上活動中獲取價值。
加密貨幣搶先交易的真實範例
一名交易者在 Uniswap 上提交了一筆 5 ETH(約 15,000 美元)換取 TOKEN_X 的交易。該交易以標準的 gas 優先費進入公開的內存池。
機器人的運作方式: 搶先交易機器人在數毫秒內偵測到待處理的兌換。它會提交一筆以 2 ETH 購買 TOKEN_X 的交易,並設定約高出 20% 的 Gas 優先費用,以確保其交易優先執行。
結果: 由於 AMM 價格影響,機器人的買入使 TOKEN_X 價格上漲約 0.4%。隨後交易者的 5 ETH 兌換以調升後的價格執行,收到的代幣比介面報價減少約 2%。機器人立即賣出其 TOKEN_X 倉位,在扣除燃料費(gas costs)後提取約 80 至 150 美元的利潤。
交易者的損失: 在 15,000 美元的兌換中,少收到 2% 的代幣代表被提取了大約 300 美元的價值。機器人的獲利即為交易者的損失,這是從同一筆交易中進行的零和提取。
這種情況在以太坊上發生了數十萬次。EigenPhi 的三明治攻擊追蹤器) 可讓您搜尋任何交易雜湊,以檢查您自己的交易是否成為目標。
搶跑與 MEV:大局觀
最大可提取價值 (MEV) 是指除了標準區塊獎勵和燃料費(Gas fees)之外,透過在區塊內對交易進行重新排序、插入或審查,可以從區塊鏈用戶中提取的總價值。這個詞最初在以太坊工作量證明(PoW)時代被稱為「礦工可提取價值」。在 2022 年 9 月以太坊合併並轉向權益質押(PoS)後,名稱更新為「最大可提取價值」,以反映現在是由驗證者而非礦工來排序交易。這兩個術語都出現在較舊的文獻中;最大可提取價值是目前的標準。如需更深入的技術參考,請參閱 以太坊 MEV 文件.)
搶跑交易是加密貨幣中 MEV 提取最有利可圖的形式之一,佔據了以太坊上捕獲的總 MEV 的顯著比例。更廣泛的 MEV 分類法包含三種主要策略:
- 三明治攻擊與位移搶先交易 (Displacement front running): 針對特定的待處理用戶交易進行獲利,其收益以犧牲交易者為代價。
- 套利下單: 透過在不同流動性池或交易場所同時低買高賣,利用價格差異獲利;通常被視為市場中性,因為它能提高整個生態系統的價格一致性,而非從特定用戶身上榨取價值。
- 強制平倉搶先交易: 機器人競相觸發 Aave 或 Compound 等借貸協議上抵押不足貸款的強制平倉,藉由領先行動來賺取強制平倉體驗金。
與搶先交易不同,套利下單並非針對您的特定交易。它從無論您的活動如何都存在的價格低效率中獲益。強制平倉搶先交易將 MEV 的範圍擴展到了 DEX 交換之外,展示了驗證者和搜尋者機器人如何與更廣泛的鏈上活動進行互動。
搶先交易如何影響您的盈虧
盈虧 (PNL) 在加密貨幣交易中,是指扣除所有費用後,你購買資產所支付的金額與你出售或交換資產時所收到的金額之間的淨差額。搶先交易會損害它所涉及的每一筆交易的盈虧,且其表現形式在你的交易歷史記錄中僅顯示為一般的滑點。
當機器人在您的兌換中搶先交易時,價格會在您的交易執行前發生不利變動。您所看到的報價與最終收到的執行價格之間的差距,會直接減少該筆交易的已實現盈虧。在一筆 10,000 美元的兌換中,0.3% 的搶先交易影響代表每筆交易被提取了 30 美元的價值。若每週進行三筆交易,每年累計將損失約 4,680 美元,這筆錢從您的回報中悄悄流失,且僅被歸因為「市場波動」。
根據 EigenPhi 的三明治攻擊追蹤器,),截至 2024 年初,在以太坊上提取的累計三明治攻擊 MEV 已超過 10 億美元,涉及數十萬次獨立攻擊。對於活躍的 DeFi 交易者來說,這並非理論上的風險,而是嵌入在基於 AMM 的 DEX 上的每筆大型交換(Swap)中的經常性成本。在引用之前,請直接從來源驗證當前數據,因為這些數據會持續更新。
檢查您的交易是否遭搶跑,請依照以下步驟:
- 在您的錢包歷史記錄或 Etherscan 上找到您的交易雜湊。
- 在 Etherscan 區塊總管中找到包含您交易的區塊。
- 在相同的代幣對上,尋找出現在您交換操作之前的機器人買入交易,以及出現在之後的機器人賣出交易。
- 直接在 EigenPhi 的三明治攻擊追蹤器,) 上搜尋您的交易雜湊,該追蹤器會自動標記已確認的三明治攻擊。
加密貨幣 vs. 股票 vs. 中心化交易所中的搶先交易
搶先交易並非僅限於加密貨幣,但其機制、法律地位以及保障選項在三種情境下存在顯著差異。
| DEX / 鏈上 (加密貨幣) | CEX (中心化交易所) | TradFi (股票/證券) | |
|---|---|---|---|
| 機制 | 機器人監控公開的內存池;提交較高 Gas 費的交易,以在待處理的交換 (Swap) 之前執行 | 交易所內部人員理論上可以在執行前看到大型待處理訂單 | 經紀人在執行大型客戶訂單前,先執行自己的交易 |
| 所用資訊 | 公開內存池數據,對每個人均等可見 | 內部訂單流,僅對交易所營運者可見 | 重大的非公開客戶訂單資訊 |
| 執行者 | 由開發者和交易公司營運的自動化 MEV 機器人 | 若發生,則為交易所內部人員 | 經紀人和金融專業人士 |
| 法律地位 | 法律灰色地帶;目前在大多數司法管轄區不被禁止;監管審查正在演變 | 根據交易所服務條款是被禁止的;在大多數司法管轄區受監管反對 | 根據 SEC 第 10b-5 條規則、FINRA 法規和經紀人受託責任,明確屬於非法行為 |
| 如何保護 | 滑點容差、私有 RPC 端點、具備 MEV 保護的 DEX 聚合器 | 使用信譽良好的受監管交易所;監管審查提供結構性保護 | SEC/FINRA 執法;客戶無法自我保護 |
結構上的差異在於:鏈上搶跑會利用所有參與者都能平等看到的公開資訊。TradFi 和中心化交易所 (CEX) 的搶跑都涉及利用應該保密的資訊,這也是它們被法律禁止的原因。
加密貨幣搶先交易是否違法?
加密貨幣領域的搶跑行為目前在大多數司法管轄區都處於法律灰色地帶。它不像 TradFi 搶跑那樣被明確禁止。
原因歸結於資訊。TradFi 的搶先交易(front running)違反了美國證券交易委員會(SEC)的規則 10b-5,因為經紀人利用了重大的非公開資訊:客戶的訂單是機密的,搶先客戶的交易構成了對信託責任的違反,是一種證券詐欺。鏈上(On-chain)的搶先交易(front running)運作方式不同。內存池(mempool)是刻意公開的。任何運行以太坊節點的人都可以實時查看每一筆待處理的交易。使用的資訊是依設計公開的,沒有違反信託責任。運行執行搶先交易的 MEV 機器人,在大多數司法管轄區目前未被起訴,也不違反以太坊協議規則。
倫理上的爭論更具爭議。一種觀點認為,MEV 提取是透明、無需許可的區塊鏈的自然結果:規則對每個人都是一樣的,而讀取公開數據並據此採取行動的機器人只是在遵守這些規則。某些 MEV,例如套利下單,可以透過讓各個流動性池之間的價格保持一致,從而為生態系統帶來好處。相反的觀點認為,尤其是三明治攻擊,對散戶交易者具有掠奪性,對每一筆大額兌換徵收無形的稅,而不成比例地影響那些不了解內存池是可見的或存在保護工具的技術上較不成熟的參與者。
監管框架正在積極演變。SEC(美國證券交易委員會)與 CFTC(美國商品期貨交易委員會)在近年來都擴大了對加密貨幣市場的監督,而隨著監督機制的成熟,基於 MEV(最大可提取價值)的前期交易(Front running)之法律地位可能會發生變化。本文僅供教育目的,不構成法律建議。在根據此分析做出決定之前,請諮詢合格的法律專業人士。
如何保護自己免受加密貨幣搶先交易的影響
- 將您在 DEX 介面(如 Uniswap)上的滑點容差調低至 0.5% 或更低。
- 切換至私用 RPC 節點(例如 Flashbots Protect 或 MEV Blocker),以從公開內存池中隱藏您的交易。
- 使用具備內建 MEV 保護功能的 DEX 聚合器,例如 CoW Swap 或 1inch Fusion 模式。
- 將大額交易拆分為較小的交易,以降低每筆交易的價格影響,並使單筆交易對攻擊目標而言利潤降低。
- 避免在 Gas 擁堵的高峰期進行交易,此時機器人最為活躍,且 Gas 優先費用競爭最為激烈。
調整您的滑點容差
滑點容忍度是您現在就可以直接在您的 DEX 介面中設定的最即時保護機制。滑點描述了報價與執行價格之間的差異。搶跑交易透過在您的交易執行前推高價格,擴大了這個差距。
滑點容差設定告知 DEX 介面,在交易自動撤回之前您能接受的價格偏差程度。可降低您遭受搶先交易風險的設定如下:
- 對於大多數 Uniswap 交易:將滑點容差設置為 0.5% 或更低。
- 對於一般交易規模的流動性強、交易量大的交易對:0.1% 至 0.3% 能提供更強的保護,防止三明治攻擊。
- 對於低滑點會導致頻繁交易撤回的高波動性代幣:請改用私人 RPC 端點,而不是將您的容差提高到 1% 以上。
在 Uniswap 上進行調整:點擊交易介面中的設定齒輪圖示,然後選擇「滑點容忍度」並輸入您偏好的百分比。
較低的滑點容忍度可顯著降低您遭受三明治攻擊的風險。如果機器人的前置買入將價格推升至您的門檻之上,您的交易將自動撤銷,使得該攻擊對機器人不賺錢。然而,在您的容忍度高於資金池規模的最低獲利門檻的交易中,機器人仍然可以獲利,因此滑點容忍度是您的第一道防線,而非完整的解決方案。
使用私人 RPC 端點
私用 RPC 節點是針對大額兌換最強大的保護措施,因為它能將您的交易完全從公開內存池中移除。
RPC(遠端程序呼叫)是您的加密貨幣錢包用來與區塊鏈溝通的連接方式。預設情況下,大多數錢包會通過公共 RPC 端點連接,該端點會將您的交易廣播到公共內存池,在您提交的瞬間就讓搶跑機器人能夠看到。私人 RPC 端點通過受保護的通道將您的交易直接路由到驗證者。交易在被包含於區塊中之前,絕不會出現在公共內存池,因此掃描內存池的機器人也無法看到它。
Flashbots Protect 是散戶交易者最廣泛使用的私人 RPC 選項。Flashbots 是一個研究與開發組織,它建立了基礎設施以減少以太坊上有害的 MEV 提取。他們的消費者產品會將您的交易透過私人頻道路由,因此搶跑機器人無法看到它,也無法利用它。將 Flashbots Protect 新增至 MetaMask:前往設定,然後網路,再新增網路,將 RPC URL 設定為 https://rpc.flashbots.net,並將 Chain ID 設定為 1 以用於以太坊主網。
MEV Blocker 由 CoW Protocol 提供,提供一鍵設置選項。它將您的交易發送給一個由建構者組成的網絡,他們競價以提供您最佳的執行價格。這兩種工具都會將您的交易透過第三方供應商路由,這是一個值得為大型交易考慮的信任權衡。對於例行交易,對於大多數交易者而言,這種保護的價值高於這種權衡。
DEX 具有 MEV 保護功能的聚合器
有些 DEX 聚合器包含內建的搶跑保護,但並非所有。設計很重要。
CoW Swap(基於 CoW 協議構建)採用批次拍賣機制,將多個訂單分組並同時結算。由於內存池中不存在可供機器人識別和鎖定的單一待處理交易,因此三明治攻擊模式並不適用。1inch Fusion 模式則透過由解算者(solvers)組成的網絡來路由訂單,這些解算者競爭以最佳價格執行,並透過私有訂單路由來減少內存池曝露。
標準的 DEX 聚合器僅是透過 AMM 來路由您的交易,並不提供全面的三明治攻擊保護。如果聚合器仍以標準方式將您的交易提交至公共內存池 (mempool),機器人仍然可以看見它。在假設您已獲得保護之前,請檢查聚合器的 MEV 保護是否屬於結構性保護,例如批次拍賣或私有路由。
加密貨幣搶跑交易:MEV 機器人與防護
Learn how front running works in crypto, sandwich attacks on DEX swaps, and proven protection methods like private RPCs and slippage tolerance.
三明治攻擊是超前交易的一種特定類型,而非獨立概念。超前交易是一個廣泛的類別,涵蓋了任何機器人在您的交易之前插入其交易,以從價格波動中獲利的策略。三明治攻擊是最常見的形式,它使用兩次機器人交易,分別在您的交易之前和之後,從而夾擊您的兌換交易並提取價差。
超前交易在加密貨幣領域合法嗎?
在大多數司法管轄區,加密貨幣中的搶先交易目前處於法律灰色地帶。它並未像 SEC 第 10b-5 條規則中對經紀商搶先交易那樣被明確禁止,因為內存池是每個人都能獲取的公開資訊,而非機密的客戶資料。監管框架仍在發展中,這種情況可能會有所改變。本文不構成法律建議。
我該如何知道我的交易是否被搶先交易了?
在 Etherscan 上搜尋您的交易雜湊 (transaction hash) 並檢查其所在的區塊。如果同一個代幣交易對中,機器人的買入交易緊接在您的兌換交易之前,而機器人的賣出交易緊接在您的交易之後,您很可能遭遇了三明治攻擊 (sandwich attacked)。您也可以在 EigenPhi 的三明治追蹤器) 上搜尋您的交易雜湊,進行自動化檢測。
我應該在 Uniswap 上設置多少滑點容差 (slippage tolerance) 以避免領先交易 (front running)?
對於大多數 Uniswap 交易,請在介面設定中將滑點容差設定為 0.5% 或更低。對於標準交易規模的流動性交易對,0.1% 至 0.3% 可提供更強的保護。對於低滑點會導致重複交易失敗(revert)的高波動性代幣,請切換到 Flashbots Protect 等私有 RPC 端點,而非將滑點容差提高至 1% 以上。
什麼是 Flashbots,它如何防止 MEV?
Flashbots 是一個研究與開發組織,建構了基礎設施以減少以太坊上常見的 MEV 提取。他們開發的產品 Flashbots Protect,讓您可以透過一個私有的 RPC 端點提交交易,完全繞過公開的內存池。搶跑機器人 (Front-running bots) 在您的交易被納入區塊之前都無法看到它,這消除了它們進行搶跑的機會。
私有的 RPC 端點是什麼?
RPC(遠端程序呼叫)端點是您的加密貨幣錢包用來與區塊鏈通訊的連線。預設情況下,錢包會將交易廣播到公開的內存池,搶跑機器人可以在其中看到它們。私人 RPC 端點透過受保護的通道將您的交易直接路由到驗證者,直到交易在區塊中確認之前,都會將其隱藏免受機器人窺探。
中心化交易所會發生搶跑嗎?
外部機器人無法在中心化交易所執行內存池風格的前置交易,因為 CEX 訂單簿是私有的,且待處理訂單不會公開顯示。然而,交易所內部人士理論上可以看到在執行前的大額訂單,並搶在他們之前進行交易。這種內幕交易的前置行為在大多數司法管轄區根據交易所服務條款和金融法規是被禁止的。
什麼是在加密貨幣中的跟單交易?
尾隨交易(Back running)是搶先交易(Front running)的反向操作:機器人在大型交易執行後立即提交交易,以從隨後的價格重新平衡中獲利。與夾心攻擊(Sandwich attack)不同,尾隨交易不會改變您的執行價格,因為您的交易已經結算。它對個別交易者的危害較小,但仍屬於 MEV 提取的一種形式。