DEX執行アルファ:メンンプール・ガス・ノンスを制して“見えないコスト”を利益に変える

取引手法

同じエントリーとクローズでも、執行の質が悪いと年利換算で数%の差につながります。DEXの取引コストは、①価格影響(スリッページ)②ガス代③MEV被害(サンドイッチ等)に大別できます。本稿では、メンンプールの性質とEIP-1559のガス設計、ノンス管理、Private RPCの使い方、注文分割(TWAP)まで、実務で即使える手順を整理します。

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

1. なぜ「執行アルファ」が効くのか

AMM(例:x*y=k)では、注文サイズがプール準備金に対して大きいほど価格が不利に滑ります。概算では価格影響は impact ≈ size / liquidity の一次近似で把握できます。例えばUSDC/ETHのプールに10,000 ETHと30,000,000 USDCがあるとき、100 ETHの買いは約1%前後の影響を与えます(実際は曲線的で、出力価格はΔP = 1 – √(L/(L+size))に近づきます)。

ガス代は 実支払 = (baseFee + priorityFee) × gasUsed × ETH価格 で決まります。スワップのgasUsedが120,000、baseFeeが20 gwei、priorityFeeが1 gwei、ETHが3,000 USDなら、およそ7.56 USDのガスとなります。小口・高頻度になるほどガスの占有率が増え、純利益を圧迫します。

MEVはサンドイッチやフロントランで実行価格を悪化させます。公開メンンプールにブロードキャストされたトランザクションは、アービトラージャに観測されやすく、スリッページ許容幅が広いほど狙われやすくなります。

2. 最短で効く実務手順(チェックリスト)

2.1 Private RPCの利用

取引を公共メンンプールに流さず、バリデータや中継ノードに直接送信するPrivate RPCを使います。これによりサンドイッチのリスクを大幅に低減できます。ウォレットの「ネットワーク追加」からカスタムRPCを設定し、対象チェーンに対応した保護付きエンドポイントを有効化します。

2.2 スリッページ許容値の最適化

許容幅はデフォルトの1%では広すぎます。板厚・ボラティリティ・注文サイズから逆算し、0.2%~0.5%を起点に調整します。許容幅は「攻撃ベクトル」でもあるため、広げる前提であれば必ずPrivate RPCと併用します。

2.3 EIP-1559のガス設計

Max Fee(上限)とPriority Fee(チップ)を分離して考えます。
Max Fee:baseFee変動に備えた上限。目安は「直近baseFee×(1.2~1.5)+最小チップ」。
Priority Fee:一般時は0.5~1.0 gwei程度で十分なことが多く、Private RPCではさらに低く抑えられます。
Replace-By-Fee(RBF):詰まり時はPriority Feeを微増して置き換えます。過剰な上乗せは不要です。

2.4 ノンス管理(整流化)

同一アカウントはトランザクションがノンスで直列化されます。承認(Approve)を先に投げるとスワップが詰まることがあります。Permit/Permit2対応なら、承認とスワップを単一トランザクションにまとめ、「承認詰まり」を回避します。ペンディングが溜まったら低ガスの古いTxをRBFで明示的にキャンセルし、詰まりを解消します。

2.5 ルーティングと注文分割

アグリゲーターで「部分約定可」「複数プール分割」を有効にし、価格影響を下げます。大口はTWAP(時間分割)でブロック間に散らし、1トランザクションあたりのサイズを下げます。目安としては、impact目標 ÷ 取引回数が0.2%未満に収まるよう調整します。

2.6 約定タイミング

ガス込みコストが重いチェーンでは、オフピーク(現地深夜帯)や混雑イベント回避でbaseFeeを抑えます。ボラが急騰している間は敢えてTWAPの間隔を広げ、フィルを遅らせます。

3. ケーススタディ:同じスワップでどれだけ差が出るか

条件:ETH価格3,000 USD、USDC/ETHの有効流動性10,000 ETH、買い100 ETH。ガスは120,000、baseFee 20 gwei。
ナイーブ実行:公共メンンプール、スリッページ1%、デフォルトガス。
・価格影響:約1.0%(約3,000 USD相当の不利)
・ガス:7.56 USD
・MEV被害:0.05%想定(1,500 USDの約0.05%=0.75 USD)
最適化実行:Private RPC、スリッページ0.3%、分割2回、Priority 0.5 gwei。
・価格影響:0.50%前後(分割効果)
・ガス:2本合計で約8.0 USD(若干増)
・MEV被害:理論上ほぼ0(Private経由)
差分:約3,000×(1.0%-0.5%)=15 USD改善、MEV 0.75 USD回避、ガス+0.44 USD増。合計で約15.31 USD改善。これを週2回、年100回繰り返すと1,531 USDの差です。資金回転が高い戦略ほど効きます。

4. サンドイッチ対策の実務ディテール

Private送信:公開メンンプールに出さないことが最重要です。
スリッページを狭く:許容幅を狭めるほど攻撃が成立しにくくなります。
単一コール:許可とスワップを一体化して手がかりを減らします(Permit/Permit2対応)。
期限・乱数:deadlineを短く、可能ならサルト(salt)やランダム化で予測性を下げます。
流動性選択:薄いプールは避け、深いプールまたは複数経路を選択します。

5. ガス削減の具体テクニック

不要な呼び出しを省く:複数回の承認・転送をまとめます。
再利用:一度高額ガスで承認したトークンはアローワンスを維持し、再承認を避けます(ただしセキュリティと相談)。
L2の活用:目的と流動性が合うならロールアップ(Optimistic/ZK)での取引を検討します。
キュー管理:ペンディングを溜めず、RBFで整理してガスの二重払いを防ぎます。

6. 失敗パターンとリスク

詰まりからの価格逆行:ガス不足で約定が遅れ、想定と逆方向に動く。→Max Fee設計とRBF運用で回避。
許容幅の設定ミス:狭すぎて不成立、広すぎて被害拡大。→ボラティリティとサイズから動的に設定。
承認詰まり:Approveが先に並び、スワップが停止。→Permit併用か、承認とスワップの順序制御。

7. 実装メモ(ウォレット&アグリゲーター)

1) ネットワーク設定でPrivate/保護付きRPCを追加して既定にします。
2) アグリゲーターで「部分約定可」「複数経路」「手数料表示」「MEV保護」をON。
3) スリッページ0.2%から開始し、約定失敗が出たときのみ0.1%刻みで拡張。
4) Max Fee=直近baseFee×1.3+0.5 gwei、Priority=0.5 gweiを初期値。
5) 大口は2~5本にTWAP分割。各本のdeadlineは短め(例:90秒)。

8. まとめ

執行の質は「戦略の勝率やリスクリワード」と同程度にパフォーマンスへ効きます。Private RPC、適切なスリッページ、EIP-1559のガス設計、ノンス管理、TWAP分割という基本セットを徹底するだけで、同じ相場観でも結果は数%改善します。まずはスモールスタートで、チェックリスト化して標準手順に落とし込みましょう。

コメント

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