出品:DODO Research
編輯:Lisa
作者:xiaoyu
目錄
- 一覽無遺- DEX MEV 的發展全貌
- 洞察秋毫— 從區塊瀏覽器洞穿MEV 發生
- Front-run:在你買進前搶先買!
- Victim:你買到了珍「貴」 的籌碼
- Back-run:他們拿著錢跑了😭
- 結算畫面
- 逐一剖析—— 各個DEX MEV 何如
1. Uniswap - Typical MEV bots' activities
2. DODO - Where Does High Volume Come From?
3. PancakeSwap - 'Uniswap' of BNB Chain
4. Curve - Haven of arbitrage for the Clever
- 柳暗花明— DEX MEV 的解決方案
1. 私人PRC 節點
2. 機制創新- 訂單打包拍賣
3. 機制創新—— 外包訂單
4. 滑點優化
5. 透明化
- 寫在最後
*特別感謝EigenPhi 團隊提供的高品質MEV 數據,同時感謝EigenPhi 研究員Yixin 和Sophie 參與文章討論,這些數據和建議對我們的分析至關重要。
黑森林中總藏匿著誘人的財富。 MEV(Maximal Extractable Value,最大可提取價值)以先到先得的方式從用戶手中提取價值。從優先天然氣拍賣(PGA)引起的區塊擁塞問題,到驗證者和區塊建構者之間可能存在漏洞,引發了對以太坊生態系統內公共問題的擔憂。
AMM 是MEV 提取過程中最直接的一環,由於內存池無需許可的可見性,DEX 用戶將不可避免地面臨遭受MEV 機器人攻擊的風險。同時,套利機器人在提高AMM、市場的價格發現效率方面發揮著至關重要的作用。
在這份報告中,我們從DEX 整體常見的MEV 的分類及其市場規模出發,對DEX MEV 發展階段建立大體的認識。放大鏡拉近,從區塊瀏覽器對MEV 案例剖析。在比較與理解不同DEX 中MEV 的特性中,探討MEV 的解決方案與發展方向。
一覽無遺- DEX MEV 的發展全貌
DEX MEV 的主要分為三種,三明治攻擊(Sandwich)、套利(Arbitrage)和清算(Liquidation)。根據EigenPhi 的數據,過去30 天,以太坊上套利MEV 發生$1.64M,三明治攻擊MEV 發生$1.74M,清算MEV 發生$21.01K。可見,套利和三明治是DEX MEV 利潤來源的主要形式,佔99.38%,也是本報告討論的重點。
清算(Liquidation)三明治攻擊(Sandwich)套利(Arbitrage)在過去30 天的表現,來源:EigenPhi
在展開之前,先簡單介紹一下三種MEV 類型攻擊的原理:
- 三明治攻擊:攻擊者透過監視未確認的交易,透過賄賂礦工,在目標交易之前和之後插入自己的交易,從而影響目標交易的價格並從中獲利。
- 套利:在DEX 環境中,套利通常涉及利用不同交易平台之間的價格差異。由於DEX 的去中心化特性,價格更新可能會落後。套利者可以透過在一個平台上購買低價資產,並在另一個平台上以高價出售相同的資產來實現利潤。
- 清算:當借款人的抵押品價值跌至預定門檻以下時,會觸發清算事件。此時,協議允許任何人對抵押品進行清算,立即償還債權人。當清算線被觸發時,清算機器人會在其後插入一筆清算訂單以獲得費用。
從數據可以看出,清算MEV 不是經常發生的,大額的清算攻擊通常發生在極端行情,從清算MEV 的攻擊原理出發,這並不難理解。例如,由於BTC 在10 月23 日和24 日出現10 點的拉升,清算MEV 的交易量在當日高達$561K,明顯高於其他時間。
清算MEV 的規模和數量,來源:EigenPhi
三明治攻擊絕大部分都發生在頭部DEX,Uniswap 中,佔約3/4 的市場。緊隨其後的來自聚合器。 1inch v5: Aggregation 和0x: Exchange 平分秋色,共佔MEV 總量的10%。 Metamask: Swap Router 佔4.8%。
三明治攻擊在各個路由中分佈,來源:EigenPhi
82.18% 的單筆獲利金額在$0-$10 之間,6.84% 在單筆獲利$10-$100,9.28% 單筆虧損$10-$100。
MEV 利潤分佈,來源:EigenPhi
洞察秋毫— 從區塊瀏覽器洞穿MEV 發生
為了理解MEV 的發生過程,弄清楚MEV 機器人的收益計算,從EigenPhi 的網站上,我們選擇了近期發生的一筆三明治攻擊作為例子,詳解MEV 攻擊的全過程。這是一場發生在2023-10-23 21:00:35 的三明治攻擊。攻擊者花了$634.93,收入$6,167.48,獲利$5,532.55。
MEV 攻擊解讀範例,來源:EigenPhi
整個三明治攻擊過程分為三個步驟:Front-run,Victim,Back-run。這三筆事務緊密排列,依序打包在區塊18413129 中。為了更好地闡述每個步驟,我們使用了Etherscan 中的Tag 功能對地址進行了標記,受害者txn 的from 地址標記為“受害者”,front-run 和back-run 中的交互地址標記為“攻擊者”,其餘標籤來自網路。
Front-run:在你買進前搶先買!
Front-run 中,攻擊者首先向攻擊者2 轉帳304.03 個WETH,透過Lido Curve 池子中以極低的滑點換出304.027 個stETH。接著將stETH 在Uniswap V2: stETH 2 池子中換成259.59 個WETH,引發流動性的偏移。 (Lido 池子中有5.6 萬個ETH 與stETH)
Front-run Transaction,來源:Etherscan
Victim:你買到了珍「貴」 的籌碼
受害者在隨後的一筆事務中,透過同一個的Uniswap v2 池子,將20.37 個stETH 換成14.81 個WETH。由於攻擊者在Front-run 中提前用大量stETH 交換為WETH,在AMM 曲線中造成偏移,進而拉高受害者WETH/stETH 的均價。受害者遭遇MEV 攻擊。
Victim Transaction,來源:Etherscan
Back-run:他們拿著錢跑了😭
BackRun:隨後,攻擊者2 透過此池子將259.59 的WETH 換回stETH,得到307.76 個stETH(注意:較先前多出3.76 個)。最後攻擊者2 將stETH 利用Lido Curve 池子以極低的滑點換出WETH,並轉回攻擊者。完成獲利。
Back-run Transaction,來源:Etherscan
結算畫面
費用為兩筆Gas 加上0.3667 ETH 給礦工作為小費,收入為3.76 個WETH,獲利$5,532.55。從Curve 看到受害者的20.3691 個stETH 在UI 上的報價為20.359 WETH。而受害者僅收到14.81 ETH,這意味著受害者遭受了高達37.5% 的滑點。
Curve 中20.3691 stETH 的報價,資料來源:Curve UI
註:這裡的攻擊者是指MEV Bot,真正的獲利方是與該Bot 的交互的地址,即From 中的0xFac…da00。
Eigentx 用Token Flow 的方式將上述過程展示了出來,在理解之後方便複盤和可視化,更加直觀。下圖依序是Front-run、 Victim、Back-run 的Token Flow,數字表示發生的順序,供讀者整理回憶。
範例MEV 攻擊的Token Flow,來源:Eigentx
從這筆交易中,我們可以總結MEV 獲利的必要條件:
- 首先需要大額Swap 提前引發AMM 曲線中流動性的偏移
- 將交易排序,將受害者Swap 夾在Frontrun 與Back run 中間
- 同時保證受害者的Swap 結果不超出滑點限制(否則交易失敗)
在第一步驟中,攻擊者通常利用閃電貸(Flash Loan) 來獲得大額的初始資金。閃電貸是區塊鏈中獨有的貸款方式,只要能在同一事務中完成還款,就能在0 本金的情況下貸出大量資金。第二步需要攻擊者俱有捆綁事務的能力,並在短時間內廣播給全球的節點,同時用ETH 對礦工賄賂,優先將此交易打包在區塊中。 MEV 攻擊者同時需要高精確度的計算,確保受害者的Swap 滑點不會超過約定。也要合理計算賄賂對礦工賄賂的金額,確保利潤最大化的同時,避免被其他MEV 攻擊者利用Front run,造成虧損。
逐一剖析—— 各個DEX MEV 何如
這裡對ETH 鏈上交易量排名靠前的DEX 進行分析:DODO、Uniswap、Curve、Pancakeswap。 TVL、交易量、費率、滑點是重要的主要指標。結合EigenPhi 數據,我們首先從Uniswap,市佔率長期佔據50% 的DEX,觀察下DEX MEV 的「普世規律」。 Uniswap 豐富的交易量為MEV 的觀察帶來了海量樣本,同時Uniswap 也伴隨眾多Forks,適合作為基準參考。繼而,在與其他DEX MEV 的特徵的比較中,尋找差異的原因,對DEX MEV 發生進一步認識。
1.Uniswap - Typical MEV Bots' Activities
Uniswap 作為ETH 鏈上市場份額接近一半的頭部DEX,具有最多和最大的MEV 交易筆數和交易量,我們可以從Uniswap 上MEV 的表現作為基準,得出一些普適性結論:
- 套利機器人、三明治機器人與LP 沒有利益衝突;
- 套利和三明治攻擊的發生與市場價格波動的強度有關;
- 交易量大的礦池更容易被三明治機器人從中提取價值;
- 涉及2 個場所的空間套利是最常見的模式,最多涉及100 多個場所;
- 獲利能力和三明治機器人的活躍程度呈現正相關。
1.1 套利機器人、三明治機器人與LP 沒有利益衝突
我們先觀察MEV 機器人與LP 的收入規模。 EigenPhi 在《MEV's Impact on Uniswap》報告中,分別統計了2022 年1 月1 日至10 月31 日期間,V3 LP 的收入與套利、三明治、JIT 三種機器人的收入,如下圖所示。從收入規模來看,三種MEV 機器人的收入超過了LP 收入的25%,金額達到54,000 萬美元。這似乎在與LP 爭奪市場,試圖從交易者的手中奪取本應屬於LP 的利潤。
套利、JIT和三明治攻擊的利潤以及LP 交易手續費的收入。來源:EigenPhi
然而,根據Messari 在Dune 中呈現的相關係數來看,套利和三明治機器人與LP 的收入沒有負相關關係,這意味著套利和三明治MEV 的發生與LP 沒有利益衝突。這可能是因為三明治機器人的攻擊並非只涉及用戶交易的幣對的兩者,而是會路由到頭部流動性池對代幣兌換,如將穩定幣USDC、DAI 兌換成幣對中需要的ETH 。在某種程度上,套利和三明治攻擊會在用戶的普通交易之外帶來額外的交易量,這不會對LP 的收入產生負面影響,他們的收入更有可能隨著整個市場而波動。
套利、JIT和三明治攻擊的利潤與LP 交易手續費收入的相關係數矩陣,來源:Dune, @messari
1.2 套利和三明治攻擊的發生與市場價格波動的強度有關
為了探討套利和三明治機器人收入的影響因素,我們探討了其收入市場價格波動的關係。 EigenPhi 報告中的數據顯示了ETH 價格變化與套利和三明治活動的數量關係,如下圖所示。我們可以明顯觀察到隨著ETH 價格波動變大,套利和三明治共計的次數也隨之增加,呈現明顯的正相關關係。
ETH 的7 天價格變化百分比(波動強度)與套利和三明治活動的數量關係,來源:EigenPhi
這種現象的發生有幾種可能的原因:
- 市場價格的波動會加劇價格不一致性: ETH 價格的顯著波動可能會在不同交易所之間產生短暫的價格不一致。套利機器人利用這些不一致來從中獲利,因此在價格波動較大時套利活動增加。
- 大的價格波動可能對應市場低的流動性:價格波動通常與市場流動性有關。在流動性較低的市場中,大訂單會對市場價格產生較大影響,為套利和三明治交易提供了機會。
- 價格波動會激發交易的活躍程度:當 ETH價格波動加劇時,交易者對於潛在利潤的追求會增加,從而增加了市場活動,這為三明治交易創造了條件。
1.3 交易量大的礦池更容易被三明治機器人從中提取價值
為了觀察哪些流動性池更有可能參與MEV 活動,EigenPhi 在報告中合併了Uniswap V3 礦池的元資料和按礦池位址分組的MEV 活性參數。結果顯示:在交易量排名前十的流動性池中,三明治機器人能夠從中獲得超過80% 的利潤。然而,這些流動性池中只發生了20% 的三明治交易活動。
這意味著對於三明治機器人來說,具有大交易量的流動性池更容易從中提取價值。因為交易量大的流動性池中涉及的資金和交易更多,深度更佳,為三明治攻擊中有限的可利用的滑點帶來了豐厚的利潤空間。不過,需要提醒的是,這並不代表交易量較小的流動性池就不容易受到三明治攻擊。
1.4 其他一些有趣的觀測結論
從EigenPhi 報告呈現的數據中,我們也可以得出其他有趣的結論來幫助理解DEX MEV 的發生。例如,從排名前10 的套利的分佈組合中可以看出,涉及一個Uniswap V3 池和另一個場所的空間套利是最常見的模式。隨後的兩種常見模式是涉及一個或兩個Uniswap V3 池的三角套利。有些單筆套利交易也可能涉及100 多個場所。
套利模式的不同場所數目的分佈,來源:EigenPhi
同時,三明治攻擊的總利潤和總活動數之間的關係表明,盈利能力和活躍程度呈現正相關,大多數盈利機器人有能力成功提交交易1000 次以上。 (EigenPhi 的報告中筆誤為'100')。這意味著越'勤勞'的三明治機器人收入越多。
三明治Bot 攻擊頻率與利潤的點圖,來源:EigenPhi
2.DODO - Where Does High Volume Come From?
DODO 專注於穩定幣交易,主動做市的策略為穩定幣池帶來了極佳的深度。在市值僅4,200 萬美元,但它在DEX 交易量中一直位居前三。 DODO 上MEV 表現為兩個特點:
MEV 為DODO 貢獻了高額的交易量,約佔總交易量的60%;
DODO 上的MEV 大部分來自1inch 路由。
2.1 MEV 為DODO 貢獻了高額的交易量,約佔總交易量的60%
與之相比,Uniswap 的市值為410 億美元。也就是說,DODO 在市值為Uniswap 1% 的情況下,實現了Uniswap 8.6% 的交易量。究其原因,是利用DODO 流動性的MEV 作祟。
頭部DEX 過去一年與一週的交易量分佈,來源:EigenPhi
Dune 的數據顯示,DODO 在ETH 鏈的主要交易對是穩定幣。從普適性結論我們能了解到,交易量大的礦池更容易被三明治機器人從中提取價值。這與DODO 的數據一致,穩定幣池成了DODO 中MEV 攻擊活動發生的主要場所。根據EigenPhi 在《DODO: Where Does High Volume Come From?》報告中的研究:DODO 上受到三明治攻擊的交易總數達到1,322 筆,USDC-USDT 交易占55.99 %,DAI-USDT 交易佔44.01%。
三明治攻擊中影響的交易對份額分佈餅圖,來源:EigenPhi
從這兩個穩定幣對的交易量分佈來看,大約60% 的交易量來自三明治交易。因為三明治攻擊需要大額的交易引發流動性偏移,所以儘管Victim Volume 只佔2% 左右的份額,但為此所做出努力的Front-run 和Back-run 為USDC-USDT 與DAI-USDT 貢獻了60% 的交易量。
在USDC-USDT 與DAI-USDT 交易對中交易量的分佈,資料來源:EigenPhi
2.2 DODO 上的MEV 大部分來自1inch 路由
DODO 的前端交易通常有滑點的保護,超過滑點的交易無法成交,穩定幣對的滑點預設為0.01%。可為什麼還會發生如此高額的MEV 交易量呢?
根據Eigenfi 的數據,可以發現:受害txn 數量大於20 的位址的交易中,一半以上與1inch 聚合器互動路由交易,如下圖所示。 1inch 作為聚合器,並非直接提供流動性為使用者成交,而是把訂單路由到其他DEX 中的流動性解決。其Fusion 模式提供了三種選項:
- Fast 模式:適合希望訂單立即執行的用戶,意味著較差的價格;
- Fair 模式:用戶短暫等待以換取更具吸引力的價格;
- Auction 模式:用戶將訂單拍賣,為最優的價格等待最多十分鐘。
被攻擊超過20 次的位址互動的路由分佈,來源:EigenPhi
簡單來說,1 inch 的Fusion 模式可能會以大額的滑點為代價實現快速成交,減緩用戶交易的等待時間。儘管DODO 的前端已經嚴格對用用戶的滑點做了保護,對穩定幣默認使用0.01% 的滑點容忍,對BTC、ETH 等主流幣默認使用0.5% 的滑點容忍。但對於1 inch 路由過來並未對使用者進行滑點保護,這是1inch 聚合器交易處在危險之中的根本原因。
在傳統的滑點設定中,絕大部分DEX 都採取了固定的滑點值,例如Uniswap 提供的0.3%。這種靜態設定存在一定的局限性,交易逆轉的發生會給用戶帶來挫折感和潛在損失。另一方面,在波動性較小的時期,此設定可能過高,使交易容易受到MEV 攻擊。
DODO 前端推出的「動態滑點」利用時間序列模型預測實現最佳滑點容忍度。幫助用戶減輕交換過程中的潛在損失,同時維持高成功率。利用ARIMA 模型,一個經過驗證且穩健的時間序列預測器,動態滑點在回測中證明了98% 的準確率。
「動態滑點」示意圖:長尾資產價格與預測的邊界,來源:@DODO
3.PancakeSwap - 'Uniswap' of BNB Chain
PancakeSwap 一直是交易量僅次於Uniswap 的DEX,市佔率約佔15%。在BNB 鏈上,Pancake 是絕對的巨頭,壟斷了約90% 的市佔率。這與EigenPhi 的統計的MEV 數據一致,BNB 鏈上超過90% 的總MEV 來自涉及PancakeSwap 的活動。 PancakeSwap 上MEV 的顯著特徵是:
- Pancakeswap v3 在BNB 鏈有著顯著較少的MEV 比例;
- Pancakeswap v3 的三明治攻擊非常罕見。
BNB 鏈上不同協議的市場份額,資料來源:Dune
MEV 在BNB 鏈上收入分佈、比例以及Pancakeswap 的份額,來源:EigenPhi
3.1 Pancakeswap v3 在BNB 鏈有顯著較少的MEV 比例
Panacakeswap 在BNB 鏈的主導地位一如Uniswap 在Etherum 鏈一般,兩者的機制設計也沒有截然的差異。我們很難不自然而然地推斷Pancakeswap v3 在BNB 鏈上的表現會和Uniswap V3 在Etherum 鏈上的表現一致。
然而,根據EigenPhi 在《PancakeSwap V3's Ascendancy in the MEV Market - A Comprehensive Study》中數據,Pancakeswap v3 在BNB 鏈上,套利攻擊次數僅佔總交易的7.65%,三明治攻擊次數僅佔總交易的1.92%,相較之下,Uniswap V3 在Etherum 鏈上的MEV 交易量比例相對穩定地維持在50% 至60% 左右。這現像有兩個可能的原因解釋:
- 鏈的基本設施。在比較PancakeSwap V3 在BNB 鍊和ETH 鏈的MEV 交易比例時。發現BNB 鏈中有9.4% 的MEV 比例,在ETH 鏈上則為30.3%。這意味著ETH 鍊和BNB 鏈有不同的MEV 生態系統。
- 協議的豐富性。 PancakeSwap 是BNB 鏈上的主要協議,而在ETH 鏈上,協議更加多樣化和豐富,這提供了更多的MEV 機會。
- MEV 中間商。在Uniswap 上,三明治攻擊是MEV 的主要來源,而在PancakeSwap 上則很少見。像Flashbots 這樣的中間服務在Ethereum 上使MEV 提取過程變得更為簡單。而這樣的服務在BNB Chain上還不夠成熟。
- MEV 的基礎設施。 Ethereum 引進如MEV-Boost 和MEV-Boost Relay 這樣的機制,鼓勵更多的驗證者加入。這些設施使得驗證者的MEV 提取過程更有效率。 Ethereum 有超過820k 的驗證者,而BNB Chain 只有29 個。
- 交易量影響。從Uniswap 的普世性結論中,我們可以得知:在相同的條件下,MEV 活動的比例與大的交易量高度相關。交易量大的交易更有可能產生MEV 的機會和更大的MEV 交易量和MEV 收入。在比較兩條鏈上的每筆的交易量時,也能明顯注意到:ETH 鏈上的交易量單筆約為BNB 上的10 倍。
PancakeSwapV3 在BNB 鍊和UniswapV3 在Ethereum 的交易量大小對比,來源:Dune
3.2 Pancakeswap v3 的三明治攻擊非常罕見
EigenPhi 的報告也顯示:較於PancakeSwap V2,V3 的三明治攻擊非常罕見,其收入僅佔三明治總收入的2.32%。差異的出現可能來自於V3 的機制特徵:
- 交易費用調整: PancakeSwap V3 引入了四個不同的交易費用層(0.01%,0.05%,0.25%和1%),而V2 的單一費用水準為0.25%。流動性提供者可能會根據市場狀況和自身的風險容忍度選擇不同的費用層。這種動態變化可能導致更複雜的交易環境,使得MEV 機會不穩定,因為流動性和交易模式可能會隨時間而改變。
- 改進的智慧路由:透過添加分割路由功能和利用協定中所有可能的流動性的能力,為交易引擎帶來了整體改進。新的智慧路由器透過利用PancakeSwap V3、V2 和StableSwap 的流動性,具有多重跳躍和分割路由功能,以智慧方式找到最佳交易路線。透過優化交易路徑和利用多個流動性來源,PancakeSwap V3 可能會降低單一交易的潛在利潤性。因為交易是在多個池中進行的,這可能會使得潛在的MEV 機會更加複雜和難以利用。智慧路由還將利用做市商整合提供的流動性為交易者提供最佳交易。使用者可以選擇或停用某些流動性來源,這為使用者提供了更多的靈活性。這可以避免某些池的潛在前跑或後跑行為。
4.Curve - Haven of arbitrage for the Clever
Curve 與2020 年推出,以StableSwap 聞名,其獨特的價格曲線不同於恆定產品公式曲線,使其池在穩定幣AMM 市場中遭受的滑點較少。 Curve 有一個強大的生態系統,允許用戶以較低的費用和滑點與其他DEX 協議交換穩定幣。 Curve 主打的有:
- 穩定幣的交換:經典的流動性池有3pool,LUSD/3Crv 等;
- 穩定的掛鉤資產:例如,Curve 支持ETH 的PoS 和合成資產,stETH、frxETH 等;
- 不穩定的掛鉤資產:在曲線V2 之後,使用者可以在Curve 的Tricrypto 池中兌換BTC,ETH 和USDC。
這也讓Curve 上發生的MEV 呈現與眾不同的表現:
- 三明治攻擊和套利機器人的收入佔Curve 池收入的73%,且套利活躍;
- MEV 機器人收入80% 的利潤被20% 的機器人賺取;
- 套利機會與市場價格波動的強度有關,而三明治攻擊與市場價格波動無關。
4.1 三明治攻擊和套利機器人的收入佔Curve 池收入的73%,且套利活躍
Curve 的3Pool,也稱為Tri-Pool,為DeFi 中三種頂級穩定幣提供了大量流動性(約34 億美元)。與其他去中心化交易所(例如Uniswap 或SushiSwap)相比,這種深度流動性和Curve 的優化使3Pool 通常為USDT、USDC 和DAI 的交換提供最具資本效率的途徑,這對於套利者和交易者來說非常有利。根據EigenPhi 的數據,三明治攻擊和套利機器人的收入佔Curve 池收入的73%。比較Uniswap 中25% 的比例,Curve 上的MEV 活動可謂相當活躍。
同時,Curve 中有大量、豐富的掛鉤資產的交易對池,這些池子往往會產生巨大的套利機會。 EigenPhi 統計了套利和三明治機器人的每日收入,如下圖所示,2022 年6 月13 日stETH 脫鉤,套利機器人產生了相當可觀的利潤。
Curve 協議中的三明治攻擊、套利收入與手續費收入隨時間變化的折線圖和比例,來源:EigenPhi
4.2 MEV 機器人收入80% 的利潤被20% 的機器人賺取
EigenPhi 在《10M Revenue Drain in 5 Months: MEV impact on Curve》報告中,繪製了套利和三明治機器人的收入分配的箱線圖,如下圖所示。從圖中可以看出:MEV 機器人產生的收入呈現肥尾分佈。肥尾相對於常態分佈,意味著極端事件的機率更高,既「聰明」 的高利潤機器人貢獻了大部分收入。
套利和三明治的收入分配的箱線圖(箱線圖中的柱體表示四分之一分位點,中間的線表示中位數),來源:EigenPhi
根據EigenPhi 更詳細的數據,可以發現,頭部25% 的套利機器人收入佔94% 以上,頭部25% 的三明治機器人收入佔87.8%。最賺錢的三明治機器人只發動了14 次三明治攻擊,只使用2 筆交易即可在Curve stETH 池中產生超過46,000 美元的總利潤。
4.3 套利機會與市場價格波動的強度有關,而三明治攻擊與市場價格波動無關
EigenPhi 在報告中使用ETH、BTC 和CRV 的7 天價格的波動頻率觀察套利和三明治機器人的活動時發現,套利交易機會的發生與市場價格波動的強度相對相關。然而,三明治機器人的機會似乎與市場的價格波動無關。這與Uniswap 得到的普世性結論並不相同(其相關係數為0.6),這可能意味著即使在波動大的行情,不夠聰明的三明治機器人仍然無法完成攻擊。
這一點發現和4.2 相互印證。結合4.1 中套利機器人的收入遠高於三明治攻擊的現像我們不難推測:相較於Uniswap,Curve 池中的三明治攻擊更為困難,而技術高超的套利機器人在Curve 擁有無與倫比的施展空間。
一個可能的原因是:Curve 提供了像3pool 和Tricrypto pool 這樣的多資產流動性池,這可能使得在Curve 上執行三明治攻擊相對於Uniswap 的簡單流動性池結構更為複雜。多資產池可能引入額外的變數和動態,這可能使攻擊者難以有效預測和操縱價格。這一點在MEV 收入的肥尾分佈中也可以看出,頭部的高利潤的機器人貢獻了MEV 收入的絕大部分。
另一個原因是Curve 包含更多的穩定幣池,這意味著三明治機會將更少依賴市場的價格波動。大量、豐富的掛鉤資產交易對池,給了套利機會。
柳暗花明:DEX MEV 的解決方案
從上文可以了解到,不同DEX 中MEV 的分佈可能存在巨大的差異,機制、業務、技術的不同都在影響MEV 的分佈和規模。不管是鏈上的基礎設施,還是優化演算法,再到DEX 本身的機制創新,市場正在為力求克服MEV 尋找方案。我們嘗試總結出了以下5 種類型的解決方案。
1.私人PRC 節點
MEV 的必要條件是公共記憶體池無需許可的可見性,透過私人RPC 節點交易可以直接路由到區塊提議者(proposer),從而有效免受公共記憶體池的影響,在惡意搶跑者之前執行交易。
PropellerRPC 是一種即插即用的RPC 解決方案。接收到用戶的交易之後,專門設定的PropellerSolver 會啟動演算法自動搜尋可能的backruns,如果發現可能的backruns,PropellerRPC 會將原始的tx 捆綁(bundle)在一起私下發送給「誠實的」建構者,並將backruns 所有利潤回饋給使用者。由於RPC 私下提交給區塊建構者,搜尋者無法搶先或夾在交易中間。當監控到建構者的不當行為時,如建構者以使用者為代價重新排序tx,則會將這些建構者列入「不誠實」黑名單。
MEV-Share 是一個開源協議,為用戶、錢包和應用程式提供了一個框架,使它們能夠將其交易創建的MEV 內部化。具體地,它透過所謂的訂單流拍賣(orderflow auction)來實現。它允許用戶選擇性地與搜尋者分享有關其交易的數據,而搜尋者則會競標將這些交易包含在捆綁中。使用者可以選擇如何重新分配搜尋者的出價,例如分配給自己、驗證者或其他方。 MEV-Share 是可信的中立的,對搜尋者來說無需許可,不偏袒任何一個區塊建構器。旨在減少獨家訂單流(exclusive orderflow)對以太坊的中心化影響,同時使錢包和其他訂單流來源能夠參與MEV 供應鏈。用戶可以將交易提交到Flashbots MEV-Share 節點來從MEV-share 賺取MEV 退款。
PropellerRPC 和MEV-Share 本質區別在於一個利用演算法,搜尋可能backruns 將利潤回饋給用戶;一個利用拍賣的方式,使所有搜尋者參與進來,透過充分的競爭將利潤返還給用戶。兩者防止的MEV 的核心都是繞過公共記憶體池,將用戶的交易私下發送從而減緩MEV。大多數DEX 都已經整合私有RPC 節點供使用者開啟選擇。
2.機制創新-訂單打包拍賣
用戶不需要發送一個transaction 來提交一個交易,而是需要用戶發送一個簽名的訂單。所有未結訂單被打包成一個Batch 交給solver 求最適解。最佳化的路徑一方面來自鏈下求解需求巧合(CoW, Coincidence of Wants),另一方面依賴鏈上的流動性。荷蘭拍的方式選擇最優的方案,第三方支付Gas 代表用戶提交。批量拍賣允許批次內的交易具有相同的統一清算價格,因此礦工沒有必要重新排序交易。
訂單打包的好處有很多:減少訂單被搶跑或被三明治攻擊的機會,改善價格,增加可用的流動性和優化交易路由,詳細的論證可以參見我們另一篇報告《CowSwap 未來Intent 的DEX 形態? 》。但是這種方式有兩個顯然的缺點:
難以確定Solvers 的不同解法哪個是最優的。對於單一訂單而言,顯然最大化用戶的所得是簡單的。但如果對於1 個transaction 中有多個用戶,評判solvers(求解器)之間的解決方案就很難。例如一個解決方案可能對A 好,對B、C 沒那麼好;但另一個方案對B 好,對A、C 沒那麼好。市場尚不確定是否存在一種去中心化又可靠的標準對solvers 的解決方案做評判。
CoWSwap 提出了「最大化盈餘」 策略,選擇能為所有參與的用戶總體創造最大剩餘的方案處理打包的訂單。這種方法是基於集體最優而非個別最優的原則。在實際操作中,solvers 透過演算法最佳化來考慮所有訂單,並試圖找到一個整體最優的匹配,這可能涉及跨多個訂單完成複雜“需求巧合”,從而找到一個整體最有效率的交易組合,使得所有用戶的總滿意度最大化。可以作為一個研究學習的參考。
等待時間會比執行單一時間長。對於不活躍的標的,受AMM 曲線的影響可能會在執行等待的過程中發生較大的價格波動。不過,對於進行大額交易的參與者,特別是那些不需要立即成交的用戶,例如DAO,這種方法提供了一個更優的選擇。它允許這些用戶透過更好的價格執行和減少市場影響的交易,同時可能從批量處理中獲得更好的滑點保護和費用優化。對於那些尋求成本效益且可以容忍較長結算時間的用戶,這種機制能夠提供顯著的經濟利益。這也是1/3 的DAO 的交易量都在CoWSwap 上發生的原因(資料來源:Dune)。
3.機制創新-外包訂單
CoW、UniswapX、1inch fusion 等都希望透過機制創新解決MEV 問題。如果以Uniswap 為DEX 的行業基準的話,外包訂單的解決方案甚至可能是一種趨勢。因為將訂單流的執行權移交給專業填充器(filler)上會方便得多。用戶簽署交易訂單,執行邏輯從鏈上拉到鏈下,交易對手執行並具有預先保證的兜底交易結果,由智能合約驗證保證作保障。
具體來講,UniswapX 將路由的複雜性外包給第三方填充者。這些填充者競爭使用鏈上流動性(如Uniswap v2 或v3)或他們自己的私人流動性存來執行用戶的交易,同時為用戶支付Gas。任何人都可以成為UniswapX交換的第三方填充者,荷蘭拍的定價價值保障了最優的價格。 CoWSwap 則是將交易打包後,對求解器(solver)的解決方案排名,並交授交易的執行權。 1inch 類似UniswapX,不同點是求解器(resolver)依時間順序依序允許求解。
尤其是等到Uniswap v4 推出後,由於Hook 的特殊性質,將出現大量同樣幣對的池子。如果沒有強大的工具,面對AMM 複雜的數學時,使用者幾乎不可能自己找到最佳路線。因此,外包訂單的方式實際上是將路由和執行外包給市場,然後說,誰給我最好的執行力,誰就可以進行交易。
這種方案的解決困難在於,如果確保這些解算器/填充者的行為方式符合預期。
一種解決方案是引入信譽機制:透過監視,當他們行為不端時,他們就會從訂單流中被切斷,並且必須支付罰款才能重新上市。
另一種解決方案是創建一個高度競爭性的市場。在這個市場中,用戶的訂單可以被無許可地執行,這意味著任何人都可以參與。透過利用MEV-Share,可以在保護隱私和承諾的前提下,促進用戶或訂單流提供者與MEV Searcher 之間的無許可合作。從長遠來看,這種無許可的執行方式將大大增加市場的競爭力,從而為用戶提供更優惠的價格。
另一個困難是:如何對最佳執行進行基準測試?
第一道防線,也是始終保證的,就是你在訂單中所設定的限價。第二道防線是EBBO(交易所最佳買賣報價)取得鏈上可見的最佳價格,即考慮到Uniswap,Balancer 等DEX 的報價。
由於私有記憶體池的存在,提供最佳執行可能會受到記憶體池存取權限的限制。為了解決這個問題,可以考慮實現SUAVE,這種即插即用的架構旨在為所有區塊鏈提供一個通用的內存池和區塊構建網絡,在構建區塊(block building)的過程中將鏈上所有待處理的資訊都考慮在內。
4.滑點優化
為了避免交易失敗,DEX 經常設定較高的預設滑點,例如Uniswap 提供了0.3% 的預設滑點。但靜態的滑點設定具有局限性,滑點太小了可能面臨交易失敗,太大了可能對用戶造成損失。在某些市場條件下,這樣的靜態設定可能導致嚴重的交易回撤,對用戶造成挫折和潛在損失。
DODO 最新推出的動態滑點是基於時間序列預測模型能夠在保障成功率的前提下,推薦適當的滑點避免使用者的損失。它利用ARIMA 模型,一個經過驗證且穩健的時間序列預測器,動態滑點在回溯測試中展示了98% 的準確率。旨在幫助用戶在交換過程中減少潛在的損失,同時保持高成功率。
甚至對於以「不可預測性」而聞名的長尾幣種,有95.8% 的實際價格都緊密地符合預測的置信區間。在更穩定的市場條件下測試時,表現更為出色,97.2% 的實際價格都可以保持在預測的置信區間內。展現了其模型的靈活性,能夠無縫地適應不同的市場情緒。
「動態滑點」示意圖:市場波動期間的長尾幣種的價格預測與實際走勢,來源:@DODO
Sushiswap 則推出了自動偵測「徵稅代幣」的功能(徵稅代幣是具有交易「稅」的代幣,即購買、出售或轉讓代幣時的額外費用)。如果UI顯示“低滑點:由於價格變動或轉帳費用,此交易可能無法成功”,如下所示,則可能是徵稅代幣。此時就需要將代幣的稅收百分比加到原始容差中。
較低的滑點交易徵稅代幣可能會導致交易失敗,資料來源:SushiSwap
5.透明化
DEX 將訂單路由到私有節點,而不是公用交易池。保護用戶的同時帶來了系統性風險。 Flashbots 致力於所有市場參與者都無需許可。使用者可以選擇在使用Flashpots Protect 時將訂單流傳送到何處,以及傳送給哪些建構器。
這個方案的困難是:如何從系統設計上消除與搜尋者玩貓捉老鼠的遊戲,即不需要花費大量的時間、投資和資源來識別某人何時在系統中實際行為不端。而是一種不需要做監管,不需要在系統中不斷擁有人力資源來知道它是否正常運作的系統。
寫在最後
黑森林的MEV 蛋糕散發著誘人的香氣。 DEX MEV 在過去30 天的利潤高達百萬(million)美金,意味著對用戶的損失仍有較大規模。在對MEV 流程詳解後,我們也得出了MEV(以三明治攻擊為例)的必要條件:1、引發流動性偏移;2、對交易排序;3、保證不超出滑點範圍。在交易排序中,礦工需要支付費用賄賂礦工以保證Back-run 緊貼在Victim 之後,最大化利潤的同時保證不被其他MEV bot 搶佔利用。賄賂礦工是MEV Bot 的一大/主要支出, 引發流動性偏移而不在攻擊後超出滑點範圍也為MEV bot 提出了高難度的計算要求。其餘成本發生在硬體設施上,保證捆綁事務後能在短時間內廣播給全球的節點。
深究DEX 中MEV 的發生原因,相互聯繫又不盡相同。以Uniswap 為基準,存在一些普世的結論。例如市場波動越大,發生三明治攻擊和套利攻擊的頻率和利潤就越高;交易量較大的池子的獲利金額也往往越大;MEV 的收入於MEV bot 的「努力」程度正相關。但每個DEX 擁有各自特點,基於此,在MEV 的發生中各自演變出獨屬的分佈。例如Curve 由於多幣池的存在以及豐富的掛鉤資產交易對業務,套利在Curve 中的獲利尤為突出,且不容易受市場波動影響,套利難度大。又例如DODO 主打穩定幣對的交易,以主動做市提供極佳的流動性深度使MEV 的三明治攻擊有機可乘,為DODO 貢獻60% 的總交易量。比較PancakeSwap 在BNB 和Etherum 的表現,證明DEX 的機制特徵並非單一的影響MEV 分佈的變量,所處的公鏈的基礎設施、協議的數量等也會使該DEX 的MEV 分佈發生變化。譬如,Etherum 鏈擁有比BNB 鏈更豐富的協議,為MEV 的攻擊提供了更多選擇,對比下MEV 的發生也更為激烈。 Pancakeswap 中Etherum 上的MEV 高於BNB 鏈也可能取決於Etherum 擁有更完整的基礎設計,為MEV 提供了工具。
面對DEX MEV 的上述情境,從DEX 到基礎設施,Web 3 世界正積極尋求解決方案。我們蒐集整理了5 類解決方案:私人RPC 節點、訂單打包拍賣、外包訂單、滑點優化和透明化。私人PRC 希望透過繞過公共記憶體池無許可的可見性扼殺MEV 的發現。訂單打包拍賣和外包訂單都屬於機制創新。前者將多個未結訂單打包執行,透過需求巧合和統一清算價,在提升效率的同時阻止MEV bot 利用交易排序操縱價格,代表項目是CoWSwap;後者將訂單無許可地交給任何求解器,在市場的充分競爭後,選出最有利於用戶的方案執行,用「內捲」減緩MEV bot 作惡,代表專案是UniswapX。滑點優化實質上是產品的優化,代表項目是DODO 的“動態滑點”,智能推薦滑點在保障成功率的同時讓三明治攻擊無隙可乘。透明化是Flashbots 的願景,透過系統設計上使黑森林中用戶的訂單照在陽光下,以自我監督的方式維持正常運作。
參考文獻
https://eigenphi.io/
https://eigenphi.io/mev/ethereum/tx/0x3f277f57dcaea592cd2bcddb135b45833b8b5462fd91b548576752400ced8bae
https://eigenphi.substack.com/p/mev-impact-on-uniswap
https://eigenphi.substack.com/p/mev-sandwich-impact-on-dodo
https://twitter.com/BreederDodo/status/1732354315803938894?s=20
https://eigenphi.substack.com/p/full-research-on-pancakeswap-v3-ascendancy
https://eigenphi.substack.com/p/10m-revenue-drain-in-5-months-mev
https://blog.cow.fi/what-are-cows-on-cow-swap-e72baaa4678a
https://mp.weixin.qq.com/s/jFwLYzSNiaYtn9zMn8vpHQ
https://docs.cow.fi/solvers/in-depth-solver-specification/solver-auction-and-rewards