MEVとフロントランニング
自分の取引がなぜ割り込まれ損をするのか、その正体をつかめる。ブロック生成者がトランザクション順序を握ることから生じるMEVを原理で追い、サンドイッチ攻撃からPBSによる緩和までを筋道立てて理解できる。
- 1.MEVは、ブロック提案者・ビルダーがトランザクションの含める・除く・並べ替える裁量を握ることから抽出できる価値。順序決定権そのものが利益の源泉であり、暗号ではなく経済で生じる。
- 2.保留中トランザクションが公開メモリプールに晒されるため、フロントラン(先回り)・バックラン・サンドイッチ攻撃が成立する。DEXの価格スリッページが搾取の典型的な回路になる。
- 3.PBS(提案者・ビルダー分離)は、順序決定という利益源を提案者から切り離しビルダー間の入札競争に載せる。MEVを消しはしないが、集権化とネットワーク負荷を緩和する構造的対策になる。
MEVという問い
分散台帳(distributed ledger)では、あるブロックを作る権利を得たノード——PoWの採掘者、PoSの提案者(proposer)——が、そのブロックにどのトランザクションを、どの順序で含めるかを裁量で決められます。この「順序決定権」それ自体が金銭的価値を生みます。これが MEV(Maximal Extractable Value、最大抽出可能価値) です。当初は採掘者に限られると考え Miner Extractable Value と呼ばれましたが、PoSへの移行で提案者やビルダーへ主体が広がり、現在は抽出者を問わない Maximal の語が使われます。
本質は単純です。ブロック内のトランザクションは逐次的に状態遷移関数へ適用され(/blockchain/smart-contracts-evm/ の実行モデル)、後の取引は前の取引が変えた状態を見ます。したがって順序が変われば結果も変わり、特定の順序でしか得られない利益が存在します。ブロック生成者はその順序を自由に選べるため、利益を最大化する並べ替えを行う誘因を持ちます。MEVは暗号の欠陥ではなく、順序決定という権限に内在する経済的帰結です。
MEVを一言で言えば、トランザクション順序の独占的決定権から生じるレント(超過利潤)です。中央集権的な取引所なら運営が板を管理しますが、分散台帳ではその権限がブロックごとに提案者へ委ねられます。誰が順序を決めるかが確率的に回り持ちになるだけで、決定権が価値を生む構造は消えません。
公開メモリプールという攻撃面
MEV抽出の入口は、保留中トランザクションの公開性です。ユーザーが署名したトランザクションは、ブロックに取り込まれる前に P2Pネットワーク(/blockchain/p2p-gossip-network/)で全ノードへゴシップ伝播し、各ノードのメモリプール(mempool) に滞留します。つまり「これから実行される予定の取引」が、実行前に誰の目にも見える状態で数秒〜数十秒漂います。
この可視性を突くのが以下の3類型です。いずれも被害者の取引を観測してから、自分の取引の順序を操作して利益を抜きます。
| 手口 | 順序 | 利益の源泉 |
|---|---|---|
| フロントラン(先回り) | 攻撃者Txを被害者Txの直前に置く | 被害者の取引で価格が動く前に安く仕込む |
| バックラン(追走) | 攻撃者Txを被害者Txの直後に置く | 被害者が動かした価格差・生じた裁定機会を回収する |
| サンドイッチ攻撃 | 被害者Txを攻撃者Txで前後から挟む | 先回りで押し上げ、被害者に高く買わせ、直後に売り抜ける |
順序を望みどおりにする手段が手数料(ガス価格)競争です。多くの実装で提案者は手数料の高い取引を優先するため、攻撃者は被害者より高いガス価格を提示して自分を前に差し込みます。ここで発生する入札合戦が PGA(Priority Gas Auction) で、ボット同士が相手を上回るガス価格を機械的に吊り上げ合い、その多くがネットワークに手数料として流出します。過去には、この競争がメモリプールを氾濫させ手数料の高騰とスパムを招く負の外部性が問題視されました。
サンドイッチ攻撃の原理
MEVの典型が DEX(分散型取引所) のスリッページを狙うサンドイッチ攻撃です。多くのDEXは板ではなく AMM(自動マーケットメーカー) で、価格を数式で決めます。定数積型なら、プールのトークン準備量 x と y に対し x * y = k を一定に保ち、価格は準備量の比で表されます。ある方向の大きな買いは x を減らし y を増やすため、取引自体が価格を押し上げる——これがスリッページです。攻撃者はこの決定的な価格変化を先読みできます。
サンドイッチ攻撃の並び(同一ブロック内、価格上昇方向の買いを狙う)
1. 攻撃者フロントラン: 被害者と同じ方向に買う → 価格を押し上げる
2. 被害者Tx : 押し上がった価格でさらに買う → 高値づかみ
3. 攻撃者バックラン : 直後に売り抜ける → 差額を利益化
被害者は許容スリッページの上限までの損失を負い、その分が攻撃者へ移転する
攻撃が成立する鍵は、被害者が設定する許容スリッページの幅です。ユーザーは「最低これだけは受け取る」という下限(minReceived)を指定でき、実際の受取がそれを下回るとトランザクションは revert します。攻撃者は、被害者が revert しないぎりぎりまで価格を押し上げて利益を最大化します。したがって許容スリッページを広く取るほど、搾取される余地が大きくなります。
DEXで取引が「失敗しにくいように」と許容スリッページを大きく(例:数%〜十数%)設定するのは、サンドイッチ攻撃者に抜き取ってよい上限を宣言するのと同じです。攻撃者は被害者が revert しない範囲で最大限まで価格を動かします。流動性が薄い・取引量が大きい局面ほど価格インパクトが大きく、上限を絞る規律が実損に直結します。
なお、フロントランやサンドイッチは新種の脆弱性ではなく、伝統的市場の先回り売買の分散台帳版です。違いは、板情報が特権者にしか見えない証券市場と異なり、ブロックチェーンでは保留中の注文が全員に見え、順序決定権がブロックごとに移る点にあります。搾取が民主化される代わりに、防御も設計で対処せざるを得ません。
リオーグを伴うMEVと合意への脅威
MEVは単一ブロック内の並べ替えにとどまりません。過去のブロックに含まれた大きなMEV機会は、それを奪うために確定済みの枝を巻き戻す動機を提案者へ与えます。これが time-bandit攻撃——直前ブロックのMEVを横取りするために、正典鎖を意図的にリオーグ(/blockchain/finality-fork-choice/)しようとする行為です。
ここでMEVは合意の安全性そのものを脅かします。通常、正典鎖の先端に素直に積むのが提案者の最適戦略ですが、1ブロック分のブロック報酬より大きなMEVが過去のブロックに眠っていると、それを取り込み直す枝を作る誘因が報酬を上回りかねません。フォーク選択規則は「最も重い枝」を選ぶだけで枝の中身の公正さは問わないため、MEVが十分大きいと確率的ファイナリティの前提(正直に積むのが得)が崩れ、リオーグが誘発され得ます。MEVの緩和が単なる利用者保護でなくプロトコルの健全性の問題である理由がここにあります。
「素直に先端へ積むのが最も得」という仮定が崩れると、フォーク選択が想定する収束が保証されなくなります。過去ブロックのMEVがブロック報酬を大きく超える状況は、提案者にリオーグの経済的誘因を与え、深いリオーグ=二重支払いの窓を開く方向へ働きます。MEVを提案者から分離・平準化することは、この誘因を弱めて合意を安定させる意味を持ちます。
PBS:提案者・ビルダー分離
MEVへの構造的対策の中心が PBS(Proposer-Builder Separation、提案者・ビルダー分離) です。着想は、MEVの源泉であるトランザクション順序の構築という役割を、ブロックを提案する権利から切り離すことにあります。役割を次の2者へ分けます。
- ビルダー(builder):メモリプール等から取引を集め、MEVを最大化する順序付きブロック本体を構築する専門主体。完成したブロックに「これを含めてくれれば提案者へ支払う額」を添えて入札する。
- 提案者(proposer):どのブロックを提案するかを選ぶバリデータ。ブロックの中身は見ずに、最も高い入札額を出したビルダーのブロックを選んで署名するだけでよい。
提案者はブロック内容の詳細を知らずにヘッダへの署名だけで最高入札を受け取れます(この分離を仲介するのが MEV-Boost のようなリレー機構です)。MEVはビルダー間のオークションで競われ、その多くが入札を通じて提案者=バリデータ全体へ還元されます。順序構築という専門的で資本集約的な作業をビルダーに任せることで、個々の提案者が高度なMEVボットを持たなくても、抽出価値の分配に与れる仕組みです。
PBSはMEVそのものを消しません。狙いは(1) 順序構築を提案者から切り離し、バリデータの集権化(MEVに長けた者だけが有利になる寡占化)を防ぐこと、(2) MEV獲得競争をメモリプールの手数料合戦(PGA)からビルダーの封じられた入札へ移し、ネットワークへのスパム外部性を減らすことです。抽出は続くが、その配分と経路を設計で御する発想です。
PBSは検閲耐性という別の論点も生みます。ビルダーが特定アドレスの取引を含めないブロックを作れば検閲になり得るため、提案者側から「このリストの取引は必ず含めよ」と強制する inclusion list(包含リスト) の設計が議論されています。順序決定権を分離した結果、今度は「除外する権限」をどう縛るかが新たな課題として立ち上がる構図です。
MEVの緩和策
抽出を根絶できない以上、緩和は攻撃面をどこで塞ぐかの設計選択になります。層ごとに手立てが異なります。
| 緩和策 | 何を断つか | 限界・トレードオフ |
|---|---|---|
| プライベート送信(mempoolを迂回) | 保留中Txの公開性そのもの | 特定ビルダー/リレーへの信頼と集権化に依存する |
| コミット・リビール方式 | 内容の事前可視性(後から開示) | 2段階で確定が遅く、UXと即時性を損なう |
| 閾値暗号によるメモリプール | 順序確定まで内容を復号不能にする | 復号を担う委員会と鍵管理の追加コスト・信頼前提 |
| MEVオークションで再分配 | 抽出の独占(利益をユーザーへ還元) | 抽出自体は継続。オークション運営への信頼が要る |
| バッチオークション(一律清算価格) | ブロック内の順序依存性 | 連続約定でなくなり、価格発見の設計が変わる |
考え方の軸は2つです。第一に、可視性を断つ——プライベートな取引経路や、順序が確定するまで内容を秘匿する暗号方式(コミット・リビール、閾値暗号)で、そもそも先読みさせない。ただし秘匿は信頼できる仲介や復号委員会という新たな集権点を持ち込み、分散台帳の無信頼性と衝突しがちです。第二に、順序依存性を消す——同一バッチ内の全取引を一律の清算価格で約定させるバッチオークションなら、ブロック内の並び順が損益に影響せず、サンドイッチの前提が消えます。ただし連続的な約定を捨てるため価格発見の性質が変わります。
核は「MEVはトランザクション順序の決定権から生じる経済的レントで、暗号ではなく合意設計の帰結」。フロントラン/バックラン/サンドイッチの区別(被害者Txの前・後・両側)と、DEXのスリッページ搾取の機序を説明できること。PBSは「MEVを消すのでなく提案者から分離してビルダー競争に載せ、集権化とスパムを緩和する」と一言で言えると強い。time-bandit攻撃がファイナリティを脅かす点まで触れられれば上級です。
まとめ
- MEV はブロック提案者・ビルダーが持つトランザクション順序の決定権から抽出できる価値で、暗号の欠陥ではなく順序という権限に内在する経済的帰結である。
- 攻撃面は公開メモリプール。保留中Txが実行前に全員へ見えるため、被害者Txの前・後・両側に自分を差し込むフロントラン/バックラン/サンドイッチが成立する。DEXのスリッページが典型的な搾取回路。
- 順序取りはガス価格競争(PGA) で行われ、手数料高騰とスパムの外部性を生む。許容スリッページ上限を広げるほど搾取余地が増える。
- time-bandit攻撃は過去ブロックのMEVを奪うためのリオーグで、MEVは利用者被害にとどまらず確率的ファイナリティ=合意の安全性を揺さぶる。
- PBS は順序構築を提案者から分離し、MEVをビルダー間の入札競争へ載せて還元・平準化する。MEVは消えないが集権化とスパムを緩和する。緩和策の軸は「可視性を断つ」か「順序依存性を消す」かの二択で、いずれも信頼前提やUXとのトレードオフを伴う。
ブロックチェーン Article
MEVとフロントランニングを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
ブロックチェーン
比較で見る軸
難易度: advanced / カテゴリ: ブロックチェーン / タグ数: 6
導入後に効く点
保留中トランザクションが公開メモリプールに晒されるため、フロントラン(先回り)・バックラン・サンドイッチ攻撃が成立する。DEXの価格スリッページが搾取の典型的な回路になる。
先に潰すリスク
用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。
- 難易度
- advanced
- カテゴリ
- ブロックチェーン
- タグ数
- 6
判断チェックリスト
- 自社の用途が「ブロックチェーン / 分散台帳」に近いか確認する。
- 強みである「MEVは、ブロック提案者・ビルダーがトランザクションの含める・除く・並べ替える裁量を握ることから抽出できる価値。順序決定権そのものが利益の源泉であり、暗号ではなく経済で生じる。」が本当に評価軸になるか確認する。
- 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。