Cross-Chain Interoperability Protocol là một tiêu chuân giúp cung cấp cho token khả năng bridging.

CCIP bao gồm nhiều interfaces và best practices để giúp developer có thể xây dựng token trong CCIP network. Điểm mạnh của nó là nó không yêu cầu sự approve hay whitelist từ Chainlink để giúp cho token của developer có thể hoạt động trong CCIP network. Đây được gọi là permissonless nature.

Architecture

Quá trình bridging sử dụng CCIP diễn ra như sau:

  1. End user hoặc smart contract trigger một cross-chain transaction thông qua việc tương tác với một smart contract (gọi là Sender) ở source blockchain.

  2. Sender gọi CCIP Router contract được deployed ở trên source blockchain. Router này là entry point của tất cả các CCIP interactions và mỗi blockchain chỉ có 1 cái. Nó chịu trách nhiệm khởi tạo giao dịch cross-chain và định tuyến message cho phù hợp. Ta có thể tìm địa chỉ của các routers ở CCIP Directory - Testnet | Chainlink Documentation.

    Nếu transaction liên quan đến việc trao đổi token, contract của user cần phải approve Router để nó có quyền chuyển token trên danh nghĩa của user.
  3. Router sau đó định tuyến các messages đến một OnRamp contract ở source chain, chịu trách nhiệm cho việc thực hiện các validation ban đầu. Contract này cũng tương tác với các Token Pools ở source chain để lock hoặc burn token1.

  4. Các messages sau đó sẽ được chuyển đến cho Chainlink’s Decentralized Oracle Networks (DONs), là một off-chain network, bao gồm các hệ thống sau:

    1. Committing DON: monitor các messages phát ra từ OnRamp contracts, đóng gói các messages đó, đợi khi đủ một số lượng các block được minted ở source chain và thực hiện ký mã hóa Merkle root của các messages đã được đóng gói. Merkle root đã được đóng gói sẽ được published ở destination blockchain.
    2. Executing DON: network này monitor các Merkle roots đã được committed bởi Committing DON ở trên destination chain. Khi Merkle root được published và validated bởi Risk Management Network (RMN) thì Executing DON sẽ thực thi từng message có trong gói các message ở destination chain.
    3. Risk Management Network (RMN): hoạt động như một lớp xác thực độc lập. Nó liên tục monitor các cross-chain operations của Committing DON.
  5. Executing DON sẽ gửi message đã được validated đến cho OffRamp contract ở destination blockchain. Ở đây, OffRamp contract sẽ thực hiện validation, tương tác với Token Pools để unlock hoặc mint tokens.

  6. OffRamp contract sau khi xử lý xong sẽ gọi Router contract ở destination chain.

  7. Cuối cùng, Router contract ở destination chain sẽ chuyển các tokens hoặc dữ liệu đến cho receiver (có thể là Smart Contract hoặc External Owned Account) ở destination blockchain.

Minh họa:

Security

CCIP hoạt động dựa trên các mạng phi tập trung có thể kháng được tấn công Sybil (attacker tạo ra nhiều định danh để làm ảnh hưởng đến một hệ thống hoạt động dựa trên niềm tin - reputation system).

Ngoài ra, các RMNs giúp bảo mật như sau:

  1. Các Off-Chain RMN nodes thực hiện 2 loại thao tác sau:
    1. Blessing: kiểm tra các messages được committed (được published bởi Committing DON) ở destination chain có match với các messages ở source chain hay không.
    2. Cursing: phát hiện các hành vi bất thường và chặn lane (là con đường kết nối giữa 2 blockchains. Mỗi cặp blockchain sẽ có 2 con đường riêng biệt: từ A sang B và từ B sang A) trao đổi giữa 2 chain nào đó. Các hành vi bất thường có thể là deep chain reorganization2, double execution một message nào đó hoặc thực thi message mà không có sự xác nhận từ source chain.
  2. Trong khi đó, On-Chain RMN là một contract lưu một danh sách các RMN nodes được phép để tham gia vào quá trình Blessing và Cursing.

Info

Trong quá khứ, các cross-chain system thường là các centralized bridges và là mục tiêu của các attackers chẳng hạn như Ronin, Wormhole hay BNB later.

Hơn thế nữa, các Token Pools ở cả source chain và destination chain trong CCIP triển khai cơ chế rate limiting, bao gồm 2 thông số:

  • Token Rate Limit Capacity: lượng tối đa của một token cụ thể có thể được chuyển ra khỏi Token Pool trong một khoảng thời gian nhất định.
  • Refill Rate: tốc độ capacity được lấp đầy sau khi các tokens được chuyển đi.

Resources

Tips

  • Khi phát triển smart contract ở nhiều chain khác nhau bằng Remix IDE, ta sẽ cần phải pin các contracts để chúng không bị mất đi khi thay đổi network. tips

Footnotes

  1. Tùy thuộc vào cơ chế transfer asset của bridge. Xem thêm Token Bridging.

  2. Tham khảo thêm Deep Chain Reorganization Detected on Ethereum Classic (ETC) later