[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-deep-evm-14-goujian-taoli-huanlu-faxianqi-dfs-chitu":3},{"article":4,"author":54},{"id":5,"category_id":6,"title":7,"slug":8,"excerpt":9,"content_md":10,"content_html":11,"locale":12,"author_id":13,"published":14,"published_at":15,"meta_title":7,"meta_description":16,"focus_keyword":17,"og_image":18,"canonical_url":18,"robots_meta":19,"created_at":15,"updated_at":15,"tags":20,"category_name":34,"related_articles":35},"d3000000-0000-0000-0000-000000000114","a0000000-0000-0000-0000-000000000036","Deep EVM #14：构建套利环路发现器——池图上的DFS","deep-evm-14-goujian-taoli-huanlu-faxianqi-dfs-chitu","使用Rust构建生产级套利环路发现器，在代币-池图上进行深度优先搜索。处理数千个池、keccak256去重和毫秒级路径发现。","## 套利的图结构\n\n在DEX套利中，代币是节点、流动性池是边。套利机会表现为图中的环路——从某个代币出发，经过一系列swap后回到同一代币，并获得更多数量。\n\n## 深度优先搜索（DFS）\n\n我们使用DFS来发现图中的环路。DFS从一个起始节点出发，尽可能深入地探索每条路径，直到找到回到起始节点的环路。\n\n```rust\nfn find_cycles(\n    graph: &TokenGraph,\n    start: Address,\n    max_depth: usize,\n) -> Vec\u003CArbPath> {\n    let mut paths = Vec::new();\n    let mut stack = vec![(start, vec![start], HashSet::from([start]))];\n    \n    while let Some((current, path, visited)) = stack.pop() {\n        for (next_token, pool) in graph.neighbors(current) {\n            if next_token == start && path.len() >= 2 {\n                paths.push(ArbPath::new(path.clone(), pool));\n            } else if !visited.contains(&next_token) && path.len() \u003C max_depth {\n                let mut new_path = path.clone();\n                new_path.push(next_token);\n                let mut new_visited = visited.clone();\n                new_visited.insert(next_token);\n                stack.push((next_token, new_path, new_visited));\n            }\n        }\n    }\n    \n    paths\n}\n```\n\n## keccak256去重\n\n在有数千个池的图中，可能发现大量重复或等价的环路。使用keccak256对排序后的路径进行哈希可以高效去重。\n\n## 性能优化\n\n在生产环境中，环路发现必须在毫秒内完成。关键优化包括：\n- 剪枝低流动性池\n- 限制搜索深度（通常3-4跳）\n- 并行化搜索\n- 增量图更新\n\n## 总结\n\n套利环路发现器是MEV机器人的核心组件。通过在代币-池图上进行高效的DFS搜索，结合keccak256去重和剪枝优化，可以在毫秒内发现数千个潜在套利机会。","\u003Ch2 id=\"\">套利的图结构\u003C\u002Fh2>\n\u003Cp>在DEX套利中，代币是节点、流动性池是边。套利机会表现为图中的环路——从某个代币出发，经过一系列swap后回到同一代币，并获得更多数量。\u003C\u002Fp>\n\u003Ch2 id=\"dfs\">深度优先搜索（DFS）\u003C\u002Fh2>\n\u003Cp>我们使用DFS来发现图中的环路。DFS从一个起始节点出发，尽可能深入地探索每条路径，直到找到回到起始节点的环路。\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-rust\">fn find_cycles(\n    graph: &amp;TokenGraph,\n    start: Address,\n    max_depth: usize,\n) -&gt; Vec&lt;ArbPath&gt; {\n    let mut paths = Vec::new();\n    let mut stack = vec![(start, vec![start], HashSet::from([start]))];\n    \n    while let Some((current, path, visited)) = stack.pop() {\n        for (next_token, pool) in graph.neighbors(current) {\n            if next_token == start &amp;&amp; path.len() &gt;= 2 {\n                paths.push(ArbPath::new(path.clone(), pool));\n            } else if !visited.contains(&amp;next_token) &amp;&amp; path.len() &lt; max_depth {\n                let mut new_path = path.clone();\n                new_path.push(next_token);\n                let mut new_visited = visited.clone();\n                new_visited.insert(next_token);\n                stack.push((next_token, new_path, new_visited));\n            }\n        }\n    }\n    \n    paths\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2 id=\"keccak256\">keccak256去重\u003C\u002Fh2>\n\u003Cp>在有数千个池的图中，可能发现大量重复或等价的环路。使用keccak256对排序后的路径进行哈希可以高效去重。\u003C\u002Fp>\n\u003Ch2 id=\"\">性能优化\u003C\u002Fh2>\n\u003Cp>在生产环境中，环路发现必须在毫秒内完成。关键优化包括：\u003C\u002Fp>\n\u003Cul>\n\u003Cli>剪枝低流动性池\u003C\u002Fli>\n\u003Cli>限制搜索深度（通常3-4跳）\u003C\u002Fli>\n\u003Cli>并行化搜索\u003C\u002Fli>\n\u003Cli>增量图更新\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2 id=\"\">总结\u003C\u002Fh2>\n\u003Cp>套利环路发现器是MEV机器人的核心组件。通过在代币-池图上进行高效的DFS搜索，结合keccak256去重和剪枝优化，可以在毫秒内发现数千个潜在套利机会。\u003C\u002Fp>\n","zh","b0000000-0000-0000-0000-000000000001",true,"2026-03-28T10:44:26.116112Z","使用Rust构建生产级套利环路发现器：代币-池图、DFS环路检测、keccak256去重和毫秒级路径发现。","套利环路发现器 dfs",null,"index, follow",[21,26,30],{"id":22,"name":23,"slug":24,"created_at":25},"c0000000-0000-0000-0000-000000000016","EVM","evm","2026-03-28T10:44:21.513630Z",{"id":27,"name":28,"slug":29,"created_at":25},"c0000000-0000-0000-0000-000000000019","MEV","mev",{"id":31,"name":32,"slug":33,"created_at":25},"c0000000-0000-0000-0000-000000000001","Rust","rust","工程",[36,42,48],{"id":37,"title":38,"slug":39,"excerpt":40,"locale":12,"category_name":34,"published_at":41},"d0000000-0000-0000-0000-000000000668","为什么Bali在2026年正在成为东南亚的影响力科技中心","weishenme-bali-2026-zhengzai-chengwei-dongnanya-yingxiangli-keji-zhongxin","Bali在东南亚创业生态系统中排名第16位。随着Web3构建者、AI可持续发展初创公司和生态旅游科技公司的集中，该岛正在打造区域影响力科技之都的独特定位。","2026-03-28T10:44:48.898750Z",{"id":43,"title":44,"slug":45,"excerpt":46,"locale":12,"category_name":34,"published_at":47},"d0000000-0000-0000-0000-000000000667","ASEAN数据保护拼图：开发者合规清单","asean-shuju-baohu-pintu-kaifazhe-heguiqingdan","七个ASEAN国家现已拥有全面的数据保护法律，各自具有不同的同意模型、本地化要求和处罚结构。这是一份为构建多国应用程序的开发者准备的实用合规清单。","2026-03-28T10:44:48.893467Z",{"id":49,"title":50,"slug":51,"excerpt":52,"locale":12,"category_name":34,"published_at":53},"d0000000-0000-0000-0000-000000000666","Indonesia 290亿美元数字化转型：软件公司的机遇","indonesia-290yi-meiyuan-shuzihua-zhuanxing-ruanjian-gongsi-jiyu","Indonesia IT服务市场预计在2026年达到290.3亿美元，高于2025年的243.7亿美元。云基础设施、AI、电子商务和数据中心正在推动东南亚最快的增长。","2026-03-28T10:44:48.875457Z",{"id":13,"name":55,"slug":56,"bio":57,"photo_url":18,"linkedin":18,"role":58,"created_at":59,"updated_at":59},"Open Soft Team","open-soft-team","The engineering team at Open Soft, building premium software solutions from Bali, Indonesia.","Engineering Team","2026-03-28T08:31:22.226811Z"]