教育目的のみであり、セキュリティまたは投資に関する助言ではありません。スリッページ制御やプライベートルーティングはサンドイッチ攻撃への露出を減らせますが、約定品質、ブロックへの収録、ファイナリティ、損失回収を保証しません。
直接の答え
サンドイッチ攻撃とは、攻撃者がユーザーのスワップの直前に一つ、直後にもう一つの取引を配置する、有害な最大抽出可能価値の手法です。最初の取引がプール価格をユーザーに不利な方向へ動かし、ユーザーは悪いレートで約定し、最後の取引で攻撃者はユーザー注文によって一部形成された価格を使ってポジションを解消します。
成立には、ユーザーの意図を事前に把握できること、または優先的に順序を決められること、十分な価格影響、そしてスワップをなお成功させる執行条件が必要です。自動マーケットメーカーのスワップでよく論じられますが、より広くは、順序付けによって第三者が価値を抽出できる予測可能な状態変化がリスクになります。
仕組み
ユーザーがスワップに署名して送信します。ブロック収録前に詳細が公開トランザクションプールや観測可能な注文フローへ届くと、サーチャーは資産、数量、経路、最低受取量、期限を読み取り、取引順序をシミュレーションできます。
AMM プールでの買いでは、サーチャーが先に買います。このフロントランで準備金が変わり、ユーザーの執行価格が上がります。結果が最低受取量の条件内であれば、ユーザーは事前見積もりより少ない出力トークンを受け取ります。サーチャーはユーザーの後にバックランで売り、価格変化の一部を得ます。
総受取額は利益と同じではありません。攻撃者は二回分のスワップ手数料、Gas またはビルダーへの支払い、失敗試行、在庫リスクを負います。競争、別の取引、ユーザー取引のリバート、ブロック順序の変更で損失になることがあり、サンドイッチは自動的にアトミックでも成功保証でもありません。
スリッページ保護は最悪の許容出力を制限するもので、順序付け自体を防ぎません。許容幅が広すぎると不利な約定余地が増え、狭すぎると相場変動時に正当なスワップもリバートしやすくなります。アプリや統合コントラクトは、ゼロや古い固定値ではなく、現在の見積もりに基づきユーザーが承認した最低出力と適切な期限を強制すべきです。
プライベート送信、保護された注文フロー、バッチオークション、インテント型執行、注文分割は、一部のシステムで露出を減らせます。効果は、注文を見られる仲介者、ビルダー範囲、フォールバック、流動性、手数料、実装に左右され、「プライベート」や「MEV 保護」という表示は普遍的な保証ではありません。
例
ユーザーが AMM プールでトークン A をトークン B に交換する可視のスワップを送信します。サーチャーは、注文がプール価格を動かすほど大きく、ユーザーの最低出力にも不利な価格変化後に約定できる余地があるとシミュレーションします。
サーチャーが先にトークン B を買い、ユーザーが悪化したレートで買い、その直後にサーチャーがトークン B を売ります。ユーザーは署名した最低量以上を受け取るものの、以前の見積もりより少なく、サーチャーにはスワップ手数料、順序付け費用、執行コスト控除後の残額だけが残ります。
リスク
ユーザーへの直接的な損害は、約定条件の悪化と実効スリッページの増加です。失敗した実行にも課金するチェーンや設計では、スワップがリバートしても Gas を消費する場合があります。薄い流動性、可視の大口注文、緩い制限、激しい変動、予測可能な経路は露出を高めますが、攻撃発生を証明する単一の基準はありません。
対策にもトレードオフがあります。小口分割は総手数料を増やし反復戦略を漏らす可能性があり、厳しい制限はリバートを増やします。プライベート経路には信頼、検閲、ログ、フォールバックの問題があり、保護機能は一部のチェーンや経路だけを対象とする場合があります。保護バッジではなく、署名した最低出力、期限、経路、エンドポイント方針、レシート、必要なファイナリティを確認してください。
よくある誤解
- 不利な価格変化はすべてサンドイッチ攻撃である。 通常の価格影響、市場変動、経路変更、裁定でも見積もりとの差は生じるため、特定には取引順序の証拠が必要です。
- 攻撃者はウォレットからトークンを直接盗む。 典型例は承認済みスワップの前後でプール状態を変えるもので、攻撃者の取引がユーザーのウォレットから直接資産を移す必要はありません。
- スリッページ許容値を何か設定すれば防げる。 最低出力は許容悪化を制限しますが、サーチャーは境界近くで成功するよう攻撃を最適化できます。
- プライベート送信は MEV をなくす。 公開プールから隠せても、RPC 運営者、リレー、ビルダー、ソルバー、公開フォールバックが観測または影響する可能性があります。
- 成功レシートは公正な約定を証明する。 成功はコントラクト条件の通過を示すだけで、最良価格や有害な順序付けの回避を証明しません。
関連トピック
出典
- Maximal extractable value (MEV) - Ethereum.org (accessed: 2026-08-21)
- What is a sandwich attack? - Uniswap Labs (accessed: 2026-08-21)
- SCWE-090: Missing Slippage Protection in Automated Token Swaps - OWASP Smart Contract Security (accessed: 2026-08-21)