动机
我们认识到稳定币在 Web3 生态系统中发挥的重要作用,尤其是在 DeFi 中。其中, USDC因其高透明度和监管合规性而脱颖而出。 USDC的发行者 Circle 引入了跨链传输协定(CCTP),使用原生的销毁和铸造机制安全地跨链传输USDC 。
CCTP 是一款改变游戏规则的工具,可推动USDC在多链世界中的采用,使开发人员能够创建跨区块链提供安全、1:1 USDC传输的应用程式。这消除了使用桥梁的额外风险。
然而,CCTP 有一个关键限制:等待时间。其链下证明服务需要在源链上进行区块确认,以确保在目标链上铸造USDC之前的最终性。此过程可能需要 20 秒到 13 分钟不等,这对于需要即时转帐的用户来说并不理想。为了解决这个问题,CCTP Express 旨在利用 CCTP 的同时提供即时USDC桥接。我们将CCTP Express定位为CCTP的助推器工具,使用户能够从更快、更便宜的交易中受益。
我们相信 CCTP Express 是透过提供即时USDC桥接体验来实现链抽象的重要工具。
长话短说
- CCTP Express定位为使用CCTP的助推器工具,让使用者享受更快、更便宜的体验;
- 它是一个基于CCTP构建的基于意图的桥接系统,透过「Filler-Pay-First」机制实现即时USDC桥接;
- CCTP Express 是一种无需信任的设计,允许任何人在未经许可的情况下作为填充者或资料守护程序参与;
- 为了减轻填充者面临的重组风险,CCTP Express 引入了根据使用者定义的启动截止日期而变更的保险费。
- 为了降低交易成本,将还款和再平衡交易捆绑在一起,跨链讯息以哈希形式传输以减少资料大小。
主要原则
1.CCTP依赖
CCTP Express 专为增强 CCTP 而设计。所有资金再平衡必须仅透过 CCTP 完成,以避免面临与其他桥梁相关的潜在风险。
2. 去中心化
这个系统必须是去信任的,以确保最大限度地保护每个人的资产。系统中的玩家,包括 Fillers 和 Datamaemon,都是无需许可的。
3、双赢
设计应该使所有利害关系人受益——使用者、填充者和 CCTP。用户获得更快、更划算的体验,储值者在资金得到保障的同时获得满意的奖励,CCTP在CCTP Express的支持下不断壮大。
关键概念
CCTP Express 是一个基于 CCTP 建构的基于意图的跨链桥接系统。加快交易速度的关键是采用「填充者先付款」机制。
当用户提交桥接意图时,填充者在源链上发起订单,然后立即在目标链上调用 fillOrder 并将资金相应地转移给用户。
系统定期验证付款并分批偿还给填充者。如果需要,跨域的重新平衡可以透过 CCTP 完成。此结算过程不在用户现场,将还款和再平衡捆绑在一起,以节省成本。
深入研究
CCTP Express采用Hub-and-Spoke架构,可分为三层系统:报价请求机制获取用户的桥接意图,使填充网络能够认领并填写这些订单,最后进行结算层通过CCTP 并利用Iris(Circle 的链下证明服务)的证明服务定期偿还填充者。
我们的设计遵循 ERC-7683,强调符合业界标准的重要性。这确保了跨链意图系统可以互通和共享基础设施,例如订单传播服务和填充网路。透过促进这种互通性,我们透过增加满足用户意图的竞争来增强最终用户体验。下图是CCTP Express的架构图:
订单发起
- 使用者签署定义订单参数的连结讯息:
function deposit(bytes32 recipient,bytes32 inputToken,bytes32 outputToken,uint256 inputAmount,uint256 outputAmount, uint32 destinationDomainId,bytes32 exclusiveFiller, uint32 exclusivityDeadline, uint32 initiateDeadline, uint32 fillDeadline,bytes calldata message) external;
- 该订单将分发给填充者。 Filler 呼叫在来源链 SpokePool 上
initiate
。将建立一个CrossChainOrder
,并将用户的资金转移到 SpokePool 进行托管。 - 源链上的SpokePool向Circle的链下证明服务Iris提交
Deposit
讯息进行证明,随后将产生DepositAttestation
。
填充网路完成订单
填充者使用自己的资产在目标 SpokePool 上呼叫
fillOrder
,然后将资产从 SpokePool 转移给使用者。目的链上的 SpokePool 向 Iris 提交
Fill
讯息,并产生FillAttestation
。
沉淀
无需许可的 Datadaemon 会撷取
DepositAttestation
和FillAttestation
并转送到结算链上的 Hub Pool。Datadaemon 会定期在 Hub 池中呼叫
repayFunds
和rebalanceFunds
,这将收集所有证明并执行以下步骤:
迭代证明列表,
Deposit
和Fill
证明都支持有效的已执行订单。决定每个灌装机的所有有效灌装的总结算金额。
如果 SpokePool 上有足够的资金来偿还填充者,则会向 Iris 发送 Merkle 根杂凑形式的
repayFunds
讯息。对于剩余的未偿付款,Hub Pool 将以 Merkle 根哈希的形式向 Iris 发送
rebalanceFunds
讯息,该讯息指示有剩余资金的 SpokePool 将向另一个有赤字的池发送多少资金以满足还款需求。
一旦
repayFunds
和rebalanceFunds
讯息得到Iris的证明,它们就会被送到各自的SpokePools。 Datamaemon 将使用 Merkle 根杂凑及其各自的交易详细资料来呼叫 SpokePools 上的repayFunds
和rebalanceFunds
。因此,资金将被偿还给填充者并发送到其他 SpokePool,以确保有足够的资金来处理偿还。从目标链上的 SpokePool 向填充者偿还资金,并透过 CCTP 在不同链上的 SpokePool 之间重新平衡资金。
Cctp 填充结算
如果 Fillers 发起的订单未被成交,任何人都可以呼叫
cctpFill
,将目标链 SpokePool 上的订单状态标记为RequestCctpFill
,并阻止任何 Fillers 成交。同时,SpokePool 会向 Iris 发出CctpFill
讯息进行证明。CctpFillAttestation
将用于替代5.中提到的FillAttestation
,并允许用户资金透过CCTP路线进行转移。
风险及解决方案
重组风险
重组风险唯一由填充者承担。如果填充者在没有等待源链上的最终确定的情况下太快地填充意图,源链可能会重组并导致填充者损失,因为意图已经在目标链上填充,并且填充者最终会空手而归。
保险费有效地降低了重组风险,保险费根据使用者指定的initiateDeadline
而变化。如果initiateDeadline
够长,填充者可以在发生重组时在源链上重新启动CrossChainOrder
,确保用户的资金再次转移。保险费按以下公式计算:
在哪里:
f(t)是保险费,是随t变化的函数
V为交易量,代表最高保险费
e是自然对数的底
k是一个常数,控制费用的下降率
t是订单建立时间和itiateDeadline 之间的时间
T是源链最终确定所需的时间
保险费随著initiateDeadline
的变化而变化——它随著订单创建时间和initiateDeadline
之间时间的增加而减少:
由于当initiateDeadline
较长时,保险费会显著降低(如果是原链上最终确定所需时间的2倍,则保险费几乎为零),因此普通用户可能会设置较长的initialDeadline来避免支付费用,从而最大限度地减少费用。
系统成本高
与直接使用 CCTP 桥接相比,设计的复杂性显然意味著更高的成本。为了实现我们提供更快、更便宜的 CCTP 使用方式的目标,我们透过两个关键策略降低成本:交易捆绑和资料压缩。
交易捆绑-
Datadaemon 定期工作以调用中心池上的还款和重新平衡。此间隔是可调的,以确保每批处理足够数量的事务。
在此架构设计中,gas 成本主要产生于透过 CCTP 和资金转移进行再平衡。透过大量处理再平衡以及向填充者处理总金额的偿还,这些成本可以分布在多个交易中,从而降低任何单笔交易的成本。
资料压缩-
跨链讯息透过 Circle 的链外证明服务 Iris 在分支池和中心池之间传输。为了最大限度地减少资料大小并降低 Gas 成本,这些讯息以杂凑的形式发送。
有关 CCTP 和 CCTP Express 之间的 Gas 消耗的详细比较,请查看这篇文章。
常问问题
1. 对最终用户意味著什么?
当使用 CCTP Express 的前端或与 CCTP Express 整合的应用程式时,使用者将受益于更快、更便宜的跨链桥接USDC 的方式。系统利用CCTP作为底层资产桥梁,在增强使用者体验的同时保持强大的安全性。
2. 可能的用例有哪些?
我们相信 CCTP Express 透过提供即时的USDC桥接体验来实现链抽象至关重要。可能的用例包括 -
以 USDC 计价的 dApp
USDC被广泛应用于各种 dApp,例如DYDX和 Polymarket。 dApp 可以整合 CCTP Express SDK,为使用者提供从所有 CCTP 支援的链的即时转入和转出,而无需通常的等待时间。
付款网络
CCTP Express 可以为跨链用户提供即时结算的交易体验,使他们能够用USDC从任何 CCTP 支援的链上购买咖啡。
钱乐高
套利者和解决者可以利用 CCTP Express 作为其跨链操作的支柱。在高速加密世界中,套利者或求解者非常不希望等待很长时间,CCTP Express 可以为他们提供卓越的速度,而无需担心安全性,因为 CCTP Express 使用 CCTP 作为底层桥梁。
3. CCTP Express 与提供由链下代理人支援的跨链桥接的类似想法与其他基于意图的桥接(例如 Across)有何不同?
CCTP Express与Across的主要差异在于:定位与结算机制。
定位——
虽然这两种协定都是由填充器/中继器支援的基于意图的桥接器,但 CCTP Express 定位为使用 CCTP 的增强工具。
鉴于此重点,CCTP Express 与 CCTP 紧密整合,并与之同步发展。例如,如果CCTP支援EURC,CCTP Express也会立即支援。
这种一致性也适用于选择 CCTP Express 支援的链。 CCTP Express 旨在涵盖 CCTP 营运的所有 EVM 和非 EVM 链。与CCTP一样,CCTP Express 采用 bytes32 位址格式,而不是 EVM 中使用的 20 个位元组位址,来处理许多非 EVM 链中的 32 位元组位址。
相较之下,Across 仅限于 EVM 链,因为它有只支援 EVM 链的硬性需求。
结算机制——
在 CCTP Express 中,Hub Pool 智慧合约利用 CCTP 中使用的 Iris 证明服务来中继和验证讯息。来自各个 Spoke Pool 的存款和填充讯息被送到 Iris 进行证明,然后收集到 Hub Pool 中,后者在链上处理还款。
相较之下,Across 使用规范桥来中继讯息,并利用UMA乐观地验证链下填充事件。由于UMA是在链下工作的,因此需要一个时间间隔作为争议视窗。
与我们讨论
为了塑造更好的产品,我们热衷于与需要即时USDC桥接的填充者和团队进行讨论。如果有人对 CCTP Express 有兴趣,我们这里有一个公共电报群可以讨论:加入群聊