ソラナのJitoバンドルとは?アトミック実行 & MEV保護 完全解説
トークンをローンチしたり、リスティングをスナイプしたり、ソラナDEXでスワップしたことがあるなら、インターフェースのどこかに**「Jito Tip」**というフィールドを見たことがあるでしょう。ほとんどの人は数字を入力して何も考えずに進みます。
しかしその小さな入力フィールドの裏には、ソラナで最も重要なインフラの1つがあり — それを理解することが、成功する取引と損失の差を生みます。
このガイドでは、Jitoバンドルとは何か、内部でどう動くか、存在する2つの核心的理由をすべて解説します。
Jitoバンドルとは?
Jitoバンドルは最大5つのソラナトランザクションを1つの単位として実行するグループです。
3つの保証:
- 順次: トランザクションが定義した正確な順序で実行されます — まずトランザクション1、次に2、次に3。
- アトミック: すべてのトランザクションが成功するか、どれもブロックチェーンにコミットされません。トランザクション3が失敗すると、トランザクション1と2は起こらなかったかのようにロールバックされます。
- 同じブロック: バンドルのすべてのトランザクションが単一のソラナブロックに入り、同時に確認されます — 複数のブロックや複数秒にまたがりません。
それだけです。シンプルな概念ですが、巨大な意味を持ちます。
JitoバンドルはJito Labsが構築・維持しています。2025年時点でソラナの全ステークの約**95%**がJitoバリデータクライアントを実行しており、ほぼすべてのブロックでバンドルが処理されます。
Jitoバンドルが存在する理由
Jitoバンドルは根本的に異なる2つの問題を解決します:マルチトランザクション操作のためのアトミック順次実行と、サンドイッチ攻撃に対するMEV保護。両方を理解することが、ソラナでなぜどこでも使われているかを理解する鍵です。
1. 単一ブロック内のアトミック順次実行
ソラナでは個別トランザクションはアトミックです — 単一トランザクション内のすべての命令は一緒に成功か失敗します。しかし複数のトランザクションが必要になった瞬間、その保証を失います。
トランザクションAとBを別々に送信すると:
- Aは成功してBが失敗する可能性があります。
- BがAより先に実行される可能性があります。
- 異なるブロックに異なる時間で入る可能性があります。
基本的なトークンスワップでは問題ありません。しかしより複雑な操作では深刻な問題です。
トークンローンチとマルチウォレットスナイピング
Pump.funのようなプラットフォームでミームコインをローンチする際、クリエイターは通常、他の誰よりも先に複数ウォレットで初期トークン供給を確保したいと考えます。ローンチと複数ウォレットからの最初の買いをバンドリングすることでこれが可能になります。
Jitoバンドルで、クリエイターはすべてを1つのアトミック単位にパッケージします:
- トランザクション1:トークン作成
- トランザクション2:ウォレットAが買い
- トランザクション3:ウォレットBが買い
- トランザクション4:ウォレットCが買い
4つのトランザクションすべてが同じブロックに正確な順序で入ります。バンドルがアトミックなので、トークン作成と最初の買いの間に外部トランザクションを挿入できません — スナイパーボットはローンチを検出してフロントランできません。クリエイターは最低価格で初期供給を確保し、複数ウォレットの買い圧力が最初のブロックから価格を押し上げます。
買いトランザクションのいずれかが失敗すると(残高不足、パラメータ誤り)、トークン作成を含むバンドル全体がロールバックされます。オンチェーンには何も起こりません。クリエイターは問題を修正し、初期ホルダーなしにトークンが生存する状態を残さず再試行できます。
マルチステップトランザクションチェーン
Jitoバンドルは、複数トランザクションが1つの壊れないシーケンスとして実行されなければならない自動化ボット操作で広く使われています。
例えば、ユニーク取引ウォレットを増やすボットやトークンホルダー数を増やすボットは、1つのバンドル内で一連の依存ステップを循環します:
- トランザクション1:新しいウォレットにSOLを入金
- トランザクション2:新しいウォレットがトークンを買い
- トランザクション3:購入したトークンをメインウォレットに転送
- トランザクション4:新しいウォレットから残りのSOLを回収
- トランザクション5:サービス手数料を支払い
各ステップは前のステップに依存します。バンドルなしでは、トランザクション2で失敗するとトランザクション1のSOLが新しいウォレットに取り残され、手動回収が必要になります。Jitoバンドルでは、5つのトランザクションすべてが成功するかオンチェーンに何も起こりません。
単一ブロックでの複数ウォレット買い
既存トークンを複数ウォレットで買う場合、すべての買いを単一ブロックにバンドリングすることで、各ウォレットの買いの間に外部トランザクションが実行できなくなります。バンドルなしでは、他のトレーダーやボットが最初のウォレットの買いを見て、残りのウォレットが実行される前に反応できます — 残りの買いをフロントランするか価格をさらに押し上げます。
バンドルでは、シーケンス全体がプライベートでアトミックです。すべてのウォレットが同じブロック内で正確な順序で買い、取引は別々のウォレットからの独立した買い活動として表示されます。
2. MEV保護
Jitoバンドルが存在する2番目の理由はMEV保護 — 具体的にはサンドイッチ攻撃に対する保護です。
MEVとは?
MEVはMaximal Extractable Valueの略です。ブロック内でトランザクションを並べ替え、挿入、または除外することで抽出できる利益を指します。
ソラナで一般ユーザーに影響する最も一般的なMEVの形式はサンドイッチ攻撃です。
サンドイッチ攻撃の仕組み
ソラナで通常のスワップトランザクションを送信すると、ブロックに含まれる前にMEVボットが観察できるネットワークのトランザクションパイプラインに入ります。
起こること:
- スワップを送信します:1 SOL相当のトークンXを買います。
- MEVボットが保留中のトランザクションを見ます。買いがトークンXの価格を上げると計算します。
- ボットがフロントランします:あなたのトランザクションの前に、より低い価格でトークンXを買います。
- あなたのトランザクションが実行されます:ボットの購入が既に価格を動かしたため、より高い価格でトークンXを買います。
- ボットがバックランします:あなたのトランザクションの後にすぐにトークンXを売り、価格差で利益を得ます。
より悪い価格を得ました。ボットが差額を懐に入れました。これはブロックあたり何千回も自動的に起こり、被害者は通常気づきません — ただ「スリッページが高かった」と思います。
Jitoバンドルがリスクを軽減する方法
Jitoバンドルを通じてトランザクションを送ると、公開トランザクションパイプラインをバイパスしてJitoブロックエンジンに直接向かいます — MEVボットがトランザクションを観察できないプライベートシステムです。アプリケーション → ブロックエンジン → Jitoバリデータ → オンチェーン実行と直行し、どの時点でも公開メンプールに露出しません。
攻撃者がトランザクションを見ないので、前後に取引を挿入できません。大半のサンドイッチ攻撃が効果的にブロックされます。
これが複数ウォレットの大量売却や、チャート活動を構築するために同じトークンを繰り返し取引するマーケットメイキングボットにJitoバンドルが標準である理由です。両方のケースで、すべてのトランザクションがオンチェーンで確認されるまでMEVボットから隠されます。
Jitoはjitodontfrontメカニズムなどの追加対策も提供し、トランザクションが含まれるバンドルで必ず最初に表示されるようにします — フロントランニングに対する別の保護レイヤーを追加します。
Jitoバンドルを通じたスワップルーティングは通常のRPCを通じたトランザクション送信よりはるかに安全であり、現在ソラナで最も広く採用されているMEV保護です。
Jitoバンドル vs. 通常トランザクション
以下の表は通常のソラナトランザクション送信とJitoバンドル使用の主要な違いをまとめています:
| 通常トランザクション | Jitoバンドル | |
|---|---|---|
| 最大トランザクション数 | 1 | 最大5 |
| 実行順序 | 保証なし | 順次保証 |
| アトミック性 | 単一txのみ | すべてのtxにわたり全か無 |
| MEV保護 | なし — メンプールで可視 | メンプールバイパス、攻撃が大幅に困難 |
| 優先メカニズム | 優先手数料 | Jitoチップ(オークション) |
| 失敗バンドルコスト | ガス代は常に支払い | チップはランディング時のみ支払い |
| バリデータカバレッジ | すべてのバリデータ | ソラナステークの約95% |
複数トランザクションが関わるかMEVからの保護が必要なすべての操作で、JitoバンドルはソラナのStandardです。
Jitoシステムの仕組み
Jitoバンドルを使用する際に裏で起こること:
- ステップ1:バンドル作成:アプリケーションが最大5つの署名済みトランザクションを作成し、チップを添付してバンドルにパッケージします。
- ステップ2:ブロックエンジン:バンドルは通常のソラナRPCではなくJitoのブロックエンジンに送信されます。ブロックエンジンは数千のユーザーから同時にバンドルを収集します。
- ステップ3:シミュレーション:ブロックエンジンがバンドルのすべてのトランザクションをシミュレーションします。いずれかのトランザクションが失敗する場合、バンドル全体がブロックチェーンに触れる前に拒否されます。何も支払いません。
- ステップ4:オークション:約200ミリ秒ごとにブロックエンジンがオークションを実行します。バンドルはチップ額で競争します。高いチップ = 高い優先度。落札バンドルは現在のJitoバリデータに転送されます。
- ステップ5:実行:Jitoバリデータが落札バンドルをアトミックに実行します。すべてのトランザクションが成功してコミットされるか、バンドルが完全に破棄されます。
Jitoチップとは?
Jitoチップはバンドルに添付される少額のSOL支払いです。バンドルをJitoブロックエンジンに送信するコストであり — 次のブロックにバンドルを含めるインセンティブとしてバリデータに支払われます。
- 最小:1,000 lamports(0.000001 SOL)
- バンドルがオンチェーンにランディングした場合のみ支払い。失敗したシミュレーションやオークション敗北はコストゼロです。
- チップはトランザクションではなくバンドル単位で支払います — 5トランザクションのバンドルが1トランザクションのバンドルと同じチップです。
チップのアプローチ方法
よく作られたプラットフォームはトランザクションを正しく構成し、適切なシミュレーションを使用し、内部でリトライを処理します — つまり通常のネットワーク条件では最低チップでもバンドルが成功裏にランディングすることが多いです。基本的な操作を通すために高いチップが必要な場合、チップ額よりもプラットフォームのトランザクション構成が問題である可能性が高いです。
可能な限り最低のチップから始め、必要な場合にのみ上げてください:
| シナリオ | 推奨開始チップ |
|---|---|
| 通常条件 | 0.000001 SOL(最低) |
| 中程度の混雑 | 0.0001 – 0.0005 SOL |
| 競争的トークンローンチ | 0.001 – 0.005 SOL |
| 極度に競争的なスナイプ | 0.005+ SOL |
目標はバンドルがランディングするために必要な最低額を支払うことです。チップの過払いは無駄なSOLです。
まとめ
Jitoバンドルは2つの目的を果たします:
- アトミック順次実行 — 複数トランザクションを1つの全か無パッケージにグループ化。マルチウォレット買いを含むトークンローンチ、単一ブロックでのオンチェーン取引活動生成、部分失敗が許されないすべてのマルチステップ操作に使用。
- MEV保護 — 公開トランザクションパイプラインをバイパスしてMEVボットがスワップを観察できないようにする。トランザクションがオンチェーンで確認されるまで隠すことで大半のサンドイッチ攻撃をブロック。
両機能はJitoブロックエンジンとJitoチップで駆動され、ソラナバリデータの約95%がバンドル処理をサポートしています。
