ゼロアワー テクノロジー || ファウンティング、MEV、ハッカー

0x00 背景

最近、私たちはフロントランニング攻撃を監視しました。攻撃者はHopeLendで、攻撃トランザクションは:
https://etherscan.io/tx/0x1a7ee0a7efc70ed7429edef069a1dd001fbff378748d91f17ab1876dc6d10392でし
た。ブロック 18377042 にフロントロードされた元の攻撃トランザクションは次のとおりです:

https://etherscan.io/tx/0xa414de03bbf7baccea6b5c95af9ebfbed43b1c3151debd29673df979a0f4b0b0

また、ブロック 18377042 では、フロントランニング攻撃のトランザクション位置が 0、フロントランニング攻撃のトランザクション位置が 5 であるため、フロントランニング攻撃は成功し、実際のハッカー攻撃は失敗します。

では、フロントランナーはどのようにしてトランザクションの順序を制御しているのでしょうか? フロントランニング トランザクションのガス料金とフロントランニング トランザクションのガス料金に大きな違いがないことがわかります。では、フロントランニング トランザクションがフロントランニング トランザクションより前に実行されるのは本当に偶然なのでしょうか? -トランザクションを実行していますか?

264ETHの送金が確認できます

次に、このトランザクションが配置されているブロックを開くと、元の 264 ETH がブロックの提案者に転送されたことがわかります。そうすると、これはわかりやすいのですが、最初にトランザクションをプリエンプトするブロックを提案できる提案者は、264 ETH の手数料を受け取ることになります。この264 ETHは実はMEVです。

0x01 MEVとは

MEV の正式名は Miner Extractable Value で、マイナーが抽出できる値です。このブロックの手数料はトランザクションを開始したユーザーによって同意されており、マイナーは超過手数料を自分で処理することができないため、抽出可能な値は、ブロックをパッケージ化するためにマイナーによって請求される手数料を指しません。MEVとは、マイナーがトランザクションの追加、削除、順序の変更によって得た超過利益を指します。


ただし、イーサリアムのアップグレード後、MEV という用語は、抽出可能な最大値である Maximal Extractable Value に変更されました。一般に、MEV に関連する最も一般的なケースは次のとおりです。

アービトラージ アービトラージ

DEX は異なる価格言語マシンを使用しているため、DEX ごとに価格差が生じる可能性があるため、1 回の取引でより低い価格の DEX で TOKEN を購入し、より高い価格の DEX で TOKEN を売却することで利益を得ることができます。

清算

融資プロトコルは、借り手と貸し手を接続する DEX です (MakerDAO、Aave、Compound など)。借り手は、プラットフォームがサポートする担保を提供した後、一定の価値の資産(通常は超過担保が必要)を借りることができ、借り手の担保が債務を返済できなくなった場合には清算が発生し、清算人はその担保を低価格で購入して返済することができます。借金。清算ロボットは通常、借り手の資産を検索し、できるだけ早くそれらを清算し、借り手の担保を取得します。

サンドイッチサンドイッチ攻撃

サンドイッチ攻撃はクリップ攻撃とも呼ばれ、DEX の AMM メカニズムを利用しており、例えば CPMM アルゴリズムでは大量購入により対応するトークンの価格が上昇します。そのため、攻撃者が大口の買いを監視する場合、購入前に買い取引を開始(顧客が許容する範囲内でスリッページを作る)し、購入後に売り取引を開始することで利益を得ることができます。

0x02 Flashbot と PBS

フラッシュボット

Flashbots は、ブロックチェーン、特にイーサリアムに対する最大抽出可能価値 (MEV) の悪影響を軽減することを目的とした研究開発組織です。彼らの主な目標は、MEV-Boost などの製品を通じて、許可不要で透明性のある持続可能な MEV エコシステムを構築することです。将来の MEV 開発では、クロスチェーン MEV のキャプチャ、価値の損失の最小化、プロトコルの実際のユーザーへの潜在的な悪影響の最小化、および参加者間の公平な分配の確保に焦点を当てる必要があります。

PBS

PBS の正式名は提案者と構築者の分離です。本来の目的は、PoW 時代のマイナーの作業を 2 つの部分に分割することです: 1. 構築者はトランザクションのソートとパッケージ化を担当します。2. 提案者は検証とパッケージ化を担当します。梱包後に投票します。この利点は、トランザクション検証を担当するノードのしきい値を下げ、より多くのノードを検証のために参加させ、イーサリアムの分散化をさらに高めることです。

ビルダーがトランザクション バンドルをプロポーザーに直接送信した場合、悪意のあるプロポーザーが MEV の機会を自身の収益性の高いトランザクションに置き換えることを防ぐ方法はなく、ビルダーは相応の損失を被ることになります。したがって、Flashbot は、ビルダーとプロポーザーの間にリレーの層を追加します。リレーは完全なブロックのコンテンツをプロポーザーに直接送信するのではなく、ブロック ヘッダーのみを送信します。その後、プロポーザーはブロック ヘッダーに署名し、リレーは署名: 完全なブロックを提案者に送信します。そして、このときに提案者がブロックの内容を置き換えると、イーサリアムの仕組みによって罰せられることになります。

提案者にチップ(賄賂)を支払う

では、ハッカーは帯域外料金をどのように支払うのでしょうか? 簡単に言うと、ハッカーは次のようにスマート コントラクトを通じて Coinbase に送金できます。

function payForTips public payable(uint256 payTips) { block.coinbase.call{value: payTips}(""); }

このうち、block はブロック情報を取得でき、coinbase は提案者のアドレスなので、このコードを通じてブロックの提案者に支払いを行うことができます。

この攻撃では、先頭に立っているハッカーがバンドルを構築して自分のトランザクションを先頭に置くことができ、ハッカーのウォレットトランザクションが成功した後に提案者は264ETHという非常に高額な手数料を受け取ることになるため、提案者は自分のトランザクションを優先することになります。最前線のハッカーのバンドル。この時点で攻撃は完了です。

0x03 思考

この攻撃では、第一線で活躍するハッカーたちが、他のハッカーよりも先に攻撃を完了するために、チップとして法外な値段を支払った。したがって、提案者は何も悪いことはしておらず、最も利益が大きいバンドルを選択して提案しただけであると考えられます。もちろん、多くの攻撃者は通常のトランザクションに対してフロントランニング攻撃やサンドイッチ攻撃なども行います。この種の攻撃を防ぐにはどうすればよいでしょうか? 実際、MEV の原理を理解すると、基本的にすべての MEV 機会はパブリック メモリプールで検索されることがわかり、トランザクションをプライベート プールに送信する限り、このリスクを回避できます。プライベートメンプール。

0x04 リファレンス

https://ethereum.org/en/developers/docs/mev/
https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/block-proposal/
https://noxx.substack.com/ p/order-flows-kingmaker-of-the-block
https://eips.ethereum.org/EIPS/eip-4895
https://medium.com/taipei-ethereum-meetup/after-the-merge-mev- 309e836698cf

おすすめ

転載: blog.csdn.net/m0_37598434/article/details/134563020