著者:Daii ソース:mirror
先週の水曜日(3月12日)、MEVに攻撃され、一時的に215,000ドルの損失を被った暗号トレーダーがスクリーンを賑わせた。

簡単に言うと、このユーザーは220,800ドルのUSDC StablecoinをUniswap v3プールのUSDT相当と交換しようとして、USDTしか手に入れられなかったということです。要するに、このユーザーは220,800ドル相当のUSDCステーブルコインをUniswap v3取引プールでUSDTと交換しようとしていたのですが、結局5,272USDTしか手にすることができず、下のグラフにあるように、わずか数秒で215,700ドルが一瞬で蒸発してしまったのです。

上の画像は、この取引のチェーン記録のスクリーンショットです。この大失敗の根本的な原因は、ブロックチェーンの世界で悪名高い「サンドイッチ攻撃」に遭遇したことです。

このMEV攻撃を最初に公表したのはマイケル氏(上の写真)で、彼は次のように説明しています:
MEVボットは、USDCの流動性をすべてスワップアウトすることで、TXをフロントランしました。 取引が行われた後、ボットはUSDCの流動性をすべてスワップアウトしました。攻撃者はブロックビルダー(bobTheBuilder)に20万ドルを渡し、この取引から8000ドルの利益を得ました。style="text-align: "left;">訳注:MEVボットはUSDCの流動性をすべてスワップアウトすることでtxを先取りしました。攻撃者はブロックビルダー(bobTheBuilder)に$200,000の賞金をかけ、取引から$8,000の利益を得ました。
上記には事務的なミスがあり、MEV攻撃ボットはUSDCではなくUSDTを大量に取引していました
しかし、彼の説明と報道を読んでもまだ混乱するかもしれません。サンドイッチ・アタック、front-ran the tx、put back the liquidity、tipped a block builderなど、新しい用語がたくさん出てくるからです。tipped a block builder)などがある。
今日は、このMEV攻撃を例に、プロセス全体を解体することで、MEVの闇の世界を覗いてみましょう。
まず、MEVとは何かを説明する必要があります。
1.MEVとは何か?
MEVはもともとMiner Extractable Valueとして知られており、ブロックチェーンブロック内のトランザクションを並べ替えたり、挿入したり、除外したりすることで採掘者が得られる余分な利益を指します。このような操作により、一般ユーザーのコストが上昇したり、取引価格が不利になったりする可能性があります。
イーサリアムのようなブロックチェーンネットワークがProof-of-Work(PoW)コンセンサスメカニズムからProof-of-Stake(PoS)コンセンサスメカニズムに移行したことで、トランザクションの順序を制御する権限はマイナーから検証者に移った。その結果、用語は "Miner Extractable Value "から "Maximal Extractable Value "へと進化した。
名前が変わっても、取引の順序を操作することで価値を引き出すという核となる概念は変わりません。
上記はまだ少し専門的なので、ただ覚えておいてください:MEVが存在するのは、元マイナー(現在はバリデーター)がメモリプール(mempool)内のトランザクションをソートする権利を持っているからです。この並べ替えはブロック内で行われ、現在イーサリアムは約11秒ごとにブロックを生成しているため、この権限は11秒ごとに行使されることになる。繰り返しますが、このMEV攻撃は検証者のソートによって達成されたのです。
このリンクをクリックすると、以下のように、この攻撃に関連するブロック番号22029771に含まれるトランザクションを見ることができます。

上図のトランザクション1、2、3は、この記事の冒頭で説明したのと同じMEV攻撃であり、この順序は検証者(bobTheBuilder)がバリデータ(bobTheBuilder)によって整理された順序である。なぜこのようなことが可能なのでしょうか?
2.MEVの仕組み
MEVの仕組みを理解するには、ブロックチェーンがどのように情報を記録・更新するのかを理解する必要があります。
2.1ブロックチェーンの状態更新メカニズム
ブロックチェーンは、行われたすべての取引の増え続ける台帳と考えることができます。各アカウントの残高、Uniswapトランザクションプール内のさまざまなトークンのリザーブなど、この台帳の状態は以前のトランザクションによって決定されます。
新しいブロックがブロックチェーンに追加されると、このブロックに含まれるすべてのトランザクションが、ブロックに記載されている順番で1つずつ実行されます。実行されるトランザクションごとに、ブロックチェーンのグローバルな状態はそれに応じて変化する。
つまり、重要なのはブロックの順番だけでなく、ブロック内の取引の順番でもある。では、ブロック内のトランザクションの順序はどのように決まるのだろうか。
2.2バリデータはトランザクションの順序を決定する
ユーザーがブロックチェーンネットワーク上でトランザクションを開始すると、例えば、Uniswapを介してUSDCをUSDTに変換するトランザクションの場合、それは最初にネットワーク内のノードにブロードキャストされます。されます。最初の検証後、トランザクションは「mempool」と呼ばれるエリアに入る。mempoolは、まだ検証されておらず、ブロックチェーンの次のブロックに追加されていないトランザクションの待機エリアのようなものです。
以前は(PoWシステムの)マイナー、現在は(PoSシステムの)ベリファイアが、ミンプールからトランザクションを選択し、次のブロックに配置する順序を決定する権利を持つ。
ブロック内のトランザクションの順序は非常に重要です。ブロックが最終的に検証されてブロックチェーンに追加されるまで、そのブロック内の取引はバリデータ(bobTheBuilderなど)によって決定された順序で実行されます。つまり、ブロックに同じトランザクションプールとやりとりする複数のトランザクションが含まれている場合、これらのトランザクションが実行される順番が各トランザクションの結果に直接影響することになる。
この機能により、バリデータは特定のトランザクションを優先したり、他のトランザクションを遅延させたり除外したり、さらには利益を最大化するために独自のトランザクションを挿入したりすることができます。
このトランザクションの順序付けも同様に重要であり、わずかなミスでも攻撃を成功させることは不可能です。
2.3このMEV攻撃における取引の順序
まず、このMEV攻撃に関連する3つの取引の概要から説明しましょう:


トランザクション1(攻撃者の最初のトランザクション)は、被害者のトランザクションの前に実行されます。このトランザクションの目的は通常、被害者が取引したいトークンの価格を押し上げることです。
取引2(被害者の取引): 攻撃者の最初の取引の後に実行されます。
取引3(攻撃者の2回目の取引):被害者の取引の後に実行される。の取引は被害者の取引の後に実行される。この取引の目的は通常、被害者の取引によって引き起こされた新しい価格の動きを利用することです。
このMEV攻撃の検証者はbob-The-Builder.ethで、取引を1、2、3に順序付ける役割を担っていました。もちろん、bobTheBuilderは無駄なことをしたわけではなく、シーケンスに参加したことで100ETH以上を稼いだのに対し、MEV攻撃者は8,000ドルしか稼げなかった。彼らの収入源は被害者の2回目の取引でした。
一言で言えば、攻撃者(MEVボット)は検証者(bobTheBuilder)と共謀して、被害者に2回目の取引で21万5000ドル、攻撃者に8000ドル、検証者に20万ドル(100ETH以上)の損害を与えました。
彼らが使った攻撃には、サンドイッチ攻撃という生々しい名前がついています。ここでは、MEVのより複雑なサンドイッチ攻撃で何が起こっているのかを完全に理解できるように、トランザクションを1つずつ見ていきます。
3.サンドイッチ攻撃の説明
サンドイッチ攻撃と呼ばれる理由は、攻撃者の2つのトランザクション(トランザクション1とトランザクション3)が、被害者のトランザクション(トランザクション2)の前と被害者のトランザクション(トランザクション3)の前に置かれるからです。攻撃者の2つのトランザクション(トランザクション1とトランザクション3)が被害者のトランザクション(トランザクション2)の前後に配置されるため、一連のトランザクション全体がサンドイッチの構造に似ている(上図参照)。
トランザクション1と3はそれぞれ異なる機能を持っています。簡単に言えば、トランザクション1の取引は犯罪を担当し、トランザクション3の取引は戦利品の収穫を担当する。具体的には、全体のプロセスは次のようになります。
3.1トランザクション1、USDTの価格を引き上げる役割
上の画像のトランザクション1へのリンクをクリックすると、トランザクション1の詳細が表示されます。攻撃者は、下の画像に示されているように、1,758万USDTすべてと1,865万USDCを交換することで、非常に直接的な方法でUSDTの価格を引き上げました。

この時点で流動性プールに残っていたのは、大量のUSDCと少量のUSDTでした。 報道に従えば、攻撃前のUniswapの流動性プールには、それぞれ1億8,000万ドルありました。報道によると、攻撃前にUniswapの流動性プールに約1980百万USDCとUSDTがあったとすると、トランザクション1が実行された後、プールには222万USDT(=1980-1758)しか残っておらず、USDC残高は約3845万(=1980+1865)に増加していました。
この時点で、このプールにおけるUSDCとUSDTの比率は、1:1とは程遠く、1:17となっています。これは、この時点で、1USDTと交換するために17USDCが必要であることを意味しますが、このプールはV3であり、その中の流動性は均等ではないため、この比率は概算に過ぎません。
もうひとつお伝えしたいことがあります。攻撃者は実際には1,865万USDCを一度に使用したのではなく、109万USDCを使用したのだ。どうやって?それについては、攻撃が終わってから詳しく話そう。
3.2USDTで220,000USDCを約定した取引2
上の取引2のリンクをクリックすると、下の画像が表示されます。

上図のように、被害者の取引2は、取引1の影響で22万USDCに対して5272USDTしか得られず、気づかないうちに17万USDTを失っています。なぜ無自覚と言ったのか?もし被害者がUniswapを通じてトレードしていたなら、トレードを提出したときに次のような画面が表示されたはずだからです。

上の表を見ると、被害者は最低でも22万円の利益を得ることが保証されているはずです。被害者が5000USDT強で終わった理由は、90%以上の大きなスリッページがあったからです。しかし、Uniswapにはデフォルトで最大5.5%のスリッページ制限があります。

つまり、被害者がUniswapのフロントエンドを通じて取引していた場合、彼は少なくとも208381USDTを受け取るべきだったということです(=以下参照)。220510 * 94.5%).上記のブロックチェーンの記録では、なぜ取引が「Uniswap V3」で行われたことになっているのか不思議に思うかもしれません。
ブロックチェーン取引のフロントエンドはバックエンドとは別だからです。上記の「Uniswap V3」はUniswapのUSDC-USDTプールを指し、これは公開されており、あらゆる取引のフロントエンドはこのプールを通じて取引することができます。
また、このことから、被害者は単純な一般人ではなく、そうでなければこのような大きなスリッページは発生しない、マネーロンダリングにMEV攻撃が利用されているのではないかと疑う人もいます。これについては、後で説明します。
3.3取引3、刈り取り+戦利品の分割

リンクをクリックすると、上記のように取引3の詳細が表示されます。取引A、B、Cについて別々に説明しましょう。
プールの流動性を正常に戻した取引Aは、この取引で1,732万USDTを1,860万USDCに交換しました;
戦利品を分け合う用意があった取引Bは、収益の一部-2,040万USDCを-2,040万USDCに交換しました;
戦利品を分け合う用意があった取引Bは、収益の一部-2,040万USDCを-2,040万USDCに交換しました。USDC to 105 ETH;
戦利品準備の取引Cは、検証者bob-The-Builder.eth.
検証者bob-The-Builder.eth.
戦利品準備の取引Cは、検証者bob-The-Builder.eth.
に100.558 ETHを支払いました。: left;">これでサンドイッチ攻撃は終了です。
さて、上記の非常に重要な質問に答えます:攻撃者はどうやって109万USDCで1,800万回の攻撃を達成したのでしょうか。
4.攻撃者はどのようにして1800万USDCプール攻撃を達成したのか
攻撃者がたった 109万USDCで 1800万ドルレベル ...を達成できた理由は...。1800万USDC のレベル ブロックチェーンの世界には魔法のような特別なメカニズム、Uniswap V3のフラッシュスワップがあるからです。
4.1フラッシュスワップとは?
簡単に言うと:
フラッシュスワップは、ユーザーがUniswapプールから資産を取り出し、同じ取引で別の資産を使用することを可能にします。
フラッシュスワップは、ユーザーがユニスワップのプールからアセットを取り出し、同じ取引で別のアセット(または同じアセットに手数料を加えたもの)で返済することを可能にします。
Uniswapでは、すべての操作が同じトランザクション内で行われる限り、この「ピックアップ&ペイ」動作を許可しています。同じトランザクション内で行わなければならないことにご注意ください。
ライトニング取引所はもともと、より効果的なオンチェーン裁定取引に使用するために設計されましたが、残念ながら、市場操作のツールとしてMEV攻撃者に悪用されています。
4.2ライトニング変換、どのように役立ったのか?
以下では、この攻撃のライトニング・コンバージョンがどのように達成されるかを理解するために、チャートを見て、段階を追って画像について話します。

F1アタッカーは、自身の701WETHを経由して、AAVEから109万米ドルを借り入れます。AAVE;
F2攻撃者はフラッシュ交換リクエストを開始し、まずUniswapプールから1,758万USDTを引き出します(この時点では前払いの必要はありません)攻撃者のアカウントは一時的に1,758万USDT増加します;
F3攻撃者はフラッシュ交換リクエストを開始し、まずUniswapプールから1,758万USDTを引き出します(この時点では前払いの必要はありません)攻撃者のアカウントは一時的に1,758万USDT増加します。li>
F3 攻撃者は1,758万USDTをすぐにCurveプールに入れ、1,755万USDCに戻します。 攻撃者のアカウントは1,758万USDT減少し、USDCは1,755万USDC増加します。下のチャートからわかるように、攻撃者がCurveを選んだのは、7,054万USDT以上と5,071万USDC以上の流動性があり、比較的スリッページが少なかったからです。

この取引(取引1)の後、攻撃者の口座残高はなぜなら、Uniswapに戻された1,864万USDCのうち1,755万USDCのみがCurveから交換されたものであり、残りの109万USDCは攻撃者の自己資金だったからです。
ご覧の通り、この取引で攻撃者は実際に109万ドルを損しています。しかし、次のトランザクション3では、109万USDCを取り戻しただけでなく、同じくライトニングスワップテクニックによって20万USDC以上を稼ぐことができました。

トランザクション3のデータをもとに、ステップバイステップで見ていきましょう。
K1アタッカー、ライトニングスワップで1,860万USDCをユニスワップで持ち出す;
K2アタッカー、1,730万USDCをUniswapで取り出したばかりのUSDCの一部とスワップして1,732万USDTを取り戻す;
K1アタッカー、1,730万USDCをUniswapで取り出したばかりのUSDCの一部とフラッシュして1,732万USDTを取り戻す;
K1の攻撃者は、Curveから交換した1,732万USDTをUniswapに戻すことで、ライトニングスワップが完了しました。残りの130万USDC(=1860-1730)のうち109万USDCが彼の自己資金であり、残りの21万USDCがこの攻撃による利益である。
AAVEに元本を戻したK3の攻撃者は、701WETHの自己資金を取り、20万USDCを105ETHに換金し、そのうちの100.558ETHをチップ(約20万ドル)として検証者に送り、1万ドル以下の収益を残しました。USDCです。
なぜ攻撃者が20万ドルもの利益を検証者に譲ろうとしたのか、驚かれるかもしれません。
4.3なぜ20万ドルの「チップ」なのか?サンドイッチ攻撃のようなMEV攻撃を成功させるために必要なことは、実は気前がいいというよりも、そのようなことなのです:
その結果、攻撃者はむしろ、攻撃が成功するように利益の大部分を犠牲にし、自分自身のためにある程度の利益を確保することになります。
明確にしておくと、MEV攻撃にもユニスワップでもカーブでもコストがかかりますが、0.01~0.05%という比較的低い割合で、攻撃の収益に比べれば取るに足らないものになります。
最後に、MEV攻撃を防御するのは簡単です。スリッページの許容範囲を1%以下に設定し、大きな取引を複数回に分けるだけです。そのため、DEX(分散型取引所)で息が詰まって二度と取引できなくなることはありません。
結論:「暗闇の森」からの警告と啓示
21万5000ドルのMEV攻撃は、ブロックチェーン世界の「暗闇の森」の法則を示すもう一つの残酷な例です。この21万5000ドルのMEV攻撃は、間違いなくブロックチェーン世界の「ダークフォレスト」の法則を示すもう一つの残酷な例である。許可を必要としない分散型環境では、利益の掌握のために仕組みの抜け穴を突く複雑なゲームが存在することを鮮明に明らかにしている。
より高いレベルから見れば、MEVの出現は、ブロックチェーンの透明性とプログラム可能性の諸刃の剣効果を体現している。
一方では、すべての取引記録が公開されているため、攻撃の追跡と分析が可能です。
他方では、すべての取引記録が公開されているため、攻撃の追跡と分析が可能です。
これは単純なハッキングではなく、むしろブロックチェーンの基礎となるメカニズムを深く理解し、悪用することで、プロトコルの設計の堅牢性が試され、参加者のリスクに対する意識が問われます。
MEVを理解し、そのリスクを認識することは、チャンスに満ちたデジタルの世界をよりよくナビゲートする唯一の方法だが、同時に隠れた危機でもある。ブロックチェーンの「暗い森」において、次に食い荒らされる獲物にならない唯一の方法は、ルールを尊重し、意識を高めることであることを忘れないでください。
これが私がこの記事で達成しようとしていることです。