TGViewer
V2EX V2EX @pushv2ex · 550 subscribers
Post #238090 3
[区块链] 跨链聚合器的“最优报价”怎么定义?分享一个路线质量评分思路

最近在做 AllSwap ,先说明利益关系:我是项目参与者。下面想讨论的是工程问题,不是发优惠码,也不把产品包装成第三方推荐。

跨链聚合器最直观的排序方式,是选择“预计到账最多”的路线。但实际做下来发现,只按输出数量排序容易选到不稳定路线。

举个例子:

● 路线 A 预计到账 100.2 USDT ,历史完成率 91%,P95 时间 18 分钟;
● 路线 B 预计到账 99.9 USDT ,历史完成率 99.4%,P95 时间 4 分钟。

如果只看报价,A 是最优;如果考虑失败、退款和等待成本,很多用户可能会选择 B 。

我们现在考虑把路线评分拆成下面几项:
score = output_value
- gas_cost
- time_penalty
- failure_risk_penalty
- liquidity_penalty
- stale_quote_penalty

这里有几个比较难定的点。

1. 时间惩罚不是线性的

从 1 分钟增加到 3 分钟,大部分用户可能可以接受;从 10 分钟增加到 30 分钟,用户的不确定感会明显增加。因此时间惩罚可能更适合分段函数,而不是简单乘以秒数。

2. 历史成功率可能存在幸存者偏差

如果只统计已经被路由器选中的订单,低流动性路线样本很少,成功率看起来可能反而很高。需要同时记录候选报价、未选路线和失效原因。

3. 小额和大额不应该共用权重

小额用户更在意固定费用;大额用户更在意滑点、深度和失败风险。评分权重应该根据金额区间动态调整。

4. 报价新鲜度需要单独处理

报价数值很漂亮,但生成时间已经超过几个区块,这种路线不应继续排在前面。除了 TTL ,还可以监控连续区块中的输出变化率。

产品流程可以在 https://allswap.io/ 看到。当前是用户选择资产和网络后获取报价,不连接钱包,通过订单地址完成源链转账,再跟踪目标链结算。

想请教做过交易路由、支付通道或聚合器的朋友:

1. 你们会把失败率直接折算成期望价值,还是作为硬阈值先过滤?
2. 路线耗时应该使用最近窗口的 P95 ,还是按链上拥堵状态实时修正?
3. 面向用户展示时,是给一个“推荐路线”,还是同时展示“到账更多”和“更稳定”两个选项?

欢迎讨论评分模型和可观测性设计。涉及真实资产时,任何新路线都应该先小额测试;本文不构成投资建议。
More from @pushv2ex
  1. Oct 14, 2026[又拍云] 又拍云跑路了? 官网在线客服,所有地区的联系电话,邮箱,都搜不到了,x 上面说法人列入被执行人了,还有好多数据在里面,有了解的朋友么
  2. Oct 14, 2026[程序员] 让 AI 分析了一下我帖子里的典型喷子,分重度和重度 不得不说 AI 搞这些事情简直是快狠准,尤其是一句话评价,我真的绷不住,啊哈哈哈哈哈哈 重度 ● crazy0x:…
  3. Oct 14, 2026[分享创造] Transel - 使用 rust + gpui-kit 做了个跨平台的划词翻译项目 Transel 跨平台划词翻译工具。选中文字后按下热键,译文显示在鼠标附近的浮窗…
  4. Oct 14, 2026[Claude] pro 下午被封,用了 20 天 今天下午 5h 额度用满,还差 3h 重置,一直开着 claude code 等恢复结果折在距离 1 个半小时😭
  5. Oct 14, 2026[程序员] 我让 Gemini 4 当高管、DeepSeek 当员工,开了一家软件公司 今天 Gemini-4-Argon 正式发布了,实测它的长程规划和调度决策能力强得让人后背发…
  6. Oct 14, 2026[分享发现] Muse 的内置浏览器 ip 显示国内 想问问佬们, 你们是否也这样吗 这两天发现 muse 好像访问不了外网,就好奇它的浏览器服务器在哪 打开 ping0 发现是内…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →