IBC · Cosmos Inter-Blockchain Communication protocol

Confidence: Likely Updated 2026-05-25 Review by 2026-11-25 Sources 5 Machine-translated Original (JA)
#systems#cross-chain#cosmos#ibc#light-client#hub-and-spoke
On this page

Wiki route

This entry sits under systems index. Read it against cross-chain four poles overview and cross-chain five-pole matrix for peer / contrast, CCTP V2 for the alternative trust-minimized model, and Hyperlane vs LayerZero / CCIP for the broader interop comparison.

Key facts

  • IBC is the cross-chain messaging protocol native to the Cosmos SDK; mainnet on Cosmos Hub since 2021

  • Trust model: light-client verification on each chain — each chain runs the other chain’s light client and validates headers / proofs locally

  • Hub-and-spoke topology: Cosmos Hub serves as connectivity anchor, but IBC is a direct chain-to-chain protocol(no centralized hub required)

  • IBC v1 focused on token transfers(ICS-20); IBC v2 (Eureka, 2024-2025) extends to Ethereum + non-Cosmos chains via lightweight light-client adapters

  • Production deployment across 80+ chains; cumulative transfer volume in tens of billions USD by 2025-2026

Trust model — light clients on both sides

IBC’s security argument: each chain validates the other chain’s consensus directly, not a third-party intermediary. The flow:

Chain A (source)                          Chain B (destination)
─────────────────                         ─────────────────────
1. App calls IBC: send packet
2. IBC commits packet to state
3. Header + commitment proof gossiped ──► 4. Chain B light client of A
                                              verifies header (Tendermint sigs)
                                          5. Verifies Merkle proof of packet
                                          6. Delivers packet to receiving app
                                          7. Sends ACK / timeout back ──────►

The trust assumption reduces to: the source chain’s consensus(e.g., Cosmos Hub’s BFT validator set). No third-party relayer can forge messages — relayers only move data; verification is on-chain.

This contrasts sharply with:

  • LayerZero: configurable Oracle + Relayer trust split
  • CCIP: Chainlink DON committee
  • Hyperlane: pluggable ISM(Interchain Security Module)
  • CCTP: Circle attestation service(single signer)

IBC v1 vs IBC v2

DimensionIBC v1IBC v2 (Eureka)
Connected chainsCosmos SDK + a few adaptersCosmos + Ethereum + EVM L2s + selected non-Cosmos
Light client overheadTendermint-light-client nativeSolidity light-client + lightweight headers
Token standardICS-20 fungibleSame, with broader cross-VM adapter contracts
Generic message passingYes(ICS-04 channels)Yes, expanded to EVM target apps
Live since20212024-2025 (mainnet expansion)

IBC v2’s Eureka release brings Ethereum-side light-client contracts(verifying Tendermint signatures), letting Cosmos chains and Ethereum exchange messages with end-to-end verification without an external bridge committee.

Comparison vs other interop protocols

ProtocolTrust modelTopologyProduction usage
IBCLight client on each sideMesh(any-to-any)80+ chains, native Cosmos default
CCIP ([[systems/chainlink-ccip-institutional-messagingsee entry]])Chainlink DON + risk-mgrHub-and-spoke via Chainlink network
LayerZero ([[systems/layerzero-v2-omnichain-messagingsee entry]])Oracle + Relayer splitDirect any-to-any
Hyperlane ([[systems/hyperlane-overviewsee entry]])Pluggable ISM(incl. EigenLayer AVS)Permissionless mesh
CCTP ([[systems/cctp-v2-overviewsee entry]])Circle attestationHub via Circle

Reading: see five-pole comparison matrix for side-by-side; bridge security insurance matrix for risk pricing.

IBC channel and packet lifecycle

  1. Connection handshake — ConnOpenInit, ConnOpenTry, ConnOpenAck, ConnOpenConfirm
  2. Channel handshake — ChanOpenInit … ChanOpenConfirm(one channel per app pair)
  3. Packet send — application calls IBC; packet committed
  4. Relayer transport — off-chain relayer reads, gossips header + packet
  5. Packet receive — destination chain verifies, executes app callback
  6. Acknowledgement / timeout — ACK propagates back; timeout if not received in window

Channels are app-level: ICS-20 (fungible token), ICS-721 (NFT), Interchain Accounts(ICS-27), Interchain Queries(ICQ), and arbitrary ICS-04 channels for custom apps.

Origin and evolution

IBC specification began in 2018 within the Cosmos / Tendermint community; mainnet went live with Cosmos Hub IBC enablement in March 2021. The protocol matured through 2022-2023 with broad token-transfer adoption and Interchain Accounts. The 2024-2025 Eureka release marked the strategic pivot: IBC is no longer Cosmos-only; it competes as a general interop standard by extending light-client adapters to Ethereum + EVM L2s.

Cosmos as an ecosystem has interesting financial relevance: chains like Noble(USDC issuer for Cosmos), dYdX(formerly Ethereum, now Cosmos appchain), and Celestia all sit in the IBC mesh. Read alongside DA layer comparison for the Celestia angle.

Sources

  • ibc.cosmos.network protocol specification and tutorials.
  • github.com/cosmos/ibc and github.com/cosmos/ibc-go for spec + reference implementation.
  • docs.cosmos.network for SDK / chain integration guides.
  • Eureka release notes and IBC v2 adapter documentation.