In April 2021, Cosmos launched its innovative inter-blockchain communication protocol, enabling different blockchains to connect and exchange data and assets. Since then, the IBC ecosystem has grown and accommodates more than 100 Chains, recording millions of transactions and enabling transfers and discoverability of previously unknown tokens.
IBC has enabled a trustless super-highway for asset liquidity for projects building on Cosmos like Osmosis, Akash, and Axelar, as well as independent chains that have already integrated IBC like Celo, NEAR, Harmony, Polkadot, and Avalanche.
Generally, IBC goes beyond the Cosmos network to solve the interoperability difficulty and tackles other challenges, such as transaction costs and network finality. Unlike other cross-chain solutions, IBC is based on a common protocol and framework for establishing interblockchain communication.
IBC allows chains not built with the cosmos SDK or a different consensus than CometBFT to connect and implement the Inter blockchain communication standards.
How does IBC work? Implementing IBC
IBC ‘s working mechanism is similar to the TCP/IP communication utilised to exchange data between the Internet and other networks. It comprises two layers: the transport layer (TAO) and the application layer.
The transport layer provides the key infrastructure to connect securely to other chains and is the foundation for building other rich applications. It takes care of the authentication, transport, and ordering of data packets. The transport layer consists of channels, light clients, connections, and relayers.
Conversely, the application layer is built on the transport layer and determines how the data packets are packaged, interpreted, and utilised by the sending and receiving chains. Through the application layer interface, end users can interact with the Interchain; they may consist of Oracles, NFTs, tokens or other applications using the transport layer.
Let's explore the components of the transport layer:
Channels
Channels are communication pathways established between two chains to move packets securely. They are initiated with a handshake and allow different information to be relayed between smart contracts of different chains. Channels carry unique identification of (channelID, portID) tuple.
Light clients
Light clients are tools used to monitor the cross-chain state of other blockchains and the proof specs needed to verify proofs of the clients’ consensus state; it verifies block headers and Merkle proofs and, essentially, the validity of cross-chain transactions.
Relayers
Relayers are responsible for transferring data packets from one chain to another.
Connections
Connections essentially connect two light clients together.
Similar to ERC-20 standards, IBC utilises Interchain standards (ICS) - the technical standard that defines how blockchains built on the Cosmos SDK can interact and communicate, i.e. ICS-20 is for Fungible token transfer, while ICS-27 is for cross-chain account management.
NB: Interchain generally refers to the network of independent blockchains powered by cometBFT(Byzantine Fault Tolerant) and IBC. Interchain consists of chains within the cosmos ecosystem.
How IBC works
Generally, when two chains interact, they store light clients of each other. They employ dedicated channels utilising smart contracts and a light client to verify that the other blockchain sends a valid state.
In IBC, blockchains do not communicate directly with one another; instead, they store hashes of data packets containing the message in their state machine.
With the help of the Connection, the relayer transmits these messages to the destination chains from the transport module of the source to that of the destination layer. The light client then authenticates the received data and verifies the states of the sending blockchain.
How is IBC secured?
One of the key features of IBC is its security without relying on third parties and its permissionlessness; this sets it apart from regular cross-chain bridges. IBC’s security hinges on the Cosmos SDK and Interchain Security provided by the Cosmos hub.
Additionally, IBC trusts the security of connecting chains and implementing a fault isolation mechanism - which involves reducing damages in the event of a malicious activity.
Implementing IBC
The easiest way to implement inter-blockchain communication is to build a chain with the Cosmos SDK; however, IBC is not limited to the Cosmos network but to other blockchains regardless of their consensus mechanism or network topologies. Security is also guaranteed by the participating chains.
You can implement IBC on other chains or even build IBC applications on top of existing chains. Simply ensure an IBC transport layer implementation and a Light Client implementation for your chain and consensus type.
IBC and POW chains
IBC requires that the start and destination chains achieve settlement finality; therefore, it connects to POW chains by creating Peg-Zones - this bridges the gap and enables POW blockchains like Bitcoin, which lack settlement finality ( not probabilistic finality), to interoperate with the cosmos blockchain.
The peg zones are usually a 2-way peg so that assets can be sent in both directions between chains. With Peg Zones, users can deposit assets like BTC into the Zone and get an equivalent wrapped asset with settlement finality.
Recommended by LinkedIn
If you’re a Developer looking to implement IBC, you can refer to the IBC implementation guide and developer documentation for the full tech details.
Projects implementing IBC
About 107 chains have been integrated IBC as of the time of writing, averaging a monthly transfer volume of 5 million, with Osmosis (Cosmos DEX) leading the pack. Several projects have already rolled out their IBC-enabled protocol, and many more are in the pipeline, building more connections to the inter-blockchain communication protocol, including using IBC to connect BSC and Ethereum ( TOKI) and an IBC-to-Ethereum connection in the works.
IBC Versus Cross-Chain Bridges
While IBC and cross-chain bridges enable the transfer of data and assets from one blockchain to another, they are not the same. I will highlight a few of their fundamental differences.
Working mechanism
Firstly, locking and minting are popular mechanisms for cross-chain bridges; this involves the smart contract locking the token you want to swap on the source chain and minting an equivalent but wrapped token on the destination chain. When locked, the tokens are taken out of circulation.
IBC is a cross-chain communication protocol based on Interchain standards available for chains in the Cosmos ecosystem and beyond. It typically involves the interplay between IBC’s two layers, the application and transport layer - comprising channels, Relayers, connection, and Light clients. IBC often requires the different blockchains to have a similar consensus mechanism
Security
Cross-chain bridges employ different security mechanisms, i.e. the Ronin Bridge utilises multi-sig wallets, the Nomad Bridge uses optimistic verification, while others, like the Polygon Bridge, utilise POS.
IBC is a standard protocol with native integration secured by a decentralised validator set. The Cosmos hub provides Interchain Security - enabling other blockchains to be connected via POS by the Atom token. In addition, the network leverages the security of each individual blockchain, and Light clients also ensure the validity of cross-chain transactions.
Scope
IBC solutions are generally more specific and tailored to move assets from one network to another within the same ecosystem or beyond, with several non-cosmos chains connected to Cosmos, i.e. the Cosmos-Polkadot or the Near-IBC project.
Cross-chain bridges, however, provide bridging solutions to unlimited networks using different methods like lock and mint or burn and mint.