Introducing Chainlink CCIP
Chainlink Cross-Chain Interoperability Protocol (CCIP) as a protocol is built on top of DON (Decentralized Oracle Network) that provides interoperability between different chains (both the private and the public chain), including token transfers and arbitrary messaging.
*Interoperability is the ability to exchange information between different systems or networks, even if they are incompatible.
*Arbitrary Messaging is the ability to send arbitrary data (encoded as bytes) to a receiving smart contract on a different blockchain.
Leveraging the capabilities of CCIP’s interoperability, the developers will be able to fix restrictions of the blockchain, such as liquidity fragmentation, allowing protocols to seamlessly deploy the product on multiple blockchains to take advantage of each blockchain ecosystem.
CCIP launched its mainnet in July and is currently in the early access phase. It provides support for multiple blockchains, including Avalanche, Ethereum, Optimism, Arbitrum, and Polygon. Notably, protocols such as Aave and Synthetix have integrated CCIP into their operations.
How Does CCIP Work?
- Instead of using a cross-chain bridge, users interact with the router. Router is a smart contract responsible for initiating interactions from the source chain and “transferring” tokens to the user’s account or message to the contract receiver on the destination chain. One router contract exists per chain.
- OnRamp keeps track of sequence numbers to preserve the sequence of messages for the receiver, validates account address syntax, verifies the message size limit and gas limits, and interacts with the TokenPool if the message includes a token transfer.
- OffRamp ensures the message is authentic and makes sure transactions are executed only once. After validation, OffRamp contract transmits any received message to the Router contract. If the CCIP transaction includes token transfers, the OffRamp contract calls the TokenPool to transfer the correct assets to the receiver.
- Token pool: tokens will be classified to identify the burn-mint or lock-mint method. Native tokens such as ETH, MATIC and AVAX are not minted on another blockchain; the token pool uses a “Lock and Mint” approach that locks the token at its source and then mints a wrapped on the destination blockchain. Some tokens can be minted on multiple blockchains, such as USDC, USDT, TUSD, token pool uses “Burn and Mint” to burn them on the source chain and mint them on the destination chain.
- The Committing DON bundles transactions and creates a Merkle root. This Merkle root is signed by a quorum of oracles nodes part of the Committing DON and forwarded to the CommitStore contract on the destination blockchain.
- Risk Management Network is a secondary validation service parallel to the primary CCIP system. It doesn’t run the same codebase as the DON to mitigate against security vulnerabilities that might affect the DON’s codebase. Each node of Risk Management Network reconstructs the Merkle root and compared it to the Committing DON Merkle root and votes on the verification. If the verification is passed, it calls Risk Management contract, and voting yes is called a “bless” vote. When there are enough “bless” votes, the root becomes available for execution. In cases of anomalies, each Risk Management node calls the Risk Management contract to vote no, which is called a “curse” vote. If the cursed quorum is reached, the Risk Management contract is paused to prevent any CCIP transaction from being executed.
- Risk Management Network operates similarly to how banks protect their customers from fraudulent activity. Founder of Chainlink Sergey Nazarov explained, “If you have been sending money to a friend for years, Venmo, PayPal, very quickly approve it, but if you decide to send money to buy a painting from someone in Eastern Europe, they will have questions. The fundamental idea is that you can accurately assess risk based on repeat transactions to known parties.”
- The Executing DON waits for the Risk Management Network to bless the message and execute the transactions if Merkle root passed the verification. Separating commitment and execution permits the Risk Management Network to have enough time to check the commitment of messages before executing them.
- CCIP supports fee payments in LINK and in alternative assets, which currently include blockchain-native gas tokens and their ERC20-wrapped versions.
Potential Use Cases of CCIP
- Cross-chain lending: users can lend and borrow crypto assets across multiple DeFi platforms running on independent chains.
- Low-cost transaction computation: Chainlink CCIP offers the potential to shift the computation of transaction data onto chains optimized for cost efficiency.
- Optimizing cross-chain yield: Chainlink CCIP empowers users to transfer collateral to novel DeFi protocols, thereby maximizing yield opportunities across various chains.
- Creating new kinds of dApps: Chainlink CCIP provides users with the ability to capitalize on network effects within specific chains, while also utilizing the computational and storage potentials of other chains.
Bold Vision of Chainlink
In the traditional market, there is a growing consensus emerging that blockchain technology holds the potential to enhance capital efficiency, decrease costs, and open opportunities to a multitude of products, resulting in the inevitable migration of traditional financial products to the blockchain. However, they cannot build an independent blockchain, and users are only active on it. Users need to interact between different blockchains like how they transfer funds among multiple banks. To do this, financial institutions require smooth interoperability between blockchain-based networks in a secure and reliable manner, much like the trading conditions for traditional assets in use today. For example:
- Bank A’s blockchain offers savings accounts and interest swaps.
- Bank B’s blockchain offers savings accounts, interest swaps, and the FX market.
- Bank C’s blockchain offers a savings account and an interest swap.
- Blockchain A is connected to blockchain B, and blockchain C is the independent blockchain. This setup ensures that users opt for blockchains A and B for their engagement.
To simplify infrastructure architecture, reducing investment costs and the risk of technology obsolescence, financial institutions will take advantage of existing technologies to connect to blockchains. The question is: which infrastructure will be used to interact between the banks’ blockchains? Given its established reputation, Chainlink has proven its value over the years and could likely be among the primary contenders for the banks’ consideration.
In reality, Chainlink reached a significant milestone through a collaboration with SWIFT, supporting their members and dozens of financial institutions to test how they can connect with multiple blockchain networks, aiming to reduce friction from tokenized asset settlement. This collaboration marked the inception of realizing Chainlink’s vision and not only is this an important move for financial institutions, but it also represents a significant step for the crypto industry.
Sergey Nazarov, the co-founder of Chainlink, predicted that banks would create their own blockchains and adopt the CCIP protocol to connect them. He outlined a three-step process for how banks develop and use blockchain technology.
- In the first stage, the focus is on custody, and entails simply looking after crypto assets (driven by customer trading demands) on their native chains.
- In the second stage, banks start tokenizing real-world assets. This leads to them building their own blockchain. The reason for this is to avoid paying fees to other companies for using their services. By having their own blockchain, banks have full control over their tokenized real-world assets and can earn money by offering services.
- In the third stage, banks provide financial products on their blockchain. This is similar to what’s happening in DeFi (Decentralized Finance) today, but in a more tightly controlled and regulated framework. This is where Chainlink comes into play as a part of their setup. Why do they need Chainlink? When they create a blockchain, they need market data, identity data, a quality price feed, and other functions that Chainlink provides.
Following the creation of their own blockchain to serve different customer segments with different capacities and demands, the blockchains need to interact with each other to amplify the reach of their financial products and facilitate users’ access to their multiple products in the easiest way possible. This is the time Chainlink CCIP will be integrated. And in the future, when blockchain technology becomes regulated, banks will be inclined to align with public blockchains in the crypto market if they promise increased market opportunities. This development holds the potential to usher in an enormous transformation for the crypto market, with trillions of USD worth of capital flowing in.