サンドイッチ攻撃とは?あなたの資産を守るための知識
サンドイッチ攻撃(Sandwich Attack)は、分散型金融(DeFi)の取引において、悪意のある攻撃者がユーザーの取引を自身の取引で前後から「挟む」ことで、不正に利益を上げる手法です。これはMEV(最大抽出可能価値)の一種であり、特にUniswapのような自動マーケットメーカー(AMM)を利用するDEX(分散型取引所)で頻繁に発生します。ユーザーは気づかないうちに不利な価格で取引させられ、資産の一部を搾取されてしまいます。本記事では、サンドイッチ攻撃の具体的な仕組み、被害事例、そして個人でできる防御策までを網羅的に解説します。
H2: 取引が挟まれるサンドイッチ攻撃の巧妙な仕組み
サンドイッチ攻撃を理解するには、まずブロックチェーンの「メモリプール(mempool)」の概念を知る必要があります。メモリプールとは、ユーザーが実行した取引(トランザクション)が、ブロックチェーンに正式に記録される前に一時的に待機する場所です。このメモリプールは公開されているため、誰でも中身を見ることができます。攻撃者はこの透明性を悪用します。
攻撃のプロセスは、以下の4ステップで進行します。
-
監視(Monitoring): 攻撃者は専門のボットを使い、メモリプールを常に監視しています。そして、スリッページ許容度が高く、価格への影響が大きい(=儲けの大きい)取引を探し出します。
-
フロントランニング(Front-running): 標的の取引を見つけると、攻撃者はその取引が実行される直前に、同じ資産に対する「買い注文」を、より高いガス代(手数料)を設定して実行します。高いガス代を支払うことで、自身の取引が標的の取引より先にブロックに記録されるように仕向けます。この先回りした買い注文により、資産の価格は上昇します。
-
被害者の取引執行: 攻撃者の買い注文によって価格が吊り上げられた後、被害者(標的)の元の取引が実行されます。被害者は、自身が取引を開始した時点よりも不利な(高い)価格で資産を購入することになります。スリッページ許容範囲内であれば、この不利な取引は成立してしまいます。
-
バックランニング(Back-running): 被害者の取引が成立し、価格がさらに上昇した直後、攻撃者はフロントランニングで得た資産を即座に「売り注文」に出します。この取引も、被害者の取引の直後に実行されるよう調整されます。結果として、攻撃者は短期間の価格操作によって得られた差額を利益として確定させます。
このように、被害者の取引が攻撃者の2つの取引に挟まれる形になることから、「サンドイッチ攻撃」と呼ばれています。
H2: MEV(最大抽出可能価値)とサンドイッチ攻撃の関係
サンドイッチ攻撃は、MEV(Maximal Extractable Value / 最大抽出可能価値)という、より大きな概念の一部です。MEVとは、ブロックチェーンのブロック生成者が、取引の順序を任意に並べ替えたり、取引を追加・除外したりすることによって得られる、正規のブロック報酬やガス代を超える潜在的な利益の総称です。現在では、ブロック生成者だけでなく、ボットを運用するサーチャー(探索者)が得る利益も広くMEVと呼ばれています。
サンドイッチ攻撃は、取引の順序を操作することで利益を生み出す典型的なMEV戦略です。攻撃ボットは24時間365日、メモリプールを監視し、利益の出る機会を自動的に探して実行します。このプロセスは高度に自動化されており、人間が手動で太刀打ちできるものではありません。
H2: 現実に起きたサンドイッチ攻撃の被害事例
サンドイッチ攻撃は理論上の脅威ではなく、日々DeFiユーザーから実際に資産を奪っています。その被害規模を示すいくつかの事例を紹介します。
-
事例1: MEVボット「jaredfromsubway.eth」: 2023年4月のミームコインブームの際、この名前で知られるMEVボットは、PEPEトークンなどの取引に対してサンドイッチ攻撃を仕掛け、わずか1週間で約270万ドル(当時のレートで約3.6億円)もの莫大な利益を上げたと報告されています。これは、特定のボットがいかに効率的に巨額の利益を上げられるかを示す好例です。
-
事例2: BNBスマートチェーン(BSC)での大規模攻撃: 2023年後半、BSCではサンドイッチ攻撃の割合が過去最高を記録し、ある日には全ブロックの35.5%がサンドイッチ攻撃の影響を受けるという異常事態が発生しました。この1日で43,000件以上の取引が攻撃対象となり、ユーザーは多大な損失を被ったと見られています。
-
事例3: Solanaブロックチェーンへの展開: この問題はイーサリアムに限りません。高速な処理能力を持つSolanaブロックチェーン上でも、「arsc」と名付けられたボットが、サンドイッチ攻撃によって1日に数百万ドル規模の利益を得ていると指摘されており、エコシステム全体の課題となっています。
H2: 個人でできる5つのサンドイッチ攻撃対策
幸いなことに、ユーザー側でサンドイッチ攻撃のリスクを大幅に軽減するための対策がいくつか存在します。
-
スリッページ許容度を低く設定する: DEXで取引する際、スリッページ許容度をできるだけ低く(例: 0.1%〜0.5%)設定することが最も簡単で効果的な対策です。これにより、攻撃者が価格を少しでも吊り上げると、あなたの取引は自動的に失敗するため、攻撃を未然に防ぐことができます。
-
取引を小口に分割する: 攻撃ボットは、一度の取引で得られる利益が大きい、大口の取引を主な標的とします。したがって、大きな金額を一度に取引するのではなく、複数回の小さな取引に分割することで、ボットのターゲットになる可能性を下げることができます。
-
MEV保護機能を持つRPCを利用する: Flashbots Protect RPCのような、MEV保護機能を備えたカスタムRPCエンドポイントをウォレット(例: MetaMask)に設定する方法があります。これらのサービスは、あなたの取引を公開メモリプールを経由させず、ブロックビルダー(ブロック作成者)に直接送信します。これにより、攻撃ボットに取引を検知されることなく、安全に実行できる可能性が高まります。
-
MEV対策が組み込まれたDEX/アグリゲーターを選ぶ: CoW Swapや1inch Fusion(旧1inch+)のような一部のDEXアグリゲーターは、サンドイッチ攻撃対策をプロトコルレベルで導入しています。これらは、複数の注文をまとめて処理する「バッチオークション」方式や、専門のソルバーに取引を委託する仕組みを用いて、取引の順序操作による搾取を防ぎます。
-
プライベートトランザクション機能: 一部のウォレットやDeFiツールには、取引を非公開で送信する機能が備わっています。これもMEV保護RPCと同様の考え方で、メモリプールでの露出を避けることで攻撃リスクを低減します。
H2: まとめ
サンドイッチ攻撃は、DeFiの透明性を逆手に取った巧妙な搾取手法であり、多くのユーザーが知らず知らずのうちに被害に遭っています。その仕組みは、メモリプールを監視するボットが、ユーザーの取引を先回りと後追いの取引で挟み込み、価格を操作して利益を得るというものです。
しかし、適切な対策を講じることで、そのリスクを大幅に減らすことが可能です。「スリッページ許容度を低く設定する」「取引を分割する」「Flashbots Protect RPCのような専門ツールを利用する」といった基本的な対策を徹底するだけで、あなたの資産はより安全になります。DeFiの世界では、自分の資産は自分で守るという意識が不可欠です。本記事で紹介した知識と対策を活用し、安全なDeFiライフを送りましょう。




