サンドイッチ攻撃は具体的に、私が取引しようとしていることをどうやって「知る」のか?取引が確定するまでは、本来プライベートであるべきではないのか?
直感的には、取引はブロックチェーン上で確定するまでは「まだ起きていない」のだから見えないはずだ、と考えがちだ。しかし実際には、取引がブロックに組み込まれる前に、まずメモリプール(mempool)と呼ばれる公開の待機領域にブロードキャストされ、ネットワーク上のバリデーターやマイナーがそれを見て次のブロックに組み込むかどうかを判断する必要がある。この待機領域は設計上公開されており、誰でもノードを立ち上げて、その中のすべての未確定取引の内容——どのトークンを、どの方向に、いくらで取引しようとしているか、そしてあなたが設定したスリッページ許容度まで——を継続的に監視できる。
これこそが、サンドイッチ攻撃があなたの取引を「知る」方法だ。あなたのウォレットをハッキングしたり秘密鍵を盗んだりするのではなく、単に誰にでも公開されている情報源を読んでいるにすぎない。これが「プライベートRPC」や「プライベートリレー」といった仕組みが効果的に機能する理由でもある。これらはあなたの取引を公開のメモリプールを迂回させ、ブロックを組み立てる側に直接届ける。攻撃者はそもそも見ることすらできないので、先回りのしようがない。
プライベートRPCがこれほど効果的なら、なぜすべてのDeFAI製品でデフォルトになっていないのか?そこにはどんなトレードオフがあるのか?
プライベートRPC(あるいはプライベートメモリプール)は、公開メモリプールでの先回り攻撃を効果的に防げるが、この仕組み自体にもコストがないわけではない。第一のトレードオフは信頼コストだ。取引を公開メモリプールを迂回させてプライベートなリレーサービスに送ることは、そのリレーサービス自体があなたの取引内容を盗み見たり、自ら先回りをしたり(これはまさに本記事で触れた別の攻撃パターン、プライベート経路でのサンドイッチ攻撃だ)、あるいはあなたの取引情報を第三者に売ったりしないことを信頼する、ということを意味する。プライベートリレーを使うことは、ある意味で「公開された分散型のメモリプールの仕組みを信頼する」ことから「特定の中央集権的なリレー提供者を信頼する」ことへの乗り換えでもある。
第二のトレードオフは速度だ。プライベートリレーは追加の検証と中継の工程を経るため、取引がブロックに組み込まれるまでの時間が、公開メモリプールを通す場合よりも遅くなることがある。「即時性」を売りにしているDeFAI製品のユーザー体験にとって、この遅延は製品設計上、天秤にかける価値のあるコストになり得る。これが、あらゆる場面で無条件にプライベートRPCを使うのが適切とは限らない理由でもある。金額が大きく、狙われやすい取引ほど、このトレードオフのコストを引き受ける価値がある。一方、少額でリスクの低い取引では、公開メモリプールの速度的な優位性の方が、かえって割に合う場合もある。
MEVボットがすでに戦略を動的に調整できるまで進化しているなら、スリッページ許容度を厳しく設定するだけで自分を守るには十分なのか?
スリッページ許容度は有効だが不完全な防衛線だ。許容度を厳しく設定することは、確かに攻撃者がサンドイッチ攻撃を通じてあなたから搾取できる最大金額を制限する——なぜなら、攻撃者の操作によって価格変動があなたの設定した許容範囲を超えると、あなたの取引はより不利な価格で成立するのではなく、単に失敗するからだ。これが、スリッページ許容度を緩い数字ではなく「ちょうど必要な分だけ」に設定することが、最も基本的で最も低コストな防衛線である理由だ。
しかしこの防衛線が対処するのは「1回の取引でどれだけ抜き取られるか」という問題であり、「攻撃者がそもそも自分を継続的に狙えるかどうか」という問題は解決しない。厳しいスリッページ許容度は、あなたが取引しようとしていることをすでに知っている攻撃者に対して、抜き取れるスプレッドを最小限に抑えるものだ。しかし、攻撃者がそもそもあなたの取引意図を見て、それに乗じるかどうかを決めること自体を防ぐことはできない。その層の防御は、プライベートRPCのように、あなたの取引を公開メモリプールにまったく現れないようにする仕組みによってのみ提供され得る。両方を組み合わせて使うこと(取引をプライベート経路で送りつつ、スリッページ許容度も厳しく設定すること)こそが、本記事が推奨する完全な防護であり、どちらか一方だけでは不十分だ。
自分でエージェントのコードを書いているわけではなく、既製のDeFAIプラットフォームを使っている——この場合、MEV防護は自分で設定すべきものなのか、それともプラットフォームが標準で備えているべきものなのか?
実務上、これは利用しているプラットフォームの種類によって異なり、まさにこれこそがDeFAI製品を評価する際に直接尋ねる価値のある質問だ。このプラットフォームがユーザーに代わって取引を送信する際、デフォルトで公開メモリプールを使っているのか、それともすでにプライベートなリレー経路が組み込まれているのか。プラットフォームがこの点についてまったく言及していない場合、最も基本的な、追加の防護のない経路を使っていると合理的に推測でき、MEVへのエクスポージャーはすべてユーザーが負っているにもかかわらず、そのことが明確に伝えられていないことになる。
注目すべきは、MEV防護が主要なウォレット(MetaMaskや一部の取引所ウォレットなど)やインフラ提供者において、ますます標準機能になりつつあるという点だ。有効化の方法は通常、RPCエンドポイントを置き換えるだけで、ユーザー側でコードを書く必要はない。あなたが評価しているDeFAIプラットフォームが、このようなすでに標準化された、手に入りやすい防護すら組み込んでいないのであれば、その事実自体が、そのプラットフォームの成熟度とユーザー保護に対する意識を測る具体的な指標として扱う価値がある。唯一の指標ではないが、推測に頼らず直接確認できる指標だ。
ユーザーがDeFAIエージェントを選ぶ理由は、しばしば「人間より速く反応できる」という謳い文句にある。しかし逆に考えてみてほしい。もしあなたのエージェントの行動パターンが人間のトレーダーよりも速く、規則的で、予測しやすいなら、それは同じ「速さ」を売りにする別のソフトウェア群——MEVサーチャーボット——にとって理想的な獲物にもなる。速度の優位性は一方向ではない。それはあなたの実行効率を高めると同時に、あなたが狙われる確率も高めるのだ。
MEV(Maximal Extractable Value、最大抽出可能価値)とは、ブロックビルダーやサーチャーボットが取引の順序を操作することで得る利益を指す。最も一般的な手口はサンドイッチ攻撃だ。保留中の取引がブロックに組み込まれるのを待って公開のメモリプール(mempool)に存在している間、誰もがその内容——スワップの方向、トークンの量、ユーザーが設定したスリッページ許容度——を見ることができる。MEVボットはその情報を読み取り、あなたの取引の前に同じ方向の取引を差し込んで価格を吊り上げる。あなたの取引がその吊り上げられた価格で成立すると、ボットはすぐに反対売買を行い、あなた自身の取引が引き起こした価格変動から生じたスプレッドを利益として得る。あなたが設定したスリッページ許容度は、実質的に「自分からどれだけ価値を奪われても構わないか」を攻撃者に伝えているようなものだ。
これは理論上の話ではなく、規模もかなりのものだ。サンドイッチ攻撃だけでも、DeFiトレーダーから9億ドル以上を抽出したと推定する研究がある。
人間のトレーダーの発注のタイミングやロジックには、ためらいや分割発注、気変わりといったノイズが多く含まれる。AIエージェントはその正反対だ。その優位性はまさに一貫性と規則性から来ており、同じ市場シグナルはほぼ毎回、ほぼ同じ形の取引を生み出す。この予測可能性は実行効率にとっては望ましいが、MEVサーチャーに対しては大きな弱点になる。サーチャーボット自体が本質的にパターン認識を行っており、行動パターンが極めて規則的なエージェントは、よりランダムに動く人間のユーザーよりも、はるかにモデル化・予測・待ち伏せされやすい。
さらに悪いことに、AI駆動のMEVボット自体も急速に進化している。入札価格と売却価格を動的に調整し、最適なガス代を正確に計算し、複雑な取引の組み合わせを協調させることができ、特定の被害者の取引を狙ったサンドイッチ攻撃は、検知や回避がますます難しくなっている。言い換えれば、これはもはや「AIエージェント対従来のボット」ではなく、急速に「AI対AI」の軍拡競争へと変わりつつあり、規則性こそがあなた側の最大の弱点なのだ。
あなたのエージェントがオンチェーンで取引を実行しているなら、確認すべき、あるいは要求すべき具体的な防護策がいくつかある。第一に、取引がプライベートなリレー経路(プライベートRPCやFlashbots Protectのようなサービス)を通じて送信されているか。これにより、取引が確定される前に公開のメモリプールにまったく現れないようにできる——これは現時点でサンドイッチ攻撃を阻止する最も直接的かつ効果的な方法だ。攻撃者は取引が来ることすら見えないため、先回りしようがない。第二に、スリッページ許容度が「ちょうど必要な分だけ」に設定されているか、それとも便宜上緩めの数字が設定されているか。許容度が緩いほど、攻撃者に残す操作の余地は大きくなる。第三に、あなたのエージェントが構造的に似た取引を定期的に実行する必要がある場合(一定周期のリバランスなど)、その規則性自体が一種のエクスポージャーであることを認識すべきだ。実行のリズムが予測しやすいほど、プライベートチャネルを通じた実行を優先的に検討する価値がある。MEVへの防御は一度設定すれば終わりというものではなく、攻撃手法の進化に合わせて継続的に調整していく必要がある。