サンドイッチ攻撃は、一般的によく知られる「フロントランニング」とどう違うのか。なぜ特に防ぎにくいのか?
一般的な文脈でのフロントランニングは通常「あなたより先に同じ取引を完了させる」ことを指すが、サンドイッチ攻撃はより精密だ——攻撃者はあなたの取引を追い抜こうとするのではなく、あなたの取引を「挟み込む」——前後にそれぞれ自分の取引を挿入し、あなたの取引がその間で実行されるようにする。つまり攻撃者は「どちらが先に成立するか」であなたと競争する必要はなく、自分の2つの取引をあなたの前後にそれぞれ確実に配置できればよいのだ。
防ぎにくい理由は、この一連の操作の発動条件がただ一つに絞られる点にある——あなたの取引意図が公開mempoolに現れて初めて、攻撃者に見える状態になる。取引がまだブロックにパッケージされておらず、確認待ちの状態である限り、mempoolを監視するボットは理論上、あなたが何をしようとしているか、どれだけの資金を使うか、どこまでのスリッページを許容するかをすべて把握できる。これはイーサリアムの取引メカニズムが「先に公開し、後でパッケージ化する」設計になっていることによる構造的な露出であり、ユーザーの操作ミスによるものではない。
サンドイッチ攻撃の利益がすでに平均1件あたりわずか3ドルまで圧縮されているなら、この問題はほぼ解決に近づいているということか?
表面的な数字はそう誤解させやすいが、実態は「問題の消滅」というより「戦場の移動」に近い。2025年を通じて、515の異なるボットがイーサリアム上で何らかの形で活動していたが、典型的な月に実際に継続して取引を実行していたのは約100個にすぎず、そのうち累計利益が1万ドルを超えたのはわずか6つのボットだった——これはこのニッチ分野の競争が激化し、大半の参加者の利幅がほぼ損益分岐点(約3分の1のボットが-10ドルから10ドルの間で推移)、あるいは純損失(約3割のボットが正味赤字)に押し込まれていることを示している。
しかし攻撃件数自体は減少しておらず、月間6万〜9万件の高水準を維持し続けている。これは被害者全体のリスクエクスポージャーが減少していないことを意味し、単に個々の攻撃から得られる利益が薄くなっただけだ。1件あたりの利益低下は主にボット間の競争激化を反映しているのであり、ユーザー側の保護が実際に効果的に向上しているかどうかとは別の問題として検証する必要がある。
Jaredのボット戦略はなぜ市場シェアの約7割を占めることができたのか。技術力が優れているからか?
純粋な技術的優位性だけではなく、より決定的なのは戦略的な位置づけの違いだ。Cointelegraph Researchの分析によれば、Jaredの戦略の核心は「量で勝つ」ことにある——多くのボットが十分に利益率の高いターゲットのみを厳選するのに対し、Jaredはわずか数セントの利益しか出ない極小規模の攻撃も含め、可能な限り多くの機会を捕捉することを優先する。この戦略は、ガスコストが単発の攻撃収益に対して相対的に低い環境下で特に有効に働く。個々の利益がわずかであっても、規模を積み重ねることで総量はかなりの額になるためだ。
これはまた、Jaredの戦略が確実に儲かるものではないことも示している——2025年4月、このボットの利益率は一時マイナス20%となり、単月で約1.2万ドルの損失を出した。これは、市場シェアが最も高いプレイヤーであっても、競争の激化やガスコストの変動、スリッページ計算の誤りによって損失を被りうることを示している。「市場シェアが高い」ことは、戦略実行における規模とスピードの優位性を反映しているにすぎず、このビジネス自体にリスクがないことを意味するわけではない。
amountAMinの設定やフロントラン防止RPCへの切り替え以外に、一般トレーダーが過去の取引がサンドイッチ攻撃を受けたことがあるかを確認する、より直接的な方法はあるか?
ある。しかも有料ツールに頼る必要はない。自分の取引ハッシュ(transaction hash)をEtherscanなどのブロックチェーンエクスプローラーで検索し、その取引が含まれるブロック番号を特定した上で、同じブロック内であなたの取引の直前直後に位置する他の取引を確認する。もし直前と直後にそれぞれ1つずつ取引があり、取引相手のアドレスが同一で、資産も密接に関連している(例えばあなたが取引したのと同じペアを操作している)場合、これはサンドイッチ攻撃の典型的な指紋だ。一部のブロックエクスプローラーやMEV専門の追跡プラットフォーム(EigenPhi公式サイトのEigenTxツールなど)は、ある取引がサンドイッチ攻撃の被害取引として分類されているかを直接表示してくれることもあり、手動での照合作業を省ける。
もし自分が過去に被害に遭ったことが確認できたら、教訓を得て今後スリッページ保護を設定すること以外に、そのプールと当該ボットアドレスが繰り返し出現するパターンがないかにも注目する価値がある。特定の少数の低流動性プールで頻繁に取引しているなら、それは同じボット群の狩場に自らを繰り返しさらしていることに等しく、流動性がより深く、スリッページリスク自体が低いプールへの切り替えを検討する価値がある。
2025年1月20日、あるユーザーがUniswap V2の流動性が低いプールに流動性を追加しようとした。9.946 WBTCと同等額のwaBTCを預け入れる計画だった。取引全体は1ブロック未満の時間で完結したが、このユーザーは約87万ドルを失う結果となった——これはEigenPhiがこれまで記録した中でも最大級のサンドイッチ攻撃の一つであり、その一部始終がオンチェーンに永久に記録され、誰でも事後に再構築できる。
攻撃者が操作するボット(アドレスは0xe2cdで始まる)は、被害者の取引が公開mempoolに入っているのを発見すると、同一ブロック内に3つの取引を挿入した。1つ目の「フロントラン」取引は、95.1184 ETHを2.9336 WBTCに交換してプールに預け入れ、被害者に先んじてwaBTC対WBTCの交換レートを極端な水準まで押し上げた。2つ目は被害者本来の取引だが、amountAMin(許容可能な最小数量)という保護パラメータを設定していなかったため、操作された極端なレートのまま実行され、預け入れられた資産構成が大きく希薄化した。3つ目の「バックラン」取引は直後に、ごくわずかなwaBTCを12.8778 WBTC——ボットが当初投入した2.9336 WBTCを含む——に交換し直し、純利益9.9442 WBTCを得た。攻撃者は最終的に利益を360 ETH超に換金し、ブロックビルダーのTitan Builderに22.6 ETHのチップを支払い、自らは約337.9 ETHを手元に残した。
注目すべきは、この攻撃による価格の歪みがバックラン取引の完了とともに終わらなかった点だ。EigenPhiが後に同一ブロックを解析したところ、少なくとも他の2つのボットがこの価格変動の波に乗じていたことが判明した。1つのボットはこの攻撃によって生じたプール間の価格差を利用した裁定取引で約2.7万ドルを追加で得た。もう1つのボットは11.3 ETHという異例の高額チップを支払ってブロック内の枠を確保し、中央集権取引所で同時に対応する裁定取引を行っていたとみられる。この事件全体で複数のボットに合計84万ドル超の利益がもたらされ、主犯のサンドイッチボット単独で約79.6万ドルを手にした。これは、単一のMEV機会が孤立した一回限りの出来事であることは稀であり、しばしば一連の連鎖的な裁定取引を引き起こすことを示している。
視点をイーサリアムエコシステム全体に広げても、この事例は例外ではない。EigenPhiがCointelegraph Researchに提供したデータによると、2024年11月から2025年10月までの1年間で、イーサリアム上で9.5万件超のサンドイッチ攻撃が記録され、そのうち約70%が「jaredfromsubway.eth」という仮名で活動する単一のボットに関連していた。このボットの最新バージョン(v2)は、最大4人の被害者を同時に狙う複合攻撃戦略に進化しており、フロントランとバックランの間に追加の「センター取引」を挿入し、交換レートをさらに極端に押し上げることもある。全体の抽出額は2024年末の単月約1,000万ドル近くから、2025年10月には約250万ドルまで縮小したが、攻撃件数は月間6万〜9万件の高水準を維持し続けている——利益の減少は攻撃の減少を意味せず、各ボットに配分される取り分が薄くなっただけである。
もしDEXでの取引において想定以上のスリッページを経験したことがあるなら、それは偶然ではなく、サンドイッチ攻撃の直接的な結果である可能性が高い——特にステーブルコインやラップド資産といった「低ボラティリティ」プールで取引していた場合はなおさらだ。データによると、攻撃の4割近くがまさにこうしたプールを標的にしている。多くのトレーダーがこれらの資産に厳格なスリッページ保護を設定しないため、最も狙われやすいターゲットとなっているのだ。実際に自衛できる方法は2つあり、いずれも技術的な知識は不要だ。第一に、ウォレットや取引インターフェースの取引ルーティングをMEV-ShareやMEV Blockerといったフロントラン防止RPCサービスに変更し、あなたの取引意図が事前に公開mempoolに露出しないようにすること。第二に、どのプラットフォームで取引する場合でも、「許容可能な最小数量」というスリッページ保護パラメータを必ず設定し、空欄のままにしたり過度に緩い値にしたりしないことだ。前述の87万ドルを失った被害者は、まさにこの一手順を省いたために被害に遭った。