メインコンテンツへスキップ
エンジニアリングMar 28, 2026

Deep EVM #14:アービトラージサイクルファインダーの構築 — プールグラフ上のDFS

OS
Open Soft Team

Engineering Team

トークン-プールグラフ

アービトラージサイクルとは、同じトークンで始まり終わる一連のスワップで、入力よりも多くの出力を生成するものです。これらのサイクルを体系的に見つけるため、DeFiエコシステムを有向グラフとしてモデル化します:

  • ノード = トークン(WETH、USDC、DAI、WBTC、…)
  • エッジ = 2つのトークン間のスワップを可能にする流動性プール

Ethereumメインネットには約80,000のアクティブな流動性プールがあり、グラフには約15,000のユニークトークンと約160,000の有向エッジがあります。

DFSサイクル検出

ベーストークン(通常WETH)から深さ優先探索でアービトラージサイクルを見つけます。

max_depthパラメータがサイクル長を制御:

  • depth=2:直接アービトラージ。シンプルだが競争が激しい。
  • depth=3:三角アービトラージ。スイートスポット。
  • depth=4:四角アービトラージ。ガスコスト後に利益が出にくい。

keccak256による重複除去

DFSは重複サイクルを生成します。プールアドレスをソートしてハッシュすることで、同じサイクルの両方向が同一IDを生成します。

フィルタリング

流動性フィルタ、陳腐化フィルタ、トークンブラックリスト、静的収益性推定で数百万のサイクルを数千に削減。

スケーリング:並列処理と増分更新

Syncイベントが発火した時、そのプールを含むサイクルのみを再評価。Rayonでベーストークン間のDFSを並列化。

まとめ

サイクルファインダーはMEVパイプラインの最初のステージです。プールのフラットリストをアービトラージ機会の構造化されたセットに変換します。