現實世界一直沒有徹底解決信息不對稱、無意義套利、和 “MEV” 的負外部性,那麼加密原生的我們該如何認識、理解和減少 Web3 世界中的 MEV 的風險呢?

作者: msfew@Foresight Ventures

原用標題: Foresight Ventures:描繪, 分類, 支配 MEV

0. MEV?

Maximal extractable value (MEV) refers to the maximum value that can be extracted from block production in excess of the standard block reward and gas fees by including, excluding, and changing the order of transactions in a block.

a) MEV 一直都在

以太坊區塊的交易排序自始至終就沒有被確定的規則約束, 而是可以根據礦工的偏好來自由修改.  Geth 客戶端的源碼中, 提供了三種示例:

  • 第一種: 僅根據 Nonce 來排序
  • 第二種: 根據 gas fee 和 Nonce 來排序 (默認選項)
  • 第三種: 根據 owner 排序後, 根據 gas fee 和 Nonce 來排序

其實排序完全是個開放題, 礦工可以自由進行調整, 從而捕捉更大的利潤, 也就是我們討論的主角, MEV.

在 MEV 被稱為 MEV 之前, 它的 Alpha 就早已被礦工持續挖掘. flashfish0x 講述了一個 MEV 的故事.

在 2020 年 8 月之前, Compound 的餵價由特殊的預言機 tx 來更新, 於是會有礦工監控 Mempool, 尋找可以被清算的賬戶, 利用閃電貸等手段進行套利. 因只有套利 tx 正好在價格更新 tx 之後執行才能套利成功, 且普通礦工 (當時) 會隨機排序相同 gas fee 的套利 tx, 所以套利者會以與預言機價格更新 tx 相同的 gas fee 來發送交易, 和其他套利者博取一個隨機概率.

2020 年 8 月 11 日之後, Geth 發布了新版本, 預言機價格更新 tx 後到達網絡的第一個 tx 將成功套利, 於是獲得 tx 信息的速度也被計入了競爭的考量中.

好景不長, 2020 年 8 月 17 日, Compound 切換到了更去中心化的預言機. 於是 MEV 捕捉者們的競賽變成了純粹的 gas war. 他們盡量出到比其他人更高的價格 gas, 直到這個清算操作捕捉不到任何利潤, 或者某個人勝出.

區塊鍊網絡從一開始就是這麼個暗流湧動的黑暗森林, 機器人在未知的環境里和看不見的對手爭奪榨取潛在利潤的機會.

b) MEV 無處不在

在正式解讀 MEV 的定義之前, 我們可以看看關於 MEV 的一些數據, 這樣就能直觀地感受它的存在和影響.

圖片

2022 年 5 月,  Uniswap 上超過一半的交易量是由 MEV 機器人貢獻的, 而只有少於 20% 的交易量是來自於 Uniswap 的前端頁面.

圖片

dex.guru 的數據也顯示, 以太坊上 AMM 的交易量很大一部分都是 MEV 機器人所貢獻.

MEV 機器人在區塊鏈的黑暗森林裡無處不在, 並且始終佔據著主導地位.

c) MEV 供應鏈

那麼一個 MEV 活動是如何產生的呢?圖片

一個 tx 在危機四伏的區塊鏈中的生命週期如下:

  • 生: 普通用戶根據意圖進行應用交互, 錢包與應用將意圖解釋成 tx, 發送到公共 tx 池等系統等待處理.
  • 老: MEV 搜索者 (可能會是礦工) 挑出所有有利可圖的機會, 嘗試通過發送交易或對交易刻意排序捕捉 MEV.
  • 病: L1 的礦工 (大多數情況下不會是 MEV 搜索者) 或者 L2 的 Sequencer 聚合交易並出塊.
  • 死: 驗證者 (目前還是礦工) 驗證區塊, 交易正式被確認.

MEV 機器人根據它們 owner 的旨意進行著鏈上活動, 將 tx 包裝好後送給不知情的礦工出塊.  從好的角度來看, 它們是保證市場穩定和 DApp 活躍度的重要角色; 從不好的角度來看, 它們以自己天生的優勢 (可以監視整個 Mempool), 對 “普通用戶” 進行著不平等的剝削.

d) MEV 的具體定義

MEV 這個詞有兩個官方的解釋, 它全稱可以是:

  • Miner Extractable Value (礦工可提取價值)
  • Maximum Extractable Value (最大提取價值)

當我們把兩個解釋結合在一起, 會得到一個最容易理解的概念:  MEV 就是礦工可提取的最大價值, 是對於在一個區塊特定位置插入 tx 的 incentive.

個人認為, 更全面的 MEV 定義指的是礦工/Validator/機器人/預言機/除了普通用戶之外的角色, 利用礦工的不對稱信息, 可提取的最大價值.   非普通用戶的角色 (懂代碼, 懂網絡機制, 懂使用 MEV), 通過自己的 “特權” 來額外提取價值, 從而獲利, 其實都可以算是廣義的 MEV :

  • 以出塊的礦工為例: 它在看到 Mempool 中的交易後, 當輪到出塊時 (非常小的概率), 完全可以對區塊內的交易重新按自己的意願進行排序 (而不是正常的 nonce 和 gas fee 排序), 並發送新的交易, 從而獲取除了獎勵以外更大的額外利潤.圖片
  • 以懂使用 MEV 概念的用戶為例: 使用 Flashbots Protect 作為 tx 池, 避免被 MEV 機器人割且 tx 可以得到優先執行等優勢; 通過 flashside 或者前文中的 Compound 清算例子, 監視 Mempool 來對 NFT 和鏈上活動進行套利, 以恰到好處的 gas fee 來讓不知情的礦工幫他們捕捉 MEV; 通過 mint.fun 監視 Mempool 來 mint 時下最新的 NFT 項目.
  • 以最受剝削的普通用戶為例: 早上起床抄底 ETH, 結果第一個 tx 因為 gas 不夠, 超時失敗了; 中午第二個 tx 好不容易成功但是被夾子割了; 晚上熬夜, 想 mint 個看中很久的 free mint NFT, 但交易剛發送出去就被其他人監視到了, 最終沒 mint 到.

MEV 提取者的額外利潤源自於區塊內的其他交易 (幾乎就是普通用戶發出的), 且擠占了每個區塊的一部分空間 (儘管 gas fee 缺乏彈性需求, 他們的交易通常是區塊內首個, 不會直接影響用戶 tx), 因此大多數 MEV 通常被視為加在用戶身上的隱性稅收.

1. MEV 交易的分類

以下是 0xminion 對 MEV 活動的清晰圖解:

圖片以目的來分的話, MEV 操作可以被分為: 各種套利, 單純搶先交易, 夾子攻擊等.

這些操作的大部分都會是套利操作, 基本都是機器人來發起, 這些機器人都為 gas 的優化做了非常多的功夫, 比如它們通常在錢包裡會有無數個代幣, 每個都只有一點點數量. 這主要是利用了 EIP-2200, 當用戶接收 ERC-20 代幣時, 如果錢包內有這個代幣, 則比沒有省更多的 gas. 還有就是讓地址擁有更多的零. 當然以上的套利優化操作與 MEV 本身關係不大.

MEV 本身主要分為以下六種:

a) Front Running

Front Running 是 MEV 機器人支付稍高的 gas fee 來搶先在 Mempool 的某交易前執行交易, 比如以更低的價格 Swap 代幣.

圖片當這類 MEV 活動沒有造成後續的 “傷亡” 時, 可以被算作中性 (不算良性因為主要還是插了隊); 但很多時候通常會讓後續的交易失敗或者執行出更差的效果, 因此會被算作惡性.

目前有很多服務專注於提升這類 MEV 的捕捉, 比如 bioXroute (類似於黑手黨徵收保護費後提供更快更隱私的 Mempool, 從而加快 tx 的確認效率以及對外部 Front Running 的防禦).

問題的核心主要還是這類 MEV 很直接地體現出了 MEV 捕捉者和普通用戶的信息不對等. 然而, 大家不可能徹底完全公開, 透明, 和統一地對交易排序的方式和算法達成共識.

b) Back Running

Back Running 是機器人在一筆交易造成價格大幅錯位之後嘗試不同的套利, 清算, 或交易.

最典型的例子就是我們之前提到的清算套利操作, 這類 MEV 活動整體可以被認為是良性的, 能保證市場的穩定和持續運轉.

圖片

在 Cosmos 這種多鏈架構的網絡上, 這類 MEV 活動尤其做好, 因為網絡非常多, 需要這樣的活動來讓 DeFi 應用保證時刻運轉和高效.

c) Sandwich Attack

Sandwich Attack 是前兩種攻擊的結合, 對交易進行前後夾擊. 通常被稱為夾子. 例如 MEV 機器人在交易前放一個買單, 在交易後放一個賣單, 讓用戶的交易在更差的價格執行.

圖片

這種攻擊有時候可以非常複雜同時傷害可能會非常大, 下圖是有機器人通過 1 億枚 DAI 來夾 Curve 的用戶:

圖片

它可以普遍被認為是惡性的, 但某種程度上像高速公路的測速儀一樣鞭策著用戶使用更合理的滑點, 從而提升網絡整體利益.

d) Time-Bandit Attack

時間盜賊攻擊是在區塊生成之後, 礦工重新挖取區塊導致區塊鏈 reorg, 同時在自己挖出的區塊中提取價值. 這是最惡性的 MEV, 會導致用戶交易無效. 同時這雖然微乎其微, 但也有發生的可能性. 圖片中本聰共識下的區塊鍊網絡由於最長鏈原則, 區塊 reorg 發生非常頻繁 (延遲也大), 因此這類 MEV 很可能被捕獲. 而在 Tendermint 或者 PoS 的以太坊中, 這類 MEV 的發生會極大程度上被減少.

圖片

關於時間盜賊 MEV 很酷的點是: 未來的事件可以影響過去 (將 “未來” 的交易包含到 “過去” 的區塊中).

圖片

但在簡單的量化下, 此類攻擊的預期回報率是不高的, 同時會因為蓄意破壞區塊鍊網絡的穩定性受到譴責 (如 Reorg-as-a-Service), 所以很少會發生.

e) Clogging

任何 NFT, 資產, 和 Rollup 交易的有效性其實都是通過購買區塊鍊網絡上某個區塊的某個空間所保證的. 以下是區塊鏈區塊空間市場的供需:

圖片

Clogging 就是通過連續壟斷區塊全部的空間來贏得例如 Fomo3D 遊戲的勝利.

還記得最開頭的 Geth 源碼嗎? 由於大約 70% 的以太坊礦工都是根據默認的 gas fee 排序對交易進行排序, 因此才產生了 Clogging.

但是目前來說, 因為基礎設施的完備, 如預言機和 Rollup 等都會風雨無阻地進行交易的提交, MEV 機器人在網絡活躍時期進行這樣的活動, 成本會比較高.

f) Non-Broadcast Transactions

前面幾種活動的發起者基本都是 MEV 機器人, 而不是出塊礦工本人.

Non-Broadcast Transactions 則是出塊礦工偷偷提交的 tx, 也就是在礦工知道自己能出塊的時候, 瞬間去給區塊塞入一些交易, 從而捕捉 MEV.

圖片

以太坊上大約 2% 的交易都是這樣的形式產生的.

2. MEV 是好是壞?

前面的分析中我們探討了不同種類的 MEV, 穿插著我們對每種的評價和好壞與否的評判. 那麼整體來說, 到底 MEV 是好還是壞? 我們該怎麼應對它? 不同的網絡會怎麼以不同的方式應對它?

MEV 的好壞:

  • 好的 MEV: 用於套利清算 (Back Running), 公開透明市場 (Flashbot, MEV Auction), 並沒有影響網絡或者其他用戶.
  • 壞的 MEV: 用於在其他用戶身上榨取價值 (Sandwich Attack), 私下發送且不廣播 (Time-Bandit Attack, Non-Broadcast Transactions), 影響網絡的正常運行 (Clogging).

從分類數量來看 MEV 貌似是一個不好不壞的中立角色, 但是當考量了 MEV 的本質 (incentive to insert tx into block), 這個 incentive 過於巨大, 會導致追逐壞的 MEV 造成的傷害遠大於好的 MEV 的好處. 除此之外, MEV 的產生也是源於信息和知識的不對等, 區塊鍊網絡裡只有 equality 而沒有 equity.

綜上所述,  MEV 的黑市原理+ 巨大利益驅使+ 複雜情況和分類= 區塊鍊網絡的負外部性.

MEV 是壞的, 需要削減.

3. MEV 的深入思考與處理

在分類探討針對 MEV 的策略之前, 我們需要明確一個點, 就是任何情境下的信息不對稱和外部性都是無法被完全消除的, 我們只能去更好的處理它們.

a) 解決 MEV 黑市與其巨大 incentive

MEV 是不透明的信息和知識而造成的黑市 (或者說黑暗森林), 這個黑市創造了巨大的利益. 我們將通過這個角度來思考針對 MEV 的策略.

整個世界的黑市估值大約為 1.8 億美元, 且是一種無法消除的必然邪惡. MEV 的市場也遠比我們所能觀測到的大.

圖片

既然這個黑市是必然存在的, 那麼何不讓它暴露在陽光之下, 讓大家都可以自由捕捉和保護自身的 MEV, 這樣普通用戶就可以形成合力, 且可以削弱 MEV 捕捉者針對用戶的對抗.

Flashbots 提出了以下五種市場方案來限制 MEV 的提取, 從而減小 MEV 的總體負外部性:

圖片

這些 MEV 削減方案其實類似, 但相同的缺點就是可能會導致區塊空間被浪費以及出塊的中心化.

b) MEV 的複雜情況: 場景區別

  • 單鏈場景: 本文的大部分筆墨都是在討論單個區塊鍊網絡中的 MEV 情況, 而現實中這是過於理想化的分析.
  • 跨鏈場景: 一個區塊鍊網絡= 一個 trust zone. 實際中會有無數個擁有不同機制和不同 MEV 種類的區塊鍊網絡, 這些無數個 trust zone 就讓網絡間的套利四處存在. 比如就算以太坊完全沒有 MEV, 但如果 Cosmos 上有套利機會, 那麼橋的驗證者或者跨鏈應用機器人就可以在 Cosmos 上捕捉 MEV, 最終以太坊也成了這個 MEV 的受害者.圖片
  • 多鏈場景: 跨鏈場景的例子可以無縫套用到 Cosmos 或者 Polkadot 的多鏈架構中, MEV 的存在具有傳染性.

b) MEV 的複雜情況: 網絡架構區別

在我們探索 Rollup 網絡的文章中, 我們了解到了單體的 Layer1 和在其之上建立的 Layer2 Rollup 的區別.

1. Rollup

Rollup 作為一個 “加強版的智能合約” 以及 “中心化的可信區塊鍊網絡” 目前均有著中心化的出塊和排序機制, 因此有不同的 MEV 表現. 目前中心化的 Sequencer (也就是只有一個節點) 導致所有的 MEV 都可以被 Rollup 捕捉. 隨著越來越多的流動性和鏈上活動轉移到 L2, L1 礦工所可以獲得的收入 (包括 MEV) 其實就被轉移到了 L2 的 Sequencer.

當然 Rollup 網絡自己也意識到且解決了這個問題, 它們對 tx 的公平排序體現了 MEV 的處理. 不同 Rollup 對於 MEV 的策略並不相同, 對網絡參與者來說意義也就完全不同:

圖片

當 L2 步入去中心化且模塊化區塊鏈的實現更加盛行後, MEV 的問題需要更多的研究和思考.  例如以太坊與 Celestia 的模塊化版圖就會有所不同. 目前來說, 以太坊上的 Rollup 均為 Secured Rollup, 只需構建 n 個雙向可信的跨鏈橋 (它們本職就是造這樣的橋), 共同結算在以太坊上, 而 Celestia 所鼓勵的 Sovereign Rollup 各自為政, DA 很可能各不相同, 可能需要 n^2 個橋樑或者類似 IBC 或 XCM 的協議才可以完全打通. 這樣就建立了完全不同的 MEV 市場和捕捉機會.

由 L2 MEV 的問題, 我們也可以引申出對 L1 和 L2 價值關係的思考, 本文中不做額外展開.圖片

2. 較中心化的區塊鏈

為了更快, Solana 是沒有公開的 Mempool 的, 而是通過一個類似只有預計將出塊的礦工看得到的 Gulf Stream 來作為 Mempool (這也是它宕機的原因…). 這就意味著 MEV Bot 是沒辦法捕捉 MEV 的, 只有運行一個 Validator, 且即將出塊的礦工才在理論上有機會對交易進行排序或者發送新的交易從而捕捉 MEV. 但結合 Solana 的礦工利潤低的情況, 這樣的設計其實就導致了礦工的收入更低. 於是現在就有 Jito Labs 做類似 Flashbot 的 mev-geth 的客戶端, 來讓礦工對自己的區塊空間進行拍賣, 讓 MEV 形成公開的自由市場. 同時 Solana 也有 QUIC 和 per account fee market 的解決方案.

3. 結語

對於 MEV 這個話題, 本文僅僅是表層的分析, 有非常多有趣的東西由於篇幅的問題沒有被提及 (SGX, PBS 等), 推薦你深入閱讀文末的 50 餘個相關鏈接.

在一個理想的網絡裡:

  • 任何人都可以發送交易 (no censorship)
  • 沒有垃圾信息 (no spam)
  • 費率非常低 (low fees)圖片而 MEV 的存在讓魚和熊掌不可兼得:
  • no spam + low fees: Web2 一樣的 Censorship 必須存在.
  • no censorship + low fees: MEV Searcher 就會發送垃圾信息讓正常交易受影響.
  • no censorship + no spam: 你就需要一個費率市場來對交易進行排序, 也就需要高昂的 gas 來優先執行交易.

不過不用太擔心,  Web1 或者 Web2 或者現實世界一樣沒有徹底解決 “MEV” 的負外部性, Web3 的各種方案已經做得非常好. MEV 一直是個開放問題, 沒有完全正確的解.

那麼 Web3 的我們該咋辦?

  • L1/L2: 設計時優先考慮 MEV.
  • 礦工: 放心大膽地在不影響生態的情況下捕獲價值, 因為這是網絡博弈論的一個部分.
  • DApp 開發者: 設計應用時考慮 MEV, 以及機制是否會傷害普通用戶.
  • 用戶: 理解 MEV, 且盡量不要使用 MEV 機制設計不足的網絡或應用.
  • 其他人: 鼓勵 MEV 的研究, 參與到 MEV 的討論中,  Front run the crisis .

Links

https://thedailyape.notion.site/MEV-8713cb4c2df24f8483a02135d657a221

0a:

https://ethereum.stackexchange.com/questions/6107/what-is-the-default-ordering-of-transactions-during-mining

https://github.com/ethereum/go-ethereum/blob/290e851f57f5d27a1d5f0f7ad784c836e017c337/miner/worker.go

https://twitter.com/flashfish0x/status/1516378083628093447

0b:

https://twitter.com/sui414/status/1532088483296120832

0c:

https://twitter.com/thegostep/status/1521104235114508289

0d:

https://docs.flashbots.net/flashbots-protect/rpc/quick-start/

https://twitter.com/blockworksres/status/1532782392569606145

https://twitter.com/_anishagnihotri/status/1520579207478267905

http://mint.fun

https://www.recvc.com/mev-2-0-the-rise-of-mpsvs/

https://twitter.com/hasufl/status/1439938607142277121

1:

https://rileygmi.substack.com/p/what-is-mev-a-simple-guide

https://twitter.com/0xminion/status/1418059536712167432

https://twitter.com/libevm/status/1474870665773682692

https://medium.com/coinmonks/on-efficient-ethereum-addresses-3fef0596e263

1a:

https://rekt.news/return-to-the-dark-forest/

https://medium.com/offchainlabs/five-theses-about-transaction-ordering-mev-and-front-running-5ebf52bc0cbe

1b:

https://twitter.com/thyborg_/status/1547898785933639684

1c:

https://twitter.com/bertcmiller/status/1527757146716348416

https://twitter.com/tarunchitra/status/1549134678036303873

1e:

https://www.longhash.com/en/news/2280/With-Just-20-Billion-Ethereum-Network](https://www.longhash.com/en/news/2280/With-Just-$

https://twitter.com/Leorzhang/status/1374383287309758476

1d:

https://www.paradigm.xyz/2021/07/ethereum-reorgs-after-the-merge

https://www.paradigm.xyz/2022/07/consensus-throughput

https://twitter.com/0x9116/status/1413687410941169666

https://femboy.capital/mev-time-turner

https://twitter.com/SiegeRhino2/status/1416311471303188481

1f:

https://medium.com/blockchannel/life-cycle-of-an-ethereum-transaction-e5c66bae0f6e

2:

https://docs.google.com/presentation/d/13q_cmaznKdAElherLI6fsBexJILYwTj2ddQlMTGUipU/edit#slide=id.g10d8f164256_0_0

2a:

https://twitter.com/mohakagr/status/1417143241812561930

https://docs.google.com/presentation/d/13q_cmaznKdAElherLI6fsBexJILYwTj2ddQlMTGUipU/edit#slide=id.g45d315b027c424f1_13

2b:

https://pdaian.com/blog/mev-wat-do/

3a:

https://twitter.com/mohakagr/status/1417143241812561930

https://docs.google.com/presentation/d/13q_cmaznKdAElherLI6fsBexJILYwTj2ddQlMTGUipU/edit#slide=id.g45d315b027c424f1_13

3b:

https://mp.weixin.qq.com/s/GT4Yfw8VPhBikME4mKCTNQ

https://twitter.com/j0hnwang/status/1489268470973878272

https://ethresear.ch/t/mev-auction-auctioning-transaction-ordering-rights-as-a-solution-to-miner-extractable-value/6788

https://ethresear.ch/t/mev-resistant-zk-rollups-with-practical-vde-pvde/12677

https://twitter.com/j0hnwang/status/1489268486358671364

https://www.youtube.com/watch?v=lLuHFFbYv0Y&t=10s

https://twitter.com/benjaminsimon97/status/1380291321286569986

https://twitter.com/apriori0x/status/1546464783318372353

https://twitter.com/0xmisaka/status/1511370043501785091

https://twitter.com/jon_charb/status/1546501633856634880

https://twitter.com/sreeramkannan/status/1550572765899472896

https://twitter.com/barnabemonnot/status/1550346797494800384

4:

https://twitter.com/bertcmiller/status/1399737488151830538

https://notes.ethereum.org/@vbuterin/pbs_censorship_resistance

https://twitter.com/0xmisaka/status/1511370037306834954

https://pdaian.com/blog/mev-wat-do/

https://medium.com/flashbots/frontrunning-the-mev-crisis-40629a613752

Not Included but Recommended to Read:

https://twitter.com/0xElan/status/1547026528235429894

https://twitter.com/uriklarman/status/1546971147018948609

https://twitter.com/Thyborg_/status/1547898785933639684

https://twitter.com/0xcacti/status/1548470752071913472

https://twitter.com/sxysun1/status/1483860078331584512

https://theknower.substack.com/p/its-all-a-dark-forest

https://flashbots.mirror.xyz/NayGRPko-vFnauN5WOn6rQHgMEUqCpmlPPDfKRXJriU

https://learnblockchain.cn/article/3163

https://ethereum.org/en/developers/docs/mev/

免責聲明:作為區塊鏈信息平台,本站所發布文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。本文內容僅用於信息分享,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規