A cross-chain bridge is a type of decentralized application that facilitates the transfer of assets from one blockchain to another.
The Web3 ecosystem is increasingly becoming multi-chain, with decentralized applications existing across hundreds of different blockchains and layer-2 solutions, each of which with its own approach to security and trust. Due to the ongoing challenge of blockchain scalability, this trend is likely to continue, supported by the launch of more blockchains, layer-2 and layer-3 solutions, and standalone networks such as application-specific blockchains, which can be tailored to the specific technical and economic requirements of a single or a smaller cluster of decentralized applications.
However, blockchains are not natively capable of communicating with each other. This makes blockchain interoperability vital in order to realize the full potential of a multi-chain ecosystem. The backbone of blockchain interoperability is cross-chain messaging protocols, which enable smart contracts to read and write data to and from other blockchains.
With so much economic activity siloed on isolated networks, it is becoming increasingly clear that Web3 needs robust cross-chain interoperability solutions that enable data and tokens to move across an interconnected network of blockchains in a secure and seamless manner.
A core element of cross-chain interoperability, a cross-chain bridge is infrastructure that enables tokens to be transferred from a source blockchain to a destination blockchain.
This article explains what cross-chain bridges are and the different types of cross-chain bridges, explores the design challenges associated with cross-chain bridges, and examines how the upcoming Cross-Chain Interoperability Protocol (CCIP) is being built to address these limitations.
Why Cross-Chain Bridges Are Necessary in Web3
Blockchains are not natively able to communicate with each other—they commonly don’t have the ability to monitor or understand what’s happening on other networks. Each chain has its own set of rules when it comes to protocol design, currency, programming language, governance structure, culture, and other elements, making communication between chains difficult. This lack of inter-blockchain communication limits the amount of economic activity that can happen in the Web3 ecosystem—without blockchain interoperability, distinct networks represent effectively disparate isolated economies with no connectivity between them.
A simple way to understand the need for cross-chain bridges is to imagine blockchains as different continents with vast oceans between them. Continent A has extensive natural resources, Continent B has fertile land on which to grow food, and Continent C has a booming manufacturing industry and an abundance of skilled artisans.
If we were able to combine the capabilities of these continents, we’d have a prosperous world. But without a way to connect their distinct economies by way of shipping, bridges, tunnels, or other infrastructure, these regions would be unable to derive benefit from their capabilities. Continent A would be without food, Continent B wouldn’t have the technology to maximize its food production efficiency, and Continent C wouldn’t have the resources to manufacture the best products. However, if we could connect these economies, all continents would benefit from a more interconnected world where each region could focus on its unique competency while benefitting from the entire world’s wealth and ingenuity through trade.
Similarly, by enabling distinct blockchains, scaling solutions, and app-specific chains to communicate, the ecosystem could benefit from each blockchain ecosystem’s individual qualities.
How Do Cross-Chain Bridges Work?
A cross-chain bridge is a type of decentralized application that enables the transfer of assets from one blockchain to another. Cross-chain bridges increase token utility by facilitating cross-chain liquidity between distinct blockchains. A cross-chain bridge typically involves locking or burning tokens on the source chain through a smart contract and unlocking or minting tokens through another smart contract on the destination chain.
Token bridges often leverage a cross-chain messaging protocol for a specific purpose—to move tokens between blockchains. In effect, a cross-chain bridge is a very narrow use case for a cross-chain messaging protocol, with many bridges serving simply as application-specific services between two blockchains. In other cases, cross-chain bridges are used to facilitate wider utility, such as cross-chain decentralized exchanges (DEXs), cross-chain money markets, or more provide more generalized cross-chain functionality.
Types of Cross-Chain Bridges
Cross-chain bridges are powered by three main mechanism types:
- Lock and mint—A user locks tokens in a smart contract on the source chain, then wrapped versions of those locked tokens are minted on the destination chain as a form of IOU. In the reverse direction, the wrapped tokens on the destination chain are burned to unlock the original coins on the source chain.
- Burn and mint—A user burns tokens on the source chain, then the same native tokens are re-issued (minted) on the destination chain.
- Lock and unlock—A user locks tokens on the source chain, then unlocks the same native tokens from a liquidity pool on the destination chain. These types of cross-chain bridges usually attract liquidity on both sides of the bridge through economic incentives such as revenue sharing.
In addition, cross-chain bridges can also be combined with arbitrary data messaging capabilities—the ability to move not just tokens but any type of data between blockchains. These programmable token bridges involve a combination of token bridging and arbitrary messaging, with a smart contract call executed on the destination chain once the tokens are delivered to the destination chain.
Programmable token bridges enable more complex cross-chain functionality upon the completion of the bridge function. These include swapping, lending, staking, or depositing the tokens in a smart contract on the destination chain in the same transaction that the bridging function is executed.
Another approach to categorizing cross-chain bridges is examining where they stand on the spectrum of trust-minimization when it comes to validating the state of the source blockchain and relaying the subsequent transaction to the destination blockchain. Typically, the further along the spectrum a cross-chain solution moves toward trust-minimization, the more computationally expensive, less flexible, and less generalizable it becomes. These trade-offs are made in order to enable use cases that require the strongest trust-minimization guarantees.
The Challenges of Cross-Chain Bridging
Secure communication between blockchains without a trusted third party is challenging. Cross-chain communication inherently requires security, trust, or flexibility trade-offs that are not required for interactions that take place on a single blockchain. This also means that composability between smart contracts on different blockchains can only be achieved by making inherent trade-offs in security, trust assumptions, or configuration flexibility—which are not required for composability between smart contracts on the same chain.
If there are limitations to cross-chain messaging, why not just deploy all application activity on a single blockchain? The answer to this is twofold. Firstly, there are theoretical limits to how much activity a single blockchain can process as a result of computing power, bandwidth, and storage capabilities if decentralization and credible neutrality are core values of the network. Secondly, individual blockchains and scaling solutions optimize for different qualities, such as speed, security, and decentralization, and it is likely that there will always be disagreement as to the optimum combination of these values, leading to demand for multiple chains and solutions.
One important question relating to cross-chain bridges is the use of wrapped assets versus native assets. Wrapped or bridged assets are a representation of another asset on the source blockchain, and, as such, introduce varying forms of security and trust assumptions due to the requirement of one or multiple entities taking custody of the underlying tokens. These limitations can be mitigated by decentralized verification supported by Chainlink Proof of Reserve. If native assets are used, then effectively the same asset is used on the destination chain after the bridge function has been executed, though consideration is needed for how the burning of tokens on one chain is verified to trigger issuance on another.
Another consideration of cross-chain bridges is finality—the guarantee that the funds on the destination chain are available once they have been successfully committed on the source chain. Without guaranteed finality, a reversed transaction on the source chain (such as a block reorganization) could have detrimental consequences on the destination chain, such as the creation of unbacked bridged tokens.
Cryptoeconomic systems are only as resilient as their weakest attack vector. Unsecure bridges can leave funds vulnerable even if the underlying blockchains or layer-2 networks are secure. Key considerations when it comes to securing a bridge are the cost of attack and the number of participants that would need to be bribed. Maximizing the security of a cross-chain bridge in this sense means maximizing the diversity of entities and/or the strength of the cryptographic guarantees securing the bridge during state validation and the relaying of the subsequent transaction to the destination blockchain.
Due to these complexities, attacks on bridges account for a significant portion of exploits in the Web3 space, necessitating a security-first mindset when designing cross-chain messaging protocols.
How CCIP Is Being Built To Enable Secure Cross-Chain Bridging
To accommodate the growing demand for secure cross-chain messaging in the blockchain ecosystem, Chainlink is developing the Cross-Chain Interoperability Protocol (CCIP)—an open-source standard for cross-chain communication including arbitrary messaging and cross-chain token transfers. CCIP aims to establish a universal connection between hundreds of blockchain networks via a single standardized interface. In addition, CCIP is being built so it can be composed with a variety of other oracle services to support highly complex cross-chain interactions and cross-chain smart contracts.
It is anticipated that CCIP will underpin a wide variety of cross-chain services, including a Programmable Token Bridge, which will empower users to move tokens across any blockchain network in a highly secure, scalable, and cost-efficient manner. The Programmable Token Bridge is designed to provide a compute-enabled service for developers to securely transfer tokens across blockchain networks and initiate programmatic actions on the destination chain involving the use of those bridged tokens.
A universal interface that provides the ability to transfer tokens to any Chainlink-integrated blockchain network across EVM and non-EVM chains not only unlocks idle liquidity between distinct blockchain networks but can also help improve the security standards of cross-chain messaging. Security is improved through a Risk Management Network, an independent network that monitors for malicious activity; decentralized oracle computation from a wide range of high-quality node operators with verifiable on-chain performance histories; and the Off-Chain Reporting (OCR 2.0) protocol, a more generalized implementation of OCR 1.0 which has already facilitated trillions of dollars in total value enabled (TVE).
To learn more about CCIP is being built to enable a more robust cross-chain ecosystem, read this blog: Introducing the Cross-Chain Interoperability Protocol (CCIP).