サンドイッチ攻撃とは?DEXの大口取引に隠された罠を紹介

プロトレーダー 木田陽介のイチ押しポイント!


  • サンドイッチ攻撃とはDEXで行われる注文の順番を意図的に操作する行為
    • DEXでは注文がプールされているため、そこから大口取引を見つけて買いと売りを挟む行為
    • 大口の買いは価格が上昇するため、大口取引の前に買い注文を入れ、大口取引の後に売り注文を入れる
  • 普通はDEXでは注文がプールされており、誰かが取引を取り出して新しいブロックを生成する
    • 注文プールから取り出されて実行される取引は、注文した順番とガス代の多さで決まる
    • ブロック生成者は、価格が上がることを知ると、ガス代をあげて自分の注文を前に入れる
  • 色々な対策が施されているが、ユーザーができる対策はあまりない
    • サンドイッチ攻撃を防ぐMEV Boostや対策を練っているプラットフォームを使用する
    • スワップ時のガス代を高く設定したり、スリッページ設定を狭くする(確実な対策ではない)
木田 陽介

DEXでの取引時に気をつけたいサンドイッチ攻撃について紹介します!
これはスリッページ主な原因となっており、特に大口取引の前後で狙われることが多いので、対策をしておきましょう!

木田 陽介

私もにゃんまるコイン(NYAN)をはじめとする様々なミームコインをスワップしているのですが、Raydiumでの取引時にこういったサンドイッチ攻撃に逢うことがあります。
私はある程度許容しているのと、大きい取引を一度にせず小分けにして取引をすることでサンドイッチ攻撃を防いでいます!

木田陽介
GFA WEB3アドバイザー

2016年から仮想通貨トレードを開始。2017年に株式会社CoinOtakuを共同で創業。同年CoinOtakuの代表に就任。2020年に東証二部上場企業のビートホールディングスに6億円でM&Aをし、同企業にて2020年10月〜12月の3ヶ月間で仮想通貨運用益2500万円を達成する。現在はCoinOtaku代表を退任し、GFA株式会社のWEB3アドバイザーに就任。

監修 木田 陽介
GFA WEB3アドバイザー

2016年仮想通貨トレード開始。2017年株式会社CoinOtaku共同創業。同年CoinOtakuの代表に就任。2020年に東証二部上場企業のビートホールディングスに6億円でM&Aをし、同企業にて2020年10月〜12月の3ヶ月間で仮想通貨運用益2500万円を達成する。現在はCoinOtaku代表を退任し、GFA株式会社のWEB3アドバイザーに就任。

目次

サンドイッチ攻撃とは

サンドイッチ攻撃の定義

サンドイッチ攻撃とは、メモリプール上に公開されたユーザーの未確定取引を攻撃者が監視し、先回りして購入(フロントラン)し、ユーザーが取引を実行した直後に売却(バックラン)する行為を指します。

ユーザーが買おうとしたトークンの価格をあらかじめ上げ、その分をユーザーに負担させて、直後に攻撃者自身が売り抜けるため、結果的にユーザーに不利な価格が適用されます。
このような取引を行えるbotや技術者がいるため、ユーザーは大口注文の際に不利になることがたまにあり、問題視されています。

取引の前後をはさむように介入する形がパンに挟まれた具材に例えられたことが、サンドイッチという名前の由来だとされています。

具体例
1.トークンを10,000ドルで購入する注文が入る
2.10,000ドルの注文が実行される前に自分が買い注文を実行する
3.10,000ドルの注文を実行する
4.大口の買いによって価格が上がった後に自分の購入分を売却する

サンドイッチ攻撃の一般的なシナリオ

大口のトークン購入が検知されると、その注文が通った後にはトークン価格が上昇する可能性があります。
攻撃者はこの値上がりの瞬間を利用するため、ユーザーの買い注文より先に買い、ユーザーが高い価格で買うタイミングに合わせて自身の持ち分を売り払います。

挟み撃ちされたユーザーは、想定より高いレートでトークンを買わされるため、いつの間にか損をしてしまうわけです。

上下両方から詰められる様子がサンドイッチに似ていることから、この名称が定着したとも言われています。

サンドイッチ攻撃の仕組み

フロントランとバックランの具体例

サンドイッチ攻撃を仕掛ける時は、攻撃者が未承認取引をリアルタイムに監視し、狙いを定めた取引を見つけると、高いガス代を設定して自分の買い注文を先に承認させます。

ユーザーの買い注文が続いて実行される頃には、プール内のトークン量が減り価格が上昇しているため、ユーザーは通常より不利な価格で購入することになります。
その後、攻撃者はすぐに売り注文を送るため、値上がりした分の差額を手に入れる仕組みです。

わずかな時間差の取引であっても、自動化されたボットを使用していれば、瞬時に繰り返し仕掛けられる点が特徴と言えます。

トランザクション順序の操作とメモリプール可視性

ブロックチェーンでは、マイナーやバリデータが複数の取引を同じブロックにまとめて処理します。
その際、誰の取引が先に実行されるかは、基本的にガス代の高さとネットワーク状況で決まります。

さらに、メモリプール上で取引内容が公開されているため、悪意ある第三者が事前に詳細を把握できるのです。こうした仕組みがサンドイッチ攻撃を成立させる背景とされています。

サンドイッチ攻撃が起こる条件

大きなスリッページ許容度

スリッページとは、注文を出したときの価格と実際に約定した価格の差を指します。
大きめのスリッページを許容すると、多少の価格変動があっても取引が通るようになりますが、その幅が大きすぎると攻撃者にとって好都合な状況になります。

価格を無理やり上下させても、ユーザーの取引がキャンセルされず実行されるため、損失を引き起こしやすいと言えるでしょう。

流動性プールの仕組み

自動マーケットメイカー型の分散型取引所(AMM DEX)は、資金をプールする形で価格を計算します。
大きな買い注文が入るとプール内の残高が変動し、結果的に価格が上がりやすくなります。

攻撃者はこの瞬間を利用して先に買い、ユーザーの影響で上がった価格で自分が持っているトークンを売却するのです。

流動性が少ないプールほど価格が大きく動きやすいという傾向があるため、サンドイッチ攻撃にも利用されやすいです。

サンドイッチ攻撃が起きるとどうなるか

ユーザーへの影響

ユーザーが想定していたレートよりも高い価格で購入することになり、気づかないうちに損失が発生してしまいます。
一見すると、正常にスワップやトレードが完了しているように見えますが、支払額が微妙に増えていたり、受け取りトークンが減っていることに後から気づくケースもあります。

個々の取引で小さな損失にとどまることもありますが、大きな額で行われるたびに積み重なり、相当な金額が抜き取られてしまう可能性があります。

プロトコルや市場への影響

サンドイッチ攻撃が頻発すると、市場の健全性が失われ、DEXに対する信頼が低下するかもしれません。

取引コストが不透明になったり、公平な価格形成が妨げられたりするため、参加者が敬遠することも考えられます。
その結果、流動性が低下してさらに攻撃を受けやすくなるという悪循環に陥るリスクがあるため、プロトコル開発側としても無視できない問題とされています。

サンドイッチ攻撃で実際に起きていること

ブロックチェーン上のトランザクションレベルでの動作

攻撃者とユーザーの取引は、1つのブロックに含まれてほぼ同時に処理される場合があります。
しかし、先に実行されるか後に実行されるかだけで結果が大きく変わります。

メモリプールで順番をコントロールできる点が最大の弱点になっており、ほぼリアルタイムで攻撃用のボットが動いていると考えられています。

攻撃者ボットの概要

多くの攻撃は自動化されており、攻撃者がいちいち手動で取引を作成しているわけではありません。
メモリプールを常時監視するプログラムが、スワップの金額やスリッページ設定を計算して「儲けるチャンス」があると瞬時に判断し、先買いや先売りを発注しています。

こうした行為はMEV(Maximal Extractable Value)と呼ばれ、サンドイッチ攻撃はその代表例の一つとなっています。

サンドイッチ攻撃の対策

プロトコルレベルの対策

MEV保護RPCやプライベート送信

最近ではFlashbotsなどの仕組みを使って、取引を一般のメモリプールに公開せずブロック提案者へ直接送る方法が検討されています。

こうしたプライベート送信を利用すれば、攻撃者ボットに取引内容を察知されにくくなるため、サンドイッチ攻撃を減らせる可能性があります。

取引順序のランダマイズやオフチェーンオーダーブック

一部のプロトコルでは、ガス代だけで優先度を決めるのではなく、順序をランダム化するアプローチも模索されています。あるいはオフチェーンでオーダーブックを管理し、ブロックチェーン上にまとめて反映する方式で、フロントラン自体を抑制しようとする試みも行われています。

ユーザーが取れる対策

スリッページ設定の最適化

最も基本的な対策として、スリッページの許容幅を小さめに抑える方法が挙げられます。

特に大きな額を扱う場合や、値動きの激しいトークンを扱う際は慎重に設定しておけば、価格操作を大きく行われる前に取引が失敗するため、被害を最小限に抑えられます。

ツールやウォレットの活用

MEV対策機能を備えたウォレットやプライベートRPCを提供するサービスを利用すれば、攻撃リスクが低下する可能性があります。

さらに専門のツールを使って自分の取引がメモリプール上にどのように並んでいるかを監視する技術も存在するため、そうした情報をもとにして複数回に分割して取引するなどの工夫ができます。

サンドイッチ攻撃を理解するうえでの注意点

MEV全体の脅威との関連

サンドイッチ攻撃はMEV(Maximal Extractable Value)という大きな概念の一部分でしかありません。
他にもアービトラージや清算の順番操作など、さまざまな手口が存在します。

ブロックチェーンの透明性とガス代競争がある限り、同様のフロントラン問題は今後も続く恐れがあります。

最新の動向と継続的なアップデートの必要性

セキュリティ研究やプロトコル開発の分野では、新しい対策手法が継続的に提案されています。
攻撃者側も対策が実装されればそれをすり抜ける方法を研究し、イタチごっこになる可能性があります。

そのため、定期的にウォレットやDEXの機能を見直し、最新バージョンや追加機能を活用していく姿勢が大切だと言えます。

サンドイッチ攻撃 まとめ

サンドイッチ攻撃は、未承認取引を確認できる仕組みが根底にあり、トークン価格が変動するタイミングを巧みに利用されています。

大きな損失につながる可能性がある一方で、対策方法も複数考案されているのが現状です。

ユーザー個人が注意を払うだけでなく、プロトコルレベルの対策や新しい技術の導入が進むことでリスクの低減が期待されています。
自分の取引が狙われていないかを意識しながら、最適な方法でスワップやトレードを行ってみてください。

この記事が気に入ったら
フォローしてね!

  • URLをコピーしました!
目次