Bridging Blockchains: The Ingenious Design of Chainlink's CCIP

By Arhat | Decrypting Crypto | 12 Aug 2023


I wanted to touch base on Chainlink's CCIP and the components that make up the Cross-Chain Interoperability Protocol.

There are 3 key components:

  • Committing DON for proving message existence
  • Executing DON for transferring messages
  • ARM for security and risk management

Let's get into detail with each of these.

The cross-chain interoperability protocol known as CCIP is actually composed of multiple ingeniously designed networks that work together to enable seamless communication between blockchains.

There are 3 key components that make up the Cross-Chain Interoperability Protocol (CCIP):

1. Committing DON (Decentralized Observability Network)

  • This network batches cross-chain messages, creates a Merkle tree of the messages, and commits the Merkle root to the destination chain. This allows the messages to be proven to exist on the source chain.

2. Executing DON

  • This network executes the cross-chain messages on the destination chain after looking up the messages in the committed Merkle tree and verifying their existence.

3. ARM (Active Risk Management)

  • This is a separate minimal network implemented in Rust that acts as a safeguard for the system. It verifies the validity of the Committing DON's Merkle roots by blessing them before messages can be executed. This allows ARM to halt CCIP if any critical issues arise.

Additionally, a rate limiter restricts the token release over time to mitigate risks if issues arise. The composability and thoughtful risk management make CCIP an advanced cross-chain system with promising capabilities. Its multiple network structure demonstrates sophisticated engineering to facilitate interoperability across blockchains.

Here's a hypothetical example to illustrate how the different CCIP networks work together:

Let's say David wants to send 100 tokens from Ethereum to the Solana blockchain.

  1. David makes the transaction on Ethereum. This is batched with other cross-chain messages into a Merkle tree by the Committing DON.
  2. The Committing DON commits the Merkle root to Solana. This proves the existence of David's transfer in the Merkle tree.
  3. The Executing DON on Solana looks up David's transfer in the Merkle tree, verifies it exists on Ethereum via the root.
  4. The Executing DON then mints 100 tokens to David's account on Solana.
  5. Separately, the ARM network verifies the Committing DON's Merkle root is valid, blessing the root. This is a checkpoint where tokens can be released.
  6. If any issue arises, the ARM network can halt token transfers until it's resolved, managing risk.
  7. Additionally, only a certain percentage of tokens can be transferred per day. If the rate limit is exceeded, transfers are paused.

This demonstrates how the different networks coordinate secure cross-chain transfers and actively manage risks.

The Committing and Executing DONs enable the transfer, while the ARM network acts as a safeguard.

In summary,

  • the DONs enable the actual transfer of messages and data between chains, while
  • ARM provides security and risk management oversight to the system.

The combination of these networks is what makes CCIP a robust cross-chain solution.


Thank you for reading, and follow me here and on Twitter for more regular post updates.

If you find my work resourceful, please consider donating to 0xd95d4b14dcfa941bf916255b3624c0bfb22166c8 (Ethereum/Optimism/Arbitrum/BSC chain).

I’d also appreciate it if you shared this with your friends, who would enjoy reading this.

You can find my other research & investment thesis here: https://bit.ly/3CjMvoA

Thank you.

How do you rate this article?

94


Arhat
Arhat

Founder 3z3 Labs. Ordinary thinker. I write about web3 use cases, hacks and deep dives.


Decrypting Crypto
Decrypting Crypto

Here I decrypt crypto topics, trends and tech.

Send a $0.01 microtip in crypto to the author, and earn yourself as you read!

20% to author / 80% to me.
We pay the tips from our rewards pool.