IBC (Inter-Blockchain Communication)
A standard originally developed for the Cosmos ecosystem to provide a way for different blockchains to easily communicate with each other. Has the potential to become an industry standard beyond Tendermint based blockchains, just as the EVM has outgrown Ethereum.
Basics
- From Delphi Digital (8-9-2022):
"IBC (Inter-Blockchain Communication) is the interoperability protocol for communicating arbitrary data between arbitrary state machines (blockchains). While in the future any blockchain with finality can implement IBC and join the Cosmos network, the only production ready implementation is as a set of Cosmos-SDK modules. IBC is trust-minimised, as though two IBC enabled chains require a third party relayer, it only needs to relay 1) signatures of the source chain’s validators attesting to the block header, and 2) a merkle proof which, together with the block header, proves a certain tx exists in the source chain’s block. Neither of these can be forged.
We see IBC’s trust assumptions as a huge advantage. Most bridges work by introducing one or multiple different stakeholder groups sitting between two chains and relaying messages, creating additional trust assumptions and attack vectors. IBC only requires trust in the chains being connected. Given cross-chain messaging is at the heart of the cross-chain architecture we’re exploring, ensuring the bridge is trust-minimised is a key consideration for us.
IBC provides more functionality than just message passing. Interchain Accounts is a new feature that allows blockchains to control an account on another chain via IBC. With IA, multi-chain UX gets drastically simplified. Instead of opening many accounts across chains, moving tokens between them, paying fees in different denominations, users will be able to use dApps across different chains from a single account. For a cross-chain project, this feature would allow for example governance on a central chain to control smart contracts on connected chains. There’s also Interchain Queries, which allow one chain to query the state of another. These features are however still immature and not quite ready for production usage, but once ready will significantly broaden the design space for cross-chain applications."
- Built to bridge between Tendermint type blockchains. From CoinDesk (29-3-2021):
"“At its core, IBC is a method of securely exchanging data between two independent (sovereign) blockchains. This means that any two blockchains that support IBC can send communication back and forth in a permissionless manner,”
"Cosmos uses a cross chain protocol called Inter-Blockchain Communication (IBC). The current implementation of Cosmos uses the Hub to pass tokens between zones. However, Cosmos does have a new specification for passing arbitrary data. Nonetheless, as chains do not share state, receiving chains must trust the security of a message's origin."
Usage
- By Cosmos’ own count (3-3-2023), Cosmos hosts 28 different IBC-enabled blockchains with a combined market cap of $73 billion.
- NEAR was the first non-Tendermint blockchain to announce IBC compatibility.
Creators
- Zaki Manian — Co-creator of IBC and early Cosmos contributor