MEV(最大抽出値)を理解することは、Solana上でDeFiアプリや取引ロボットを構築している開発者にとって非常に重要です。自分のボットの収益性を脅かす可能性があります。コストの上昇、利幅の減少、ネットワークの摩擦は、保護されていない MEV リスクの一般的な結果です。このガイドでは、トランザクションフローの仕組み、一般的な MEV の種類、ネットワーク上で構築する開発者にもたらされるリスクの増加など、Solana における MEV の基本について説明します。MEVの悪影響を軽減し、トランザクションを混乱から守るための重要な戦略を学ぶことができます。
MEVを理解することは、Solana上でDeFiアプリや取引ロボットを構築する開発者にとって非常に重要です。 MEVは、ユーザーの取引執行(予期せぬスリッページや取引失敗の結果)に影響を与える可能性があり、競合他社があなたの取引を横取りしたり並べ替えたりすることができれば、あなた自身のロボットの収益性さえも左右します。にも影響します。ここでは、Solanaの取引プロセスの基本を確認し、Solanaでよく見られるMEVの種類を検証し、MEVから取引を守るためにできる対策について説明します。ソラナの取引の流れ
ソラナの取引の流れは、いくつかの重要な点でイーサとは異なり、MEVの挙動に影響を与えます。paddingleft-2">
No Global Memory Pool:Etherとは異なり、Solanaには、保留中のトランザクションを待機させるための統一されたパブリックメモリプールがありません。その代わりに、SolanaはGulf Streamプロトコルを使用して、ブロックを生成する前に、トランザクションを次の予想ブロックリーダー(検証者)に直接転送します。これは、ボットがネットワークを監視するための、目に見える保留中のトランザクションの長期的なプールが存在しないことを意味する。各Solanaトランザクションにはrecent blockhashが含まれており、検証されなければ約150スロット(約1分)後に失効する。要するに、トランザクションはリーダーによって素早くピックアップされるか、破棄されるかのどちらかである。これは、パブリックな保留中のトランザクションを観察し、先取りするようなMEV戦略のためのウィンドウを減らすが、決意のある検索者は、入ってくるトランザクションを見るために自分のノードを実行することによってこれを減らす。
Quality of Service (QoS) based on share weighting:Solanaは、シェアに基づいて受信トランザクショントラフィックを優先します。バリデータは、受信容量のほとんどを、同じシェアを持つ顧客/リレーに割り当てます。実際には、これは、高度に誓約されたノードから、またはそれを経由するトランザクションは、輻輳時にドロップされる可能性が低いことを意味します。シェアのないスパマーからのパケットは優先順位が下げられる一方、十分に誓約された認証者を通過するトランザクションはより高速な処理を受けます。
Priority Fees (Local Fee Marketplace):Solanaは、Priority Feesをオプションの追加料金として利用し、ネットワークが混雑しているときに、ユーザーが高速に取り込まれる可能性を高めるために付けることができます。機会があります。通常、Solanaトランザクションの固定手数料は非常に低いですが、混雑につながる高負荷のシナリオ(NFTミンティングや暗号通貨取引ブームなど)では、ユーザーはコンピュートユニットごとに優先手数料を指定することができ、実質的にブロックスペースを入札することができます。検証者はこの優先手数料の50%を獲得し、残りの50%は寡占的なoppervlakteルールによって燃やされるため、優先手数料が高ければ高いほど、検証者が自分の取引を含める可能性が高くなる。優先手数料はスパムに対抗し、一刻を争う取引が「キュー」の先頭に「ジャンプ」できるようにするためのものである。Solanaネットワークでは、これによりコンピュートユニットごとにブロックのローカルコスト市場が形成される。優先料金は、2024年までのソラーナの総料金収入の大部分を占めており、混雑時にユーザーが優先料金の入札を行っていることを裏付けている。開発者にとっては、混雑しているブロックでは、スパマーや競合するトランザクションを出し抜くために優先料金が必要になる可能性が高いことを意味します。
Solanaで一般的なMEVの種類
Solanaの開発者が知っておくべき最も一般的なMEVの種類は次のとおりです:
裁定取引
裁定取引は、ソラナで最も一般的なMEVの形態の1つです。アービトラージでは通常、複数の取引所で同じ資産を原子的に売買します。例えば、
<span ) 10px 10px / 40px ノーリピート ;height:&width: 100%;margin-bottom: -7px;border-radius: 5px;'>
ソラナでは複数のコマンドを1つの取引にまとめることができます。検索者は通常、アトミック・アービトラージ(1つの取引で2つの段階)を行い、取引が実質的にゼロリスクであることを確認します。取引に失敗すると、買い手は優先手数料を失うことになるため、機会の大きさと優先手数料市場のバランスを取る必要があります。
Solanaの裁定取引は非常に競争が激しく、ボットは裁定取引を試みるために多くの取引をスパムします。実際、Solanaの取引の50%以上が利益を上げている。実際、Solana の取引の 50% 以上は、実際には失敗した裁定取引 (スパム) であり、ボットはやみくもに価格差を捉えようとしている (参照: Solana MEV - Introduction span>)。span>参照)。ネットワークの混雑が問題になることもありますが、通常、価格はDeFiプラットフォーム間で均衡を保つことができます。
サンドイッチ攻撃
サンドイッチ攻撃は、Solanaでも見られる古典的なネガティブMEV戦術です。サンドイッチ攻撃では、被害者ユーザーのトランザクションが攻撃者のトランザクションに挟まれます。1つは被害者のトランザクションの前に実行され、もう1つはその後に実行されます。この保留中の取引を知っているMEVサーチャーは、ユーザーの取引の前に同じ資産を購入するために自分の取引を素早く送信し(価格を押し上げる)、次にユーザーの大量購入を今より高い価格で実行させ、最後にその資産を差額で即座に売却することができる。攻撃者は安い価格で購入し、高い価格で売却することで利益を得ますが、被害者は自分の取引所でより悪い価格(より高いスリッページ)を得ることになります。
開発者やトレーダーとしては、スワップが確定する前に第三者がスワップを観察することができれば、それを切り取ろうとする可能性があることに注意する必要があります。ユーザーが設定するスリッページ許容範囲が高いため、特に脆弱になります。ユーザーが最大5%のスリッページを許容すると、ピンチボットはその範囲のほとんどを利用して利益を得ることができます。スリッページとピンチのリスクを減らすには、スリッページ、プライバシー、シーケンスのコントロールが必要です。
清算
清算も重要なMEVの機会であり、特にソラーナのDeFi貸出契約(例えばMarginfi、Kamino、Saveなど)。借り手の担保の価値が必要なパーセンテージを下回ると、ポジションは清算される(つまり担保不足)。清算人(通常はロボット)は借り手に代わってローンの一部または全部を返済し、担保のいくらかの割引を受け取ることができる。この結果、清算人は担保を市場価格より安く買い取ることになり、実質的に利益を得ることになる。
MEVサーチのボットは、破綻しそうなポジションを検出するために、常にチェーンのステータスと予想価格データをスキャンしています。ポジションを見つけると、賞金を獲得するために最初に清算取引を送信するために競います。Solanaでは、メモリのパブリックプールが存在しないため、清算ボットはチェーンの変化(例えば、予後価格の下落やヘルスファクターがしきい値を超えるなど)にできるだけ早く気づくようにし、直ちに清算取引を現在のリーダーに送信する。複数のボットが同じアカウントの清算を試みた場合、ブロックへの参入に成功した最初の取引のみが報われ、他のボットの取引は失敗する。清算はプロトコルの健全性を保つために不可欠な安全策と考えられている(不良債権を防ぐ)。
ジトーバンドルと他のMEVアプリ
ソラナのMEVエコシステムは進化しており、ジトーバンドルはMEVの抽出(と他のMEVアプリ)で重要な役割を果たしています。Jito Bundles は MEV 抽出 (および潜在的な緩和) において重要な役割を果たしています。Jito-Solanaクライアントを実行する検証者は、オフラインのブロック構築市場に参加する。検索者は、通常のSolanaゴシップネットワークではなく、これらのブロックビルダーに直接トランザクションのバンドル(および関連するチップの支払い)を送信します。そしてブロック生産者は、最も高額なチップのバンドルがブロックに含まれ、そこからチップを受け取る。このシステムにより、MEVサーチャーはアービトラージ、クリアリング、ピン留めなどの戦略を非公開で実行することができ(彼らの取引は含まれるまで公開されない)、競争力のあるチップを支払う限り、それらを優先することができる。その結果、Solanaバリデーターに大きな収益をもたらす。現在、Solanaの悪質なMEVは、主に個人運営のメモリプールからもたらされています。
ソラナ開発者に対するMEVのリスク
MEVは、ソラナの開発者、特に取引ボットやDEXアプリを構築している開発者にさまざまなリスクと課題をもたらします:
Transaction Reordering for Validators:Solanaバリデーターは生成されたブロック内のトランザクションを並べ替えることができるため、潜在的なバリデーターは自分たちの利益のためにトランザクションを並べ替えることができます。トランザクションの並べ替えは、自身の利益のために行うことができる。たとえば、お客様の DEX 取引で裁定取引の機会が発生した場合、バリデータはお客様より先に自分の取引を挿入して利益を獲得する可能性があります。このため、取引出力が悪化したり、機会がなくなると取引が失敗したりする可能性があります。取引が実行される順序はDeFiの結果に大きく影響する可能性があり、保護がなければ、お客様の取引はブロックジェネレーターのインセンティブに支配されます。
スパムとネットワークの混雑: Solanaトランザクションの多くは、MEV(アービトラージ・スパムなど)によって引き起こされます。混雑時(人気の NFT ミントや不安定な市場など)には、お客様の正当な取引が多数のボット取引と競合します。このことを考慮しないと、遅延の増加や障害率の上昇につながる可能性があります。お客様のトレードがバリデータの高負荷でインターセプトされた場合、またはカップリングされていないノードを介してトレードを送信する際にスパムの嵐に当たった場合、お客様のトレードは破棄される可能性があります。このようなノイズを遮断するには、優先手数料を設定する必要があります。基本的に、MEVの活動は取引が通過する高速道路を混雑させる可能性があるため、保護されていない場合は、このような事態(高い手数料、再試行など)に備えて計画する必要があります。
スリッページの増加とUXの問題:DEX開発者にとって、MEVはユーザーに直接害を及ぼす可能性があります。ユーザーは取引でスリッページの許容範囲を1%に設定することができますが、MEV(例えばピンチ)のために、最終的に得られる価格が1%いっぱいまで減少する可能性があります。極端な場合、MEVボットは、ボットがすでに先に利益を得ているときに、ユーザーの取引が失敗する(スリッページを超える)ように価格を動かすことができます。これにより、取引に失敗したり、予想外にレートが悪くなったりと、ユーザー・エクスペリエンスが低下する可能性があります。ユーザーはこうした結果をDEXやブロックチェーンのせいにするかもしれない。その結果、MEVに対する保護に失敗すると、プラットフォームに対するユーザーの信頼が損なわれる可能性があります。取引ロボットにとって、取引相手が取引に影響を与える取引を挿入できるようになると、結果が予測しにくくなり、戦略を確実に実行することが難しくなります。
要するに、SolanaのMEVはコストの上昇、利幅の減少、ネットワークの摩擦につながる可能性があります。開発者はこれらの脅威を認識し、特にトランザクションのシーケンスが財務結果に影響するようなアプリケーションでは、これらのリスクを軽減するための対策を検討する必要があります。
MEVからトランザクションを保護する
トランザクションやユーザーに対するMEVの悪影響を防止または制限できるツールは数多くあります。ユースケースはそれぞれ異なるため、すべてのツールがあなたのケースで機能するとは限りません。
トランザクションを保護する:QuickNodeアドオンを活用する。QuickNodeマーケットプレイスは、取引の着地点を改善し、MEVへの露出を最小限に抑えるツールを提供します。Lil' JIT - Jito Bundles & Transactionsアドオンにより、MEVとロールバック保護を含む、高速なランディング・シーケンス実行のためにトランザクションをバンドルすることができます。さらに、マーケットプレイスでは、Solana MEV Protection & Recovery アドオンを活用することで、既存のエンドポイントの SendTransaction
コールに MEV プロテクションを追加できます。このアドオンは、先取りからの保護を提供するだけでなく、MEV リカバリ (キャプチャした悪意のない MEV をユーザーに返す) もサポートし、プライバシーを強化し、高速実行を保証します。
不要な状態変更からの保護: トランザクション保護を活用します。Lighthouseはランタイム アサーション Solana プログラムで、チェーンの状態が望ましい状態から逸脱していることを発見したときにトランザクションを失敗させます。lighthouseコマンドをトランザクションに追加することで、トランザクションの実行終了時に指定された口座の状態が、事前に定義された望ましい状態と一致することを確認できます(たとえば、このトランザクションの後に指定されたトークンの残高がX未満であれば、トランザクション全体を拒否する)。これにより、単純なスリッページよりも複雑な口座チェックが可能になり、またSysvar(スロット)に対するアサーションが可能になるため、ブラックリスト入りバリデータに使用できる。-- これは、getLeaderSchedule
を利用することで実現できます。span>と悪意のあるバリデータのリストを利用します。
指値を設定する:スリッページを設定し、指値注文を利用する。取引を行う際には、常にスリッページを自分の取引とリスク許容度に合ったレベルに設定します。悪意のある行為者は、あなたのスリッページ率によって許されるあらゆる機会を利用しようとしていると想定してください。ユースケースが許す限り、トークンを売るための最低価格を設定するために指値注文を使用してください。QuickNode の Metis API をチェックしてください。com/docs/solana/limit-order-create">リミットオーダーをサポートしています。
取引の失敗を防ぐ:取引を最適化しましょう。MEVは大量のトランザクション・スパム・トラフィックをネットワークに送り込むため、トランザクションを正しく構築して、特定のブロックに組み込めるようにしなければなりません。つまり、適切な数の計算単位を要求し、競争力のある優先手数料を提供し、取引を正しく組み合わせる必要があります(Strategies for Optimising Solana Trades または Strategies for Optimising Solana Trades を参照)。詳細はSolanaで木星取引を成功させるためのヒントをご覧ください)。 QuickNodeの優先手数料APIと誓約に集中しましょう。バリデータを知りましょう。バリデータとバリデータクライアントが異なれば、MEVの扱い方も異なります。これはあなたのトランザクションには直接影響しませんが、あなたの誓約(および他の人の誓約)は、バリデータネットワーク全体の健全性とMEVに関するガバナンスに影響を与える可能性があります。ここにいくつかのリソースがあります: Jito Validator Client、Marinade: Decentralised MEV、PaladinValidatorクライアントです。
ソラナ改善文書(SIMD)への参加。Solana FoundationはオープンソースのGitHubリポジトリ、ソラナ改善文書を運営しています。ここでは、コミュニティのメンバーがアイデアを提出したり、既存のコンテンツにコメントすることができます。MEV、ネットワーク使用料/報酬などに関する議論が進行中です。意見があれば、ぜひ参加してください!
RFQと高速トランクシステムを検討してください。 高度なアプリケーションについては、見積依頼 (RFQ) システム (JupiterZ など)、および Express を検討してください。= "https://www.pyth.network/blog/express-relay-priority-auctions">Express Relay など、プライベート・オーダー・フロー・チャネルと独立したプライオリティ・オークションによって MEV 保護を提供するシステムがあります。これらのシステムはプロトコルとサーチャーを直接接続し、MEV抽出からバリデーターを排除し、価格設定をより効率的にします。主な利点としては、プライベート・トランザクション・ルーティング、サーチャー間の直接競争、統合コストの削減などが挙げられます。
まとめ
MEVは、どのブロックチェーン上に構築する場合でも考慮すべき重要な要素であり、Solanaも例外ではありません。Solanaの設計がゲームチェンジャーであることは理解していますが、MEVは依然として裁定取引、清算、巻き込みによって発生しています。ソラナDeFiツールの開発者として、MEVを無視すると、アプリのユーザーにとって望ましくない取引結果や、ロボットの収益性を失うことになりかねません。
追加リソース
- ソラナMEV:入門 Marketplace Add-ons
Merkle.io MEV Protectionマーケットプレイスアドオン
Open Source Malicious Validator Tracker
Lighthouse ランタイム・アサーション・ソラナプログラム
Solana トランザクションを最適化するための戦略
Tips to Improve Jupiter Transaction Success on Solana
Jito Validator Client
Marinade: Decentralised MEV
Paladin Validator Client