JIT ルーティングとは?
概要
JIT(ジャスト・イン・タイム)ルーティングは、オンチェーンスワップが経路を選択する仕組みを変更します。見積もりを取得した時点では、まだ経路は決まっていません。取引がオンチェーンで実行される際、スワップは再度市場を確認し、より多くのトークンを得られる経路へと切り替えます。これらはすべて1回の取引で完結します。
署名は引き続き1回のみです。残りの処理はコントラクトが実行します。
これが重要な理由とは?
一般的な DEX アグリゲーターは、その時点で確認できる価格に基づき、署名前に最適な経路を決定します。ブロックチェーンでは、取引が即座に実行されるわけではありません。取引がオンチェーンに反映される頃には、状況が変化していることがあります。
同じプールを経由して、他のユーザーが先に取引を行う可能性があります。
マーケットメイカーが手を引き、スプレッドが広がる可能性があります。
見積もり取得時点では潤沢に見えた LP が、流動性を引き上げる可能性があります。
MEV ボットが、ユーザーの取引にフロントランニングやサンドイッチ攻撃を仕掛ける可能性があります。
トークンの価格変動が激しく、価格が動いてしまう可能性があります。
そのような場合、実際に受け取る価格は見積もりからずれていきます。スリッページを厳しく設定しすぎるとスワップは失敗します。緩く設定しすぎると、不利な約定を強いられたり、サンドイッチ攻撃を受けたりします。
JIT ルーティングは、このギャップを埋めるために開発されました。
JIT ルーティングの仕組みとは?
ルーターは従来通り、オフチェーンで見積もりを生成します。異なるのは、複数の候補経路を用意し、取引自体に条件付きロジックを組み込んでいる点です。オンチェーンで実行される際の流れは次の通りです。
スマートコントラクトが、各候補プールの現在の状態を確認します。
その中から、最も多くの出力が得られるプールを選択します。
すべての処理が1回の取引で完結します。
当初選択されたプールが引き続き最適であれば、取引はそのプールを経由して実行されます。ブロックが確定する時点で別の候補のほうが有利であれば、取引は自動的に経路を変更します。ユーザー側で行うことは何も変わりません。この仕組みは取引そのものに組み込まれています。
実行時の見積もりと再見積もりを3ステップで行う OKX JIT ルーティング
主なメリット
受け取るトークンの増加
実行時にプールを比較することで、見積もり後に状況が変化した場合でも、より有利な経路を選択できます。平均すると、ユーザーの受け取る数量は増加します。また、取引額が大きいほど、その効果は顕著になります。
実効スリッページの低減
経路の決定は取引が実際に確定する時点に近いタイミングで行われるため、見積もり価格と約定価格の差が縮小します。約定率を犠牲にすることなく、スリッページ許容値をより厳しく設定できます。
スワップ成功率の向上
スワップの失敗の多くは、価格がスリッページの上限を超えて変動することに起因します。最新のプール状態に応じて対応することで、その可能性が低減します。取引の失敗が減り、ガス代の無駄も削減されます。
PropAMM スプーフィングへの対策
プロプライエタリ・マーケットメイカー(PropAMM)は、注文フローを呼び込むために有利な見積もりを提示し、取引が確定する前にスプレッドを広げることがあります。JIT ルーティングは決済時に実際のオンチェーン出力を比較するため、見積もりを提示した取引先の条件が悪化した場合は、取引先を切り替えます。
流動性の引き上げに対する耐性の向上
一部の流動性は見積もり時点では潤沢に見えても、取引が成立する前に消失することがあります。オンチェーンでの再確認がこれを検知し、該当するプールを回避します。
JIT ルーティング機能を有効化にする方法とは?
特別な操作は必要ありません。デフォルトで有効になっており、すべてのスワップで最適な価格を自動的に見つけ出します。お客様の取引で有効になっている場合は、プロバイダーカードの右上に表示される「JIT ルーティング」タグをご確認ください。
OKX DEX スワップページのプロバイダーカードに表示される「JIT ルーティング」タグ
よくある質問
JIT ルーティングは安全ですか?
はい、安全です。このロジックは、監査済みのスマートコントラクト内で実行されます。取引は、ユーザーが設定した最低受け取り額の条件を満たした場合にのみ確定します。条件を満たす候補経路がない場合、取引は失敗し、資産はウォレットに残ります。
ユーザーとして、何か特別な操作が必要ですか?
いいえ。表示される見積もりは1つ、署名する取引も1回のみです。追加の手順や署名、プロトコル手数料は一切ありません。スリッページの設定もこれまでどおり有効です。JIT ルーティングはその設定を置き換えるものではなく、その上で機能します。
スワップの処理が遅くなることはありますか?
ほとんど影響はありません。候補となる経路は、あらかじめオフチェーンで用意されています。オンチェーンでの比較は同じ取引の中で行われるため、確定までにかかる時間は、そのチェーンでの通常のスワップとほぼ変わりません。
JIT ルーティングを使えば、常により良い価格になりますか?
必ずしもそうとは限りません。当初のプールがそのまま最適で、経路を変えずに取引が成立することもあります。大切なのは、状況が変わったときに古い経路へ取り残されずに済むことです。取引を重ねるほど、平均的な結果は良くなっていきます。
追加のガス代は発生しますか?
はい、わずかにかかります。コントラクトがオンチェーンで追加のプール比較を行うため、ガス代がわずかに上乗せされます。通常は、受け取るトークンが、この上乗せ分を上回ります。ガス代の安いチェーン(Solana、BSC)では、この上乗せ分は無視できるほど小さく収まります。
スリッページ保護の代わりになるものですか?
いいえ。スリッページ許容度は引き続き、許容できる最悪の価格を定めるものです。JIT ルーティングはその最悪のケースが起こる頻度を減らしますが、スリッページは取引ペアの変動の大きさに応じて設定する必要があります。
すべてのトークンとチェーンに対応していますか?
効果が最も大きいのは、変動の激しい取引ペア、取引額の大きいスワップ、そして PropAMM や PMM の流動性を経由するスワップです。現在は Ethereum、BSC、Solana で利用可能です。今後、対応する EVM チェーンを順次拡大していく予定です。