キーワードを入力してください

リサーチ・技術解説公開 2026-07-16更新 2026-07-16

SolanaのMEVとは?Jito・bundle・Tip Distributionの仕組み

はじめに

SolanaのMEV(取引の並び順から生じる追加収益)を理解するには、まず「誰が何を送って、どこで選ばれ、誰にtipが配られるのか」を分けて見ます。MEVは、悪意ある取引順序の操作という意味だけではありません。

裁定(価格差を取る取引)や清算(担保割れポジションの強制決済)、混雑時の優先実行など、ブロック生成の前後で生じる価値を広く含みます。こうした機会を成立させる手段が、複数の取引をまとめて実行するbundleのatomic execution(まとめた取引が全部成立するか全部無効になる方式)です。

SolanaでこのMEVを大きく担うのがJitoの仕組みです。Jito-Solanaを使うバリデータはJito Block Engineに接続します。searcher(取引機会を探す参加者)やアプリケーションは、そこへbundleを送ります。bundleには採用を促すtipが付くことがあり、採用されたbundleのMEV収益をバリデータと委任者へどう分けるかは、設定しだいです

この記事はMEVの仕組みを扱います。Jito-Solanaをクライアントとして比較する話はクライアントの記事、収益としてのMEVの見方(どう選ぶか)は選び方の記事にあります。

Jito-SolanaとBlock Engine

Jito-Solanaは Agave validator clientの最適化版です。バリデータはこのJito-Solanaを実行し、Jito Block Engineに接続します。

searcherやdApp、botなどは、Block Engineへトランザクションやbundleを送ります。account lockとは、同じ口座に触れる取引どうしがぶつかる状態のことです。Block Engineはbundleをシミュレーションし、tipやaccount lockの競合を見ながら、バリデータに渡す組み合わせを決めます

この流れでは、通常のpriority fee、つまり混雑時に処理を早めるための追加手数料とは別に、Jito tipが発生します。priority feeはSolanaプロトコル上の手数料で、SIMD-0096の適用により100%がバリデータへ入る設計です

Jito tipは、bundleが採用されるために支払うtipで、Jitoの支払い・分配プログラムを通じてバリデータと委任者へ配分されます。

Block Engineの利用には、手数料(Block Engine fee)が伴うこともあります。これはバリデータのMEV commission(取り分)と合わせて、委任者の受け取り額を左右する要素です。

金額の決まり方も違います。priority feeは、使う計算量とその単価で決まります。Jito tipは、searcherが提示する入札額そのものです。

利用者から見ると、priority feeとJito tipはどちらも「取引が通りやすくなる費用」に見えます。ただし、発生する場、金額の決まり方、分配先は同じではありません

Bundleとは何か

bundleは最大5つのトランザクションをまとめたものです。bundle内のトランザクションは順番に実行され、atomicに扱われます。全部成功するか、全部失敗するかのどちらかです。裁定取引のように、複数の取引をまとめて成立させたい場面で使う手法です。

bundleどうしはtipの多さで競います。Block Engineはbundleをシミュレーションし、利益の高い組み合わせをバリデータへ送る仕組みです。Jito docsによると、account lockの重なりに応じて並列auction、つまり同時並行の入札を行います。その際、tipとCompute Unit(計算処理量の単位)の効率も見てbundleを選ぶとしています。

searcher・dApp・botが最大5tx・atomicのbundleにtipを付けてJito Block Engineへ送り、Block Engineがsimulateとauctionで組み合わせを選び、leader slotのバリデータがブロックを作る流れ。選定はtip・account lockの競合・Compute Unitの効率で決まる。

この仕組みは、Solanaの速いブロック生成と相性があります。ただし、バリデータの地理的な配置、Block Engineとの往復レイテンシ、leader slot(自分がブロックを作る順番)での処理能力が収益に効きます。JitoのFAQでは、Block Engineとのround-trip latencyがbundle inclusionに影響するとしています

Tip Distribution Program

JitoのTip Distribution Programは、バリデータと委任者へMEVを配るためのプログラムです。Jito Foundationのdocsによると、バリデータクライアントは各epochごとに一意のTipDistributionAccountを作ります。epochは、報酬計算の一区切りです。

このkeyは、epochとvote account public key(バリデータが投票に使うアカウントの公開鍵)から決まります。そのepoch中のMEVチップが、このアカウントに集約される仕組みです。

epochが終わると、前epochの最後のslotをもとにsnapshotを取ります。このsnapshotから、各バリデータとstake アカウントへのclaim(請求して受け取る操作)の情報を集めます。この情報を、merkle tree、つまり請求内容を検証できる木構造にまとめる流れです。

そのrootをオンチェーンにアップロードすると、バリデータや委任者はMEVをclaimできます。第三者が代理でMEVをclaimする設計もあります

各epochごとにTipDistributionAccountを作ってMEVチップを集約し、epoch終了時に最後のslotからsnapshotを取ってmerkle treeとrootを作成、rootをオンチェーンに公開してバリデータと委任者がMEVをclaimするまでの一連の流れ。

委任者の立場では、実際の受け取りを左右するのは次の3点です。

  1. MEVチップが本当に委任者に配分される設定か
  2. claimが自動か手動か
  3. claim後に自動で再ステークされるか

インフレ報酬(新規発行分から受け取る基本報酬)はstake アカウントへ自動的に入ります。そのままactive stake(報酬計算に有効なステーク)として再委任されるのが基本です。MEVチップは、これとは別のclaimや分配フローになることがあります。表示APRにMEVを含める場合、この違いの説明がないと、利用者は「同じ種類の報酬」と受け取りがちです

sandwich対策

MEVには、利用者に不利な形で取引順序を利用するパターンもあります。その代表がsandwich(標的の取引の前後に自分の取引を挟み、価格を不利に動かす手口)です。

Jito docsは、このsandwichへの対策として、jitodontfrontで始まるpublic keyをトランザクションに含める方法を挙げています。このアカウントを含むbundleは、対象のトランザクションがbundleの先頭にない限り、Block Engineに拒否されます

このような仕組みがあるため、MEVを単に「追加利回り」とだけ扱うのは粗い見方です。どのBlock Engineを使い、どのポリシーでbundleを受け、利用者保護をどう扱うかで、MEVの性格は変わります。

MEVを構成要素に分ける

MEVは一括りにせず、次の要素に分けると仕組みが整理できます。選定でこれをどう使うかは選び方の記事にまとめています。

  • Jito-Solanaの利用有無:Jito Block Engineに接続しているか
  • MEVチップの分配:バリデータと委任者への配分設定
  • 手数料:Block Engine feeやバリデータ側のMEV commission(取り分)
  • claim方法:自動claim、手動claim、代理claimの有無
  • 再ステーク:claim後に自動でstake アカウントへ戻るか
  • レポート:epoch別、バリデータ別、stake アカウント別に追跡できるか

MEVは、Solanaのバリデータ報酬を語るうえで避けて通れない論点です。ただし安定収益ではなく、市場環境やDEX(分散型取引所)活動、清算量、Block Engineとの接続品質で大きく振れます。利回りの読み方やバリデータの選び方は、選び方の記事で扱います。

参考リンク

あわせて確認したいページ

FAQで確認したい論点

比較検討や社内説明で出やすい疑問を、一次説明に戻れる形で確認できます。

次の一手

次に読みたいページ

Solanaバリデータソフトウェアの違いとは?

SolanaのDoubleZeroとは?バリデータ向け専用ネットワーク層の仕組み

Solana の SGP-0002・SGP-0003 とは?インフレ抑制と手数料バーンがバリデータ経済に与える影響を解説