エンジニアリング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パイプラインの最初のステージです。プールのフラットリストをアービトラージ機会の構造化されたセットに変換します。