見出し画像

【DeFimans勉強会】:衝撃!MEVサンドイッチ攻撃とは?

今回は、分散型取引所(DEX)で起きる「MEVサンドイッチ攻撃」と呼ばれるハッキング手法についてご紹介します!

まずはDEXとMEVについて簡単に説明し、通常のサンドイッチ攻撃がどのような手法で行われるかを解説します。最後に、先月上旬に起こったイーサリアム上の「ダブルサンドイッチ攻撃」の全貌を見ていきます。

インターネットは、単純なウェブサイトや電子メールサービスから、ソーシャルメディア、Eコマース、ストリーミングプラットフォームが支配する現在のweb2.0の時代へと、過去数十年の間に大きな進化を遂げてきました。そして今、より分散化され、ユーザー中心の体験を実現することを目指したweb3.0が形作られつつあります。web3の世界では誰もが自分の資産に対してオーナーシップを持つことができる反面、資産を守らなければならないのもユーザー自身です。

1 DEXとMEVについての紹介

分散型取引所(DEX)は Binance や FTX に代表される中央集権型取引(CEX)の対極に位置づけられる暗号資産取引所の総称です。特定の運営母体は存在せず、データの中央管理も行われていません。オーダーブック・オーダーマッチを前提とする中央集権型取引所においては取引が成立するのに仲介が必要な上、時間がかかるという問題がありました。また、本人確認のための手続きが煩雑であるという欠点も存在しています。

その一方、分散型取引所はユーザー同士の取引がスマートコントラクト等のシステムによって自動化されるように設計されているため、スムーズなトランザクションが可能です。本人確認も不要で、自身のプライベートウォレットを接続するだけで始められることも特徴です。

MEV(Maximal Extractable Value)は、Ethereumの取引プール(mempool)を分析して収益性の高い取引を見つけることで獲得できる利益、あるいはその手法をさします。取引プールとは、トランザクション内容が決定されてからそれがブロックチェーン上に記載されるまでの「待機スペース」です。分散型取引所のデメリットの一つとして、取引の順序・内容が第三者に丸見えであるという点が挙げられます。

そこで、まだ「待機プール」上にある取引の知識を利用して、第三者が取引のフロントランニングやバックランニングを行うことをMEV攻撃(MEV exploit)と言います。フロントランニングは攻撃対象となるユーザーの取引完了前に別の取引を先に挿入することによって、バックランニングはユーザの取引直後に新たな取引を挿入することによって発生したマーケットの変化によって不当な利益を得る手法のことをいいます。

2 通常のMEVサンドイッチ攻撃

まず、通常のサンドイッチ攻撃はどう起きるのでしょうか?時系列を追いながら見ていきましょう。

UniswapなどのDEX(分散型取引所)では、暗号資産の価格は需要と供給にもとづいて決定される仕組みになっています。ユーザーが資産Aをたくさん買えば、資産Aの値段は上がります。人々が資産Aをたくさん売れば、価格は下がります。この価格変動の振れ幅を悪用したのがサンドイッチ攻撃です。例えば:

  1. ユーザーが1000ETH($1,000,000、 レートは1ETH = $1000)を購入しようとして購入取引トランザクションを出す。

  2. この取引トランザクションを確認したサンドイッチ攻撃者(MEVボット)はETHを大量に買い付けることによってその価格を大幅に釣り上げる (ETH価格が $1000 → $2000へ急上昇)

  3. 1ETH = $2000のレートで実行される成行購入取引により、ユーザーは最初に購入しようとしたETHの半分ほどしか手に入れることができず、レートがさらに上昇(1ETH = $2500)

  4. この1ETH = $2500のレートでボットは最初に買い付けた大量のETHを売り当て、莫大な利益を得る

ここで注意すべきなのは、サンドイッチ攻撃を仕掛けたボットはステップ2の取引において損をしているが、ステップ4の取引で元を取り返す、という仕組みになっている点です。

3 今回イーサリアム上で起きた「ダブルサンドイッチ攻撃」の衝撃!

この一時的なボットによる損につけ込んだのが、今回のバリデーターによるダブルサンドイッチ攻撃です。先月上旬にイーサリアムのMEVボットがバリデーターによる攻撃を受け、2000万ドル相当の損害を受けました。バリデーターはボットのバックラン取引を自身のバックラン取引によって上書きすることにより無効化した、とされています。

バリデーターとは、主にPOS(Proof of Stake)ベースのブロックチェーン上において担保として保有している(=ステークしている)トークンの数によって選択され、ブロックの取引において決定権を行使できる参加者のことをさします。

先述の例におけるステップ3の部分で、ユーザーが普段ならETHを買ってしまうところを、バリデーターがETHを逆に売るという自身の取引にすり替えることに成功しました。

釣り上げられたレートによってバリデーターが大きな利益を得る反面、ボットはステップ4で利益を回収することに失敗します。*今回の事案は実際にはETH(イーサリアム)とSTG(Stargate Finance)のスワップにおいて発生しています

バリデーターは、MEVボットを攻撃するという意図のもと何ヶ月も前から周到に準備を進めてきたと思われています。DeFi(分散型金融)空間で繰り広げられている頭脳戦のレベルの高さに、筆者も驚くばかりです。

DeFi分野において事業を検討されている方は、ぜひDeFimansへご相談下さい。

(勉強会:北野、文:山田)

参考リンク:
https://cryptopotato.com/how-mev-bots-lost-a-whopping-20m-in-a-sandwich-attack/
https://twitter.com/Mudit__Gupta/status/1642844243344474113


この記事が気に入ったらサポートをしてみませんか?