サンドウィッチ攻撃の被害
皆さんは、分散型取引所(DEX)であるユニスワップ(Uniswap)などを利用してトークン購入を行った際に、タッチの差で高額な買い注文が入り、高い価格で取引してしまった経験はないでしょうか?この現象は、不正な取引行為である「サンドウィッチ攻撃」の仕業である可能性があります。
「サンドウィッチ攻撃」は、フロントランとバックランの組み合わせであり、他のユーザーの注文を見てから自身の大規模な買い注文を差し込み、その後に売り注文を行うことで不公平に利益を得る行為です。
「サンドウィッチ攻撃」の具体的な事例を理解するため、データ分析サイト「DEXTools」の情報を参照します。このサイトでは、サンドウィッチ攻撃に関連するトランザクションが視覚化されており、攻撃のメカニズムを詳しく把握することが可能です。
例えば、ユニスワップでの「PEPE」トークンの取引履歴を見てみると、中央の買い注文が2つの取引(赤色のマーク付き)に挟まれている様子が確認できます。
数字を見てみると、一つ目の取引で191.197 ETHを使って239,771,660,191 PEPEを購入したことにより、被害者の取引価格は以前のレートから約10%高い$0.0s1547となっています。そしてその直後に、同じ量のPEPEが売却され、価格は再び以前の水準に戻りました。
その結果、攻撃者は191.365 ETHを回収し、差額の0.17ETHの利益を得ました。これがサンドウィッチ攻撃の実態です。
このような不正な行為は、イーサリアム(ETH)だけでなく、BNBチェーンなど、ユーザーや取引量の多いブロックチェーン上でも頻繁に発生しています。私たちユーザーはその存在に気づかず、取引を行う過程で資産を失う可能性があるのです。
しかしながら、取引時のスリッページ(価格の変動)の許容範囲を細かく設定したり、フロントランニング対策を講じているDEXを利用することで、サンドウィッチ攻撃から自身を守る手段もあります。
今回の記事では、ブロックチェーン上の分散型金融(DeFi)市場におけるサンドウィッチ攻撃の問題に焦点を当てて解説します。また、これに伴う一般的なリスクと、これらの問題を含むより大きな現象である「MEV」(最大抽出可能価値)についてもご紹介します。
目次
- サンドウィッチ攻撃の被害
- Jaredボットの台頭
- サンドウィッチ攻撃の手口
- サンドウィッチ攻撃の影響
- サンドウィッチ攻撃の対策①:DEX
- サンドウィッチ攻撃の対策②:MEV Blocker
- MEV Blockerの利益還元スキーム
- MEV Burnに関する議論
Jaredボットの台頭
最近、分散型取引所(DEX)におけるサンドウィッチ攻撃を行う高速取引ボット「jaredfromsubway.eth」の活動が世間を騒がせています。
Jaredボットはサンドウィッチ攻撃を日常的に実行し、無数のユーザーから不正に資金を引き出しています。
23年4月に盛り上がったミームコインの大ブームのさなか、Jaredボットは主に新興のミームコインPEPE Memecoin(PEPE)に対する取引を通じてフロントランニングを駆使し、莫大な利益を得ました。
分散型金融データ分析プラットフォームEigenPhiの調査によれば、Jaredボットは2023年4月17日から一週間でサンドウィッチ攻撃を通じて約3.6億円(約270万ドル)もの利益を上げました。
さらに、Jaredボットが稼働を開始した2023年2月27日から5月8日までの短期間で、その獲得利益は合計で約8.4億円(約630万ドル)にも上ると報告されています。
しかし、Jaredボットはいかにしてサンドウィッチ攻撃を成功させているのでしょうか?具体的にどのように機能するのか詳しく見ていきましょう。
サンドウィッチ攻撃の手口
サンドウィッチ攻撃は、「mempool」と称される未確認段階のトランザクションが蓄積されるブロックチェーン上の機能を巧妙に利用することに特徴があります。
トレーディングボットを操作する攻撃者になったつもりで想像してみてください。mempoolには次のようなトランザクションAが待機しています。
A: 1 ETH あたり2,000ドルのレートの時に、合計100 ETHを購入する注文
これをターゲットとして、攻撃者はフロントランを行います。そのためには、より高いガス料金を支払って自身のトランザクションBを発行します。
B: 1 ETHあたり2,000ドルで、合計1000 ETH+高額のガス料金を支払って購入する注文
高いガス料金を払ったトランザクションBが優先されてブロックチェーンに取り込まれるため(つまり、取引が成立するため)、ETHの価格は ETHあたり2,100ドルに急騰します。この価格変動の結果、Aの注文によって取得できるETH量は、100 ETHから95 ETHに減少します。
そして、1000 ETHを売却するバックランを経て、攻撃者は手に入れた差額を利益とすることができます。
この一連の流れが、サンドウィッチ攻撃の主な手順です。特に、流動性の低いトークンでこのような攻撃が行われると、価格の変動幅が10%、20%以上にも上ることがあります。そのため、一般の仮想通貨ユーザーにとって、この攻撃の影響は決して軽微とは言えません。
サンドウィッチ攻撃の影響
サンドウィッチ攻撃の機会を最大限に活用するため、前述したJaredボットは競合する他のボットと比較して、多種かつ大量のトークンを保有していることがわかっています。Jaredボットは、最も保有量が多い時には800種類以上のトークンを抱えていました。
先ほどご紹介したミームコインのPEPE Memecoin(PEPE)は、23年4月12日のローンチから、たった3日で21,000%以上も価値を上昇させました。その後PEPEは、5月10日時点で時価総額が約1,000億円(8億ドル)となり、仮想通貨ランキングで57位に到達しました。
このような急激な価格上昇に乗じて、Jaredボットは連続的にサンドウィッチ攻撃を行いました。Jaredボットは同様の操作をChad Coin (CHAD)、NEET、WOJAK、APEDといった他のミームコインにも行いました。
ミームコインの取引機会が急騰している間に、Jaredボットは、ネットワーク上の購入トランザクションに絶えず高いガス代を支払ったフロントラン取引を差し込んだのです。
EigenPhiの調査によると、2023年2月27日から5月8日までの期間で、Jaredボットは46億円(約3435万ドル)のガス代を支払いながらも、一方で約54億円(約4065万ドル)の収益を確保しました。この期間中にJaredボットは、合計で254,000件もの取引を行い、そのうち98.31%がサンドウィッチ攻撃に関連するものと判明しています。
2023年4月17日から1週間の間に、イーサリアムブロックの60%以上がJaredボットによる取引によって占有されることが判明しました。その結果、イーサリアムのガス料金は大幅に上昇し、ネットワーク全体に負担をかけています。
2023年5月初頭には、イーサリアムのガス料金は2022年5月以来の高水準に達しました。平均取引コストは、22年10月の最低水準である9.07gweiから5月5日の最高水準である155.8gweiまで飛躍的に上昇。5月13日には平均ガス料金は55gweiまで下落しましたが、それでも以前の水準と比べて高いままです。
関連:イーサリアムの取引手数料高騰、フロントランボットの関与が浮き彫りに
サンドウィッチ攻撃の対策①:DEX
DEX(分散型取引所)は、ユーザーが中央集権型の取引所を通さずに取引を行えます。Uniswap、SushiSwap、Balancer、Curveなどがありますが、これらのプラットフォームはサンドイッチ攻撃の標的となることがあります。
DEXで利用できる、サンドイッチ攻撃を防止または軽減するための一つの対策は、「スリッページ制限」または「許容範囲」の設定です。
スリッページとは、ユーザーが予測した取引価格と取引が実際に執行された時の価格の変動幅を指します。つまり、スリッページ制限は、予測価格から逸脱した価格で取引が成立するリスクを制限します。
ほとんどのDEXでは、ユーザー自身でスリッページの許容範囲を調整することが可能です。もし最終的な取引価格が設定したスリッページの許容範囲を超えた場合、その取引は自動的にキャンセルされる、または差し戻される仕組みになっています。
例えば、Uniswapでは、スワップインターフェースの設定メニューから、スリッページ許容度を自由に変更することが可能です。この機能を活用すれば、自身のリスク許容度に合わせて取引を行うことができます。
さらに、サンドイッチ攻撃から身を守る別の方法として、DEXアグリゲーターの利用があります。DEXアグリゲーターは、複数のDEXを一度にスキャンして、注文に対して最適な価格と流動性を調達して取引を実現します。
DEXアグリゲーターは大量の注文を複数のプールやルートに分散させることで、価格影響やスリッページを軽減する機能も有します。このタイプのサービスを提供するDEXアグリゲーターには、1inch、Matcha、Paraswap、Slingshotなどがあります。
以上のような対策を活用することで、DEXでの取引をより安全かつ効率的に行うことが可能となります。
サンドウィッチ攻撃の対策②:MEV Blocker
サンドウィッチ攻撃は、未確認トランザクションの順序やタイミングを悪用した攻撃手法の一種で、これらの攻撃は「mempool」と呼ばれる待機トランザクションのプールで行われます。これらの攻撃で生じた利益は、総じて「MEV(Miner Extractable Value:最大抽出可能価値)」と呼ばれています。
この問題に対応するために、MEVを防ぐソリューション、「MEV Blocker」が開発されました。MEV Blockerによると、これまでにイーサリアム上のMEV関連ボットから約1860億円(138億ドル)以上の収益が抽出されているとのことです。
MEV Blockerの役割は、MEVの抽出を防ぎつつ、一部をユーザーに還元することです。具体的には、ユーザーはMEV BlockerをRPC(Remote Procedure Call)として設定することで、未署名のトランザクションを使用したプライベートなメモリプールを利用できます。ここで集められたトランザクションは、MEVの機会に対応するユーザー群(サーチャー)によって処理されます。
サーチャーは、ブロックチェーンの取引の流れを監視し、利益を生む可能性のある機会(MEV)を探し出す役割を持っています。MEV Blockerは、サーチャーMEVの機会を提供しつつ、その際に一定の規則を設けています。それは、サーチャーが抽出したMEVの90%は元のトランザクションのユーザーに還元され、残りの10%がサーチャーの報酬となることです。
これにより、ユーザーは自身のトランザクションから抽出された価値の一部を直接受け取ることができます。これは、フロントランニングやその他の形のMEV抽出により、ユーザーが不公平に利益を失うのを防ぐための仕組みです。
MEV Blockerの利益還元スキーム
MEV Blockerは、ユーザーをサンドウィッチ攻撃などのMEVから守るための新たな取り組みです。分散型取引プロトコル「CoW Swap」やバリデーター対応の分散型リレー「Agnostic Relayer」などを提供する各組織、Balancer、ShapeShift、ParaSwapなどが共同で開発しました。
MEV Blockerの使命は、フロントランニングやサンドウィッチ攻撃といった不公平な取引戦略を防ぐことで、公正な取引環境を確立することです。この目標を達成するため、MEV Blockerはフロントランニングやサンドウィッチ攻撃の防止に焦点を当てて設計されています。
ただし、MEV Blockerは「バックラン」のみを許可しています。「バックラン」は、一般的に、他の人の取引を観察し、その後に自分の取引を行うことで利益を得る戦略を指します。これは一種の「おいしいところをさらう」行為といえます。サーチャーはMEV Blockerで得た情報を活かして、バックランから利益を得て、その大部分をトランザクションを開始したユーザーに戻すことを可能にしています。
つまり、MEV Blockerは、フロントランニングやサンドウィッチ攻撃を防止する一方で、バックランを通じてMEVの一部をユーザーに還元するバランス感覚を持つよう設計されています。この取り組みはブロックチェーン取引の公平さを向上するためのものであり、ユーザーにとっては安心して取引できる環境の構築を目指しています。
MEV Blockerのようなシステムが広く利用されると、フロントランニングやサンドウィッチ攻撃によるMEVの取り出しは抑制され、バックランによるMEVの取り出しの比率が高まる可能性があります。
– 1 Million transaction, all protected from frontrunning
— Martin Köppelmann (@koeppelmann) May 23, 2023
– 1500 refunds paying out >130 ETH
– currently >5% of all Ethereum tx using it
Really happy that with MEVBlocker we have been able to make a significant shift in the MEV game in favour of the user.
GnosisとCowSwapの共同設立者で、MEV Blockerの創設に関与したMartin Köppelmann氏によれば、4月5日にリリースされたMEVBlockerが5月24日までに100万件以上の取引をフロントランニングから保護したと述べています。MEVBlockerは現在、全イーサリアム取引の5%以上を処理しており、これまでに130ETH以上のリファンドを支払い、ユーザーに対する影響を最小限に抑えています。
MEV Burnに関する議論
MEV Blockerはバリデーターやサーチャーなど、ネットワークの様々な参加者のMEV(Miner Extractable Value)取得のインセンティブを調整する方法を提示しています。過去には、MEVはシステムの非効率性の一例とされていました。しかし、MEV Blockerでは、より多くのMEVをユーザーに再分配する新しい方法が模索されています。
この考え方は、MEVを最小化したりユーザーに返還したり、さらには過剰なMEVを焼却(供給から排除)したりという、多くの要素へと派生しています。
その中でも、特に注目されているのが「MEV Burn」です。これはEIP-1559と同じような手法で、MEVの一部を焼却する仕組みを導入し、結果としてETH(Ethereum)の価値を高めるというコンセプトです。具体的には、ブロックを生成する権利をブロックチェーンの合意形成層で競売にかけ、最も多くのETHを焼却することを提案した者がその権利を獲得するという方式をとります。
EIP-1559とは
EIP-1559とは、2021年8月に行われたイーサリアムの大型アップデート「ロンドン」におけるガス代システムの改善案のこと。「イーサリアムの第一価格オークション方式を廃止して、固定価格販売メカニズムを導入」「ブロック容量を倍増、取引量に応じて容量を変更するシステムに変更」といった変更を加えることでネットワークの混雑解消、ガス代の低下などを図る。
▶️仮想通貨用語集
これは、ブロックを生成する権利をブロックチェーンの合意層でオークションにかけ、最も多くのETHを焼却することを提案した者が勝者となるという概念に基づいています。
このMEV Burnの効果は大きく分けて二つです。
1つ目は「MEVスムージング」です。これは、各バリデーターが得られるMEVのばらつきを減らし、報酬の分布をできるだけ均等にすることで、全体のMEVセキュリティを確保するというものです。
2つ目は「MEV再分配」です。これは、MEVをバリデーターではなくユーザーに分配することで、システム全体のマクロ経済を改善しようとする考え方です。
これらの取り組みを通じて、MEVの扱いについての視点が徐々に変化してきています。そして、この新しいシステムはマクロ経済的にもユーザーにとって有利な影響をもたらす可能性があります。ETHが焼却されることで供給量が減少し、その結果ETHの価値が上昇する可能性があるからです。さらに、ユーザーが過剰なセキュリティコストを支払う必要がなくなるため、取引コストを削減できる可能性もあります。
MEV Burnの考え方は、Ethereum Foundationの研究者であるJustin Drake氏とbloXroute LabsのCEO、Uri Klarman氏らが議論しています。MEVの扱いについてはまだ決定的な方法が見つかっていないため、これからの研究と開発に注目が集まっています。