DEXスワップ完全攻略:ルーティングとMEV回避で有利約定を勝ち取る実践ガイド

暗号資産

スワップは「最短で安く買う」だけの操作に見えますが、実際には価格決定の仕組み(AMM)ルーティングガス・手数料、そしてMEV(サンドイッチ等)までを一体で最適化しないと、同じ取引でも受け取れる数量が大きく変わります。本稿では、初めての方でも迷わないように基礎から数式・数値例・実務フローまでを通しで解説します。

スポンサーリンク
【DMM FX】入金

スワップの本質:AMMと「見えないスプレッド」

多くのDEXは自動做市(AMM)で価格が決まります。代表的なx×y=k(CPMM)では、プール内の2資産の積が一定になるように価格が調整され、あなたの注文は自分で価格を動かしながら約定します。表面的な手数料に加え、価格影響(Price Impact)が事実上のスプレッドとして効きます。

数式の要点:CPMMでリザーブをx(Token A)、y(Token B)、手数料率をf、入力額をΔxとすると、受取はおおよそ Δy ≈ (1 – f)·y·Δx / (x + (1 – f)·Δx) 。取引直後の有効レートは平均約定価格(VWAP)で、画面の「見かけの価格」より不利になりえます。

つまり「どのプールで、どのサイズを、何回に分けて通すか」で、実効レートが数十bp~数百bp動くのが当たり前です。

ルーティングの考え方:直通か、分割か、三角か

選べる経路は大きく3類型です。

  1. 直通:USDC→ETHのように単一プールを一発で通す。ガスが安い反面、プールが薄いと価格影響が肥大。
  2. 分割:複数プールへ注文を割り振る(例:60%を手数料0.05%プール、40%を0.3%プール)。価格影響のカーブが非線形なため、分割が得なケースが多い。
  3. 三角:USDC→DAI→ETHのように安定型プールを挟む。安定型プールの低スリッページを活かし、総合のVWAPを改善。

アグリゲータはこれらを自動探索しますが、常に最適とは限りません。大口・高ボラ時は自分で「分割・経路長・手数料ティア」を調整した方が有利なことがあります。

数値で掴む:直通 vs 分割の差

例:ETH/USDCのCPMM、リザーブがx=10,000 ETH、y=20,000,000 USDC、手数料f=0.05%とします。1,000,000 USDCを一発でETHに替えるのと、50万×2回に分けるのでは、後者の方が総受取がわずかに増えるのが通常です。これは価格影響のカーブが非線形で、分割が“平均化”として機能するためです。

さらに、半分を手数料0.05%、半分を0.3%の別プールに流すと、手数料コストは悪化する一方で価格影響が減り、総合では得になる場合があります。ここが「手数料だけ見てはダメ」な理由です。

集中流動性(CLMM)への理解:レンジと“仮想リザーブ”

Uniswap v3型ではLPが価格帯に流動性を集中します。あなたの注文は複数の価格帯(ティック)を跨ぎながら約定し、レンジを跨ぐ毎に手数料ティア・深さが変わるため、単純なCPMMより結果のばらつきが大きくなります。大口は特に、どのレンジに厚みがあるかを事前に把握し、レンジを跨がないサイズに分割するのが効果的です。

安定型プール(StableSwap)を“経由地”にする

USDC/DAIのような同種ステーブル間は、Curve型の安定スワップが超低スリッページです。USDC→ETHを、USDC→DAI→ETHと回すと手数料は1回分増えますが、ETH側プールに入るときのサイズが小さくなり、総VWAPが改善します。特に市場が荒れている時は三角経路が効きます。

スリッページ許容値の設計

スリッページを小さくしすぎると失敗(Revert)、大きすぎるとMEVに狙われます。経験則として、直近の短期ボラ(例:5分の実現ボラ)×係数で上限を計算すると理にかないます。例:5分実現ボラが年率換算で60%なら、瞬間の標準偏差をbpsに直して±数σ相当を許容。急変時は許容値を下げて分割回数を増やすのが安全です。

ガス・手数料・デッドライン:実効コスト管理

  • LP手数料ティア:0.01/0.05/0.3/1%など。ボラ高いペアほど高ティアに流動性が偏りやすい。
  • ガス:ルートが長いほど、また分割が多いほど増える。L2は安いが、実行のタイミング(Sequencer混雑)で遅延や価格ズレが起きる。
  • デッドライン:無制限は厳禁。短め(例:60~120秒)で、失敗したら再計算して出し直す。

MEV対策の要点:サンドイッチを避ける

サンドイッチは「あなたの取引前後に挟む」攻撃です。対策は以下のとおり。

  1. Private Tx/MEV保護RPCの利用:パブリックメモリプールに出さない。
  2. スリッページを絞る:5~30bps程度から。大口・薄いプールは特にタイトに。
  3. 分割・時間分散:一度に大サイズを投げない。市場の厚みが出る時間帯を選ぶ。
  4. トークン許可(Approval)を最小化:必要量のみ、不要になったら取り消す。

価格情報の検証:プール価格と外部価格の乖離

高ボラ時はプール価格が外部価格から乖離します。オラクルのTWAPや複数取引所の板を参照し、“今”のフェアバリューを把握してからスリッページを設定しましょう。乖離が大きいほど、三角経路や分割の効果が増します。

L2特有の注意点

  • Sequencer遅延:提出から確定までのタイムラグで価格が動く。デッドライン短め+再計算。
  • ブリッジ経路:資産の入出金タイムを考慮。短期スワップは原資の置き場所をL2に寄せる。
  • ガス動的化:イベント時はL2でもガスが跳ねる。実効コストを必ず見積もる。

実践チェックリスト(テンプレ)

  1. 対象トークンのコントラクトアドレスを公式から確認(偽トークン排除)。
  2. 候補プールの深さ・手数料ティア・レンジを確認。大口は分割前提。
  3. 三角経路(ステーブル経由)も試算し、VWAPを比較。
  4. 短期ボラからスリッページ許容を算定。デッドラインは短め。
  5. MEV保護送信+必要最小のApproval。
  6. 約定後、受取アドレスと残余Approvalを確認。不要な許可は取り消し。

ケーススタディ:10,000 USDC → ETH をL2で交換

想定:ETH/USDCのCLMMに厚い0.05%プール(深いがレンジが狭い)と0.3%プール(浅いがレンジ広い)、USDC/DAIの安定型プール(超低スリッページ)がある。

手順:

  1. 直通(0.05%単発)と分割(0.05%+0.3%)を試算。前者は手数料が安いがレンジ跨ぎで価格影響大、後者は手数料増でもVWAP改善。
  2. 三角(USDC→DAI→ETH)も試算。USDC→DAIでの損失は小さく、ETH側の価格影響が縮むため総合で優位。
  3. 最終案:(A)USDC→DAI(安定型)→ETH(0.05%)へ70%(B)USDC→ETH(0.3%)へ30%。これによりレンジ跨ぎを抑え、VWAPと充足率を両立。
  4. スリッページは15bps、デッドライン90秒、MEV保護で送信。失敗時は再試算して再送。

よくある落とし穴と対処

  • Approval無制限の放置:資産流出リスク。必要量のみ許可、終わったら取り消し。
  • スキャムトークン:アドレス確認・少額試験・取引履歴を確認。
  • 見かけの最安に釣られる:ガス・レンジ跨ぎ・MEV込みの総コストで判断。
  • 巨大注文を一撃で出す:分割・時間分散・三角経路で価格影響を薄める。

まとめ:勝ちパターンは「分割×三角×MEV保護」

スワップはクリック1回に見えて、実は最適化余地の塊です。分割で湾曲を慣らし、三角で安定型プールを活かし、MEV保護で余計な抜かれを防ぐ。最後に、毎回の結果をログ化し、どの市場環境でどのレシピが最良かを自分のデータで検証しましょう。それが長期の優位性になります。

コメント

タイトルとURLをコピーしました