Circle CCTP v2:推動 USDC 跨鏈交互的未來

作者: Calpa Liu
字數:2032
出版:2025年3月23日

在多鏈生態系統快速發展的當下,不同區塊鏈之間的互操作性變得尤為重要。Circle 的跨鏈傳輸協議(Cross-Chain Transfer Protocol,簡稱 CCTP)作為一個革命性的解決方案,正在改變 USDC 在不同區塊鏈之間的轉移方式。最近,Circle 推出了 CCTP v2,引入了多項重要升級,大幅提高了跨鏈轉賬的速度和靈活性。本文將深入探討 CCTP 的核心概念、優勢、v2 版本的改進以及其應用場景。

CCTP 是 Circle 開發的一種無需許可的鏈上工具,專為促進 USDC 在不同區塊鏈網絡之間的安全轉移而設計。與傳統的橋接解決方案不同,CCTP 採用「燃燒和鑄造」(burn-and-mint)機制,而不是「鎖定和鑄造」(lock-and-mint)或依賴流動性池的方法。

當用戶在不同鏈之間轉移 USDC 時,該協議在源鏈上銷毀 USDC,然後在目標鏈上鑄造等量的 USDC,確保總供應量保持不變。這種方法提高了資本效率,因為它消除了對流動性儲備的需求,同時確保了 USDC 在所有支持的鏈上保持原生狀態。

CCTP 的優勢

與傳統的橋接解決方案相比,CCTP 提供了多項顯著優勢:

  1. 資本效率:無需在第三方智能合約中鎖定 USDC 作為流動性儲備,允許幾乎無限量的轉賬。

  2. 零額外費用:除了標準的 gas 費用外,CCTP 不收取額外費用。

  3. 資產可替代性:USDC 在所有支持的鏈上保持原生狀態,避免了包裝代幣帶來的流動性分散問題。

  4. 無滑點:由於不依賴流動性池,用戶不會面臨價格滑點問題。

  5. 安全性增強:移除了與傳統鎖定 - 鑄造橋和大型流動性池相關的風險,這些往往是黑客攻擊的目標。

CCTP v2 的重大改進

1. 更快的跨鏈轉賬

CCTP v2 最顯著的升級是引入了快速轉賬功能,將跨鏈結算時間從 v1 的 13-19 分鐘縮短到僅需幾秒鐘。這是通過「快於最終性」(faster-than-finality)結算實現的,允許在區塊鏈交易完全確認前進行消息證明。對於需要完全最終性的交易,標準轉賬方式仍然可用。

2. 自動化 Hooks 功能

CCTP v2 引入了 Hooks 功能,使開發者能夠自動化轉賬後的操作,如即時資產交換、資金管理、智能合約觸發和跨鏈存款。這一功能消除了手動交互的需求,提高了 DeFi 應用中的效率和可組合性。

3. 擴展的區塊鏈支持

CCTP v2 擴大了區塊鏈支持範圍,增加了對 Avalanche、Base 的兼容性,並計劃支持 Solana 和 Arbitrum 等更多網絡。通過允許部分終局化而不是要求完全的區塊鏈終局性,轉賬變得更快而不犧牲安全性。

據報道,自 2023 年推出以來,CCTP 已促成了超過 360 億美元的交易量,顯示了其在跨鏈資產轉移中的重要性。

CCTP 的工作原理

CCTP 的工作流程主要包含三個關鍵步驟:

  1. 源鏈上燃燒 USDC:用戶通過一個支持 CCTP 的應用程序發起轉賬,指定要發送的 USDC 金額和目標鏈上的接收地址。然後,該應用程序在源鏈上燃燒(銷毀)指定數量的 USDC。

  2. 獲取簽名證明:Circle 監控區塊鏈上的燃燒事件,並為該事件生成加密簽名證明。應用程序向 Circle 請求這一證明,作為在目標鏈上鑄造 USDC 的授權。

  3. 目標鏈上鑄造 USDC:應用程序使用這一證明在目標鏈上觸發 USDC 的鑄造過程。相等數量的 USDC 在目標鏈上被創建並發送到指定的接收地址。

CCTP 的技術架構

CCTP 的核心由三個主要合約組成:

  1. TokenMessenger:作為跨鏈 USDC 轉賬的入口點,負責路由消息以在源鏈上啟動 USDC 燃燒,並在目標鏈上鑄造 USDC。

  2. MessageTransmitter:處理通用消息傳遞,從源鏈發送消息並在目標鏈上接收。

  3. TokenMinter:負責 USDC 的實際鑄造和燃燒,根據不同網絡的特定設置處理燃燒者和鑄造者。

這些合約協同工作,確保了跨鏈轉賬的安全性和有效性。

代碼示例

以下是如何使用 CCTP 進行跨鏈轉賬的基本代碼示例:

// Web3.js
import { ethers } from "hardhat";

// 1. 在源鏈上授權 TokenMessenger 合約轉移 USDC
async function approveUSDC(amount) {
  const usdcContract = new ethers.Contract(USDC_ADDRESS, USDC_ABI, signer);
  const tx = await usdcContract.approve(TOKEN_MESSENGER_ADDRESS, amount);
  return tx.wait();
}

// 2. 在源鏈上調用 depositForBurn 進行 USDC 燃燒
async function depositForBurn(amount, destinationDomain, mintRecipient) {
  const tokenMessenger = new ethers.Contract(TOKEN_MESSENGER_ADDRESS, TOKEN_MESSENGER_ABI, signer);
  const tx = await tokenMessenger.depositForBurn(
    amount,
    destinationDomain,
    ethers.utils.hexZeroPad(mintRecipient, 32),
    USDC_ADDRESS
  );
  return tx.wait();
}

// 3. 獲取 Circle 的簽名證明
/*
API 返回的 JSON 格式:
{
  "messages": [
    {
      "message": "0xabcdef1234567890",
      "nonce": "0x9876543343",
      "attestation": "0x48348ca84e",
      "cctpVersion": 2,
      "status": "complete"
    }
  ]
}
*/

async function getAttestation(burnTxHash) {
const options = {method: 'GET', headers: {'Content-Type': 'application/json'}};
  const response = await fetch(`https://iris-api.circle.com/v2/messages/${sourceDomainId}`, options);
  const data = await response.json();
  return data.messages[0].attestation;
}



// 4. 在目標鏈上接收消息並鑄造 USDC
async function receiveMessage(message, attestation) {
  const messageTransmitter = new ethers.Contract(MESSAGE_TRANSMITTER_ADDRESS, MESSAGE_TRANSMITTER_ABI, signer);
  const tx = await messageTransmitter.receiveMessage(message, attestation);
  return tx.wait();
}

CCTP v2 的 API 端點

Circle 的 CCTP v2 API 端點提供了一系列的 API,用於處理跨鏈轉賬的各種操作。例如,/v2/messages/{sourceDomainId} 端點用於獲取消息的簽名證明。

開發者可以使用這些 API 來獲取消息的簽名證明,然後將其用於跨鏈轉賬的各種操作。

在線 API 文檔:

https://developers.circle.com/api-reference/stablecoins/common/get-messages-v-2

CCTP v2 Hooks 功能

使用 CCTP v2 的 Hooks 功能示例:

// 使用 CCTP v2 的 Hooks 功能在轉賬後自動執行操作
async function transferWithHook(amount, destinationDomain, mintRecipient, hookData) {
  const tokenMessengerV2 = new ethers.Contract(TOKEN_MESSENGER_V2_ADDRESS, TOKEN_MESSENGER_V2_ABI, signer);
  const tx = await tokenMessengerV2.depositForBurnWithHook(
    amount,
    destinationDomain,
    ethers.utils.hexZeroPad(mintRecipient, 32),
    USDC_ADDRESS,
    hookData
  );
  return tx.wait();
}

使用 CCTP 的項目案例

已集成 CCTP 的項目

Wormhole
Wormhole

  1. Wormhole: 作為跨鏈互操作性協議,Wormhole 已經集成了 Circle 的 CCTP v2,支持 Avalanche、Base 和以太坊區塊鏈之間的 USDC 轉移。Wormhole Settlement 功能為構建多鏈應用的開發者提供了擴展選項。

  2. 跨鏈解決方案提供商: LI.FI、Celer、Multichain、Hyperlane 和 LayerZero 等多個跨鏈協議已經整合了 CCTP,為用戶提供更豐富的跨鏈體驗。

CCTP 的潛在應用場景

CCTP 為多種創新性應用打開了可能性:

  1. 跨鏈 DeFi 應用

    • 用戶可以在不同鏈之間執行數字資產的跨鏈交換(例如,在 Arbitrum 上的 ARB 和 OP Mainnet 上的 OP 之間交換)
    • 利用以太坊上的 USDC 在 Avalanche 上的去中心化交易所開設交易倉位
    • 自動化跨鏈流動性提供和收益農場策略
  2. 跨鏈 NFT 市場: 用戶可以使用在一個鏈上的 USDC 無縫購買另一個鏈上的 NFT,無需手動切換網絡或轉換資產。

  3. 支付解決方案: 商家可以接受任何支持 CCTP 的區塊鏈上的 USDC 付款,並選擇在他們首選的區塊鏈上接收,降低了接受加密貨幣支付的複雜性。

  4. 遊戲和元宇宙: 遊戲開發者可以讓玩家使用任何鏈上的 USDC 購買遊戲內資產,無需管理多個代幣版本。

  5. DAO 治理和財務管理: 跨鏈組織可以更有效地管理其財務,在多個區塊鏈之間無縫轉移資金用於投票、支付或投資。

結論

CCTP v2 代表了跨鏈通信和資產轉移領域的重大進步,通過大幅減少轉賬時間、引入自動化操作功能和擴展區塊鏈支持,Circle 正在推動 USDC 在不斷擴大的多鏈生態系統中的普及。作為一個安全、高效的原生 USDC 跨鏈傳輸解決方案,CCTP v2 為開發者提供了構建無縫跨鏈體驗的必要工具,消除了傳統橋接的局限性和風險。

隨著跨鏈交互變得越來越重要,CCTP v2 將繼續發揮關鍵作用,加速多鏈互操作性和 DeFi 應用的發展,最終為用戶提供更無縫、更安全的跨鏈體驗。開發者可以利用 CCTP v2 的增強功能創建創新的跨鏈應用,從而推動加密貨幣生態系統的進一步發展和採用。

感謝您閱讀我的文章。歡迎隨時分享你的想法。
關於 Calpa

Calpa 擅長使用 TypeScriptReact.jsVue.js 建立 Responsive Website。

他積極參與開源社區,曾在 2019 年的香港開源大會上擔任講者,提供工作經驗和見解。此外,他也在 GitHub 上公開分享個人博客程式碼,已獲得超過 300 顆星星和 60 個分支的支持。

他熱愛學習新技術,並樂意分享經驗。他相信,唯有不斷學習才能跟上快速演變的技術環境。