MEV(Maximal Extractable Value,最大可提取價值)指的是區塊生產者透過「安插、排除、重新排序」區塊內交易,額外榨取出來、超過標準區塊獎勵與 gas 費的那部分價值。昨天談帳戶抽象讓你把一筆交易送出去;今天要看的是這筆交易在被打包進區塊之前,會在公開的等待區裡被誰盯上、被怎麼夾殺。根據以太坊官方文件,自從 The Merge 轉為權益證明後,這個角色從礦工(Miner)換成了驗證者(Validator),所以原本的「礦工可提取價值」正式改名為「最大可提取價值」。以太坊上每年被提取的 MEV 規模已達數億美元等級。
📖 學
MEV 從哪來:公開記憶池 (mempool) 是關鍵
你把交易簽名送出後,它不會立刻上鏈,而是先進入 mempool(記憶池) 這個公開的等待區。任何人都能即時讀取裡面尚未被打包的交易內容——包括你要用多少錢、以什麼價格、換哪個代幣。這份「還沒定案但已公開」的資訊,就是 MEV 的養分。專門盯著 mempool 找機會的機器人被稱為 searcher(搜尋者),他們跑演算法偵測有利可圖的排序機會,再自動送出交易去搶。
理論上 MEV 全歸驗證者所有(因為只有他們能保證交易真的被執行),但實務上一大部分被獨立的 searcher 分走。
三種最常見的提取手法
- 搶跑 (front-running):searcher 看到你在 mempool 裡的大單,就複製一筆一模一樣但 gas 出價更高的交易,讓自己「插隊」排在你前面成交,先卡好便宜的位置。
- 三明治攻擊 (sandwich attack):這是搶跑的進階版,也是對散戶傷害最大的一種。攻擊者在你的買單「前面」先買(把價格推高),等你以被墊高的價格成交後,再在你「後面」立刻賣出獲利。你的交易被夾在兩筆攻擊交易中間,像三明治的餡料,價差就是你多付出的成本。據估計,三明治攻擊每年讓以太坊使用者損失約 6,000 萬美元。
- 套利與清算 (arbitrage & liquidation):這兩類通常被視為「良性 MEV」。套利是把不同 DEX 之間的價差抹平(有助價格一致),清算則是在借貸協議裡幫忙處理抵押不足的部位(維持系統健康)。它們同樣是排序帶來的利潤,但不是靠坑殺特定使用者。
滑價 (slippage):你會實際感受到的痛
上述攻擊最後都反映在你的滑價上——也就是「預期成交價」與「實際成交價」的落差。三明治攻擊本質上就是刻意放大你的滑價來獲利。這也是為什麼 DEX 介面要你設定「滑價容忍度」:設太寬,等於邀請三明治攻擊者來吃滿;設太窄,交易又容易失敗。
PBS 提議者-建構者分離:把權力拆開
為了不讓「決定排序」這個肥缺過度集中在驗證者手上,以太坊社群推動了 PBS(Proposer-Builder Separation,提議者-建構者分離)。核心是把角色拆成三方:
- builder(建構者):負責把交易排成最賺錢的區塊,MEV 主要在這一層被榨取與競價。
- proposer(提議者,即驗證者):不再自己排交易,而是直接挑「出價最高的現成區塊」來簽名。
- relay(中繼):夾在中間當可信媒介,確保建構者不會偷看區塊、提議者不會賴帳。
目前落地版本是 Flashbots 推出的 MEV-Boost 中介軟體,超過 90% 的以太坊區塊都透過它的拍賣機制產生。對驗證者的實際好處是收益提升——APY 大約從 4% 拉高到 5.69% 左右。
保護使用者:私有交易與加密記憶池
既然 MEV 的根源是「交易在 mempool 被公開偷看」,防禦方向就是「別讓人看到」:
- 私有交易 / 私有訂單流:像 Flashbots Protect 這類服務讓你把交易直接送給建構者,繞過公開 mempool,攻擊者根本看不到,自然無從三明治。
- 加密記憶池 (encrypted mempool):更徹底的協議層方案。使用者送出的是加密過的交易,一群持有門檻金鑰分片的委員會,要等到區塊排序「定案」後才釋出解密金鑰——沒有任何單一方能提前解密。2025 年底提出的 EIP-8105 就是把加密記憶池原生內建進以太坊協議的設計,目標塞進未來的硬分叉(Hegota 升級)路線圖。它的巧妙之處在於:擋掉搶跑與三明治這類「毒性 MEV」,同時保留套利、清算、backrunning 等「良性 MEV」。
🧠 記
- MEV = 靠排序榨取的額外價值;PoW 時代叫礦工可提取價值,PoS 後改名最大可提取價值。
- mempool 是公開等待區,交易上鏈前的內容全世界都看得到,這是所有攻擊的起點。
- 三明治攻擊 = 搶跑進階版:前面墊高、你成交、後面賣出,你被夾在中間吃滑價。
- 良性 vs 毒性 MEV:套利、清算屬良性;搶跑、三明治屬毒性,直接坑使用者。
- PBS 三角色:builder 排序、proposer 挑區塊、relay 當中繼;MEV-Boost 是主流實作,覆蓋 90%+ 區塊。
- 防禦兩招:私有交易(繞過公開 mempool)+ 加密記憶池(加密後定案才解密,EIP-8105)。
✍️ 實踐
今天用 15 分鐘,親手感受一次 MEV 對散戶的影響,並學會設好防護。
1.(5 分鐘)打開任一 DEX 介面(例如 Uniswap),模擬一筆換幣,先不要送出。找到「Slippage tolerance / 滑價容忍度」設定,觀察預設值(通常 0.5%),試著調到 5% 看介面是否跳出高風險警告——這就是三明治攻擊者的空間。 2.(5 分鐘)到 Flashbots Protect 的說明頁,了解如何把 RPC 端點換成私有 RPC,理解「交易不進公開 mempool」如何從源頭擋掉三明治。實際錢包設定可先不改,重點是看懂運作原理。 3.(5 分鐘)用一句話寫下你自己的理解:「為什麼加密記憶池只擋毒性 MEV,卻刻意保留套利和清算?」——把答案寫進今天的筆記,逼自己說清楚良性與毒性的界線。
🔗 延伸學習
- Maximal extractable value (MEV) | ethereum.org 官方文件:MEV 的定義、歷史(礦工→驗證者改名)、searcher 角色的權威說明。
- MEV-Boost in a Nutshell | Flashbots:PBS 與 MEV-Boost 中介軟體如何運作的官方說明。
- Introducing the Universal Enshrined Encrypted Mempool (EIP-8105) | Shutter Network:2025 年底提出的協議層加密記憶池設計。
- Understanding Good and Bad MEV | Shutter Network:良性與毒性 MEV 的界線,以及加密記憶池怎麼只擋壞的。
💬 問 AI
想更深入時,把下面的提示詞貼給你的 AI 助理,讓它用具體數字帶你走一遍:
請用一個具體例子,帶我算一次以太坊上的三明治攻擊:
假設我在某 DEX 用 1 ETH 換 USDC,池子深度與初始價格你自己設定合理數值。
請分三步展示 (1) 攻擊者前置買單如何推高價格
(2) 我的交易以被墊高的價格成交、實際滑價是多少
(3) 攻擊者後置賣單獲利多少。
最後說明:如果我改用 Flashbots Protect 之類的私有交易,
或協議層有 EIP-8105 加密記憶池,這筆攻擊為什麼就做不成?
請用繁體中文、台灣用語解釋。