CCTP V2最终性阈值怎么选? 图 1
CCTP V2最终性阈值怎么选? · 图 1

CCTP V2 的 Fast 与 Standard 不是简单的“快”和“慢”。它们要求源链达到不同最终性等级,Fast 还会占用共享额度;不先看阈值、费用与目标链接收方式,很容易在证明已经出现后仍无法完成铸币。

两个阈值要同时看

BurnIntent 中的 minFinalityThreshold 是发送方提出的最低要求,证明消息里的 finalityThresholdExecuted 是实际达到的等级。当前文档把 1000 解释为 confirmed、2000 解释为 finalized;接收合约应按实际等级选择 finalized 或 unfinalized handler,不能只看请求值。

Circle文档里的两档最终性

  1. 两个阈值要同时看:CCTP V2用minFinalityThreshold表达源链需要达到的最低确认等级,当前定义的两档语义为Confirmed 1000和Finalized 2000。
  2. Fast allowance 不是个人额度:Fast Transfer可在较低最终性下取得证明,但会占用全局Fast Transfer allowance;Standard Transfer等待硬最终性,不消耗该额度。
  3. 证明完成仍不是到账:取得Circle证明只完成跨链流程的中段,目标链仍需成功调用receiveMessage并产生接收或铸币事件,才能写为到账。

Fast allowance 不是个人额度

Fast Transfer 在软最终性后取得证明,会暂时占用全局 allowance;源链达到硬最终性后额度才归还。查询额度不足时,继续重复提交只会制造更多待处理记录。业务可以等待额度恢复,或在重新评估时改用 Standard,但不能悄悄改变用户已签意图。

从Burn意图走到目标链铸币

  1. 保存源交易哈希、sourceDomain、destinationDomain、mintRecipient 与 burn 数量。
  2. 从原始消息读取 minFinalityThreshold,再用 API 响应核对 finalityThresholdExecuted。
  3. Fast 路径额外查询 allowance 和 fee,Standard 路径记录目标链硬最终性等待。
  4. 目标链提交后,用接收事件、收款地址和 nonce 三项共同验收。

证明完成仍不是到账

Iris 返回 attestation 只说明消息已被签署。调用方还要把消息和证明送到目标域,确认 receiveMessage 成功、nonce 未被使用,并检查 MintAndWithdraw 或对应接收事件。前端若只显示 Attestation complete,应把状态写成“可领取”,不是“已到账”。

证明到手却不能领取时

假设应用请求 Fast,API 已给出证明,但目标合约只接受 finalized message。正确处理是确认是否支持 re-attest 或等待更高最终性,而不是重新 burn 一笔。第二次 burn 会形成新的 nonce 和资金动作,无法修复第一条消息的接收策略。

这些参数不清就别签名

阈值、支持链、费用或 allowance 任何一项无法从 Circle 当前接口确认时,停止签名;不要用旧截图推断今天仍可用。

核对阈值与额度的官方入口

  1. Circle CCTP Technical Guide:用于核对CCTP V2最终性阈值的候选主题的一手字段、产品说明或事件发现。
  2. Circle Finality Guide:用于核对CCTP V2最终性阈值的实现路径、交叉验证或风险边界。

相关站内主题:Gateway跨链状态跨链到账核验。资料访问时间为2026-07-22;协议、接口、监管清单与产品界面均可能更新。

风险提示:Fast路径提前取得证明,并不消除源链重组、共享额度和目标合约最终性限制。任何阈值或链配置无法从Circle当前资料确认时,都应暂停签名;本文只用于跨链技术核验,不保证到账速度或资产结果。