🏗️ IBC Architecture: Clients, Connections & Channels
Understand the layered architecture of IBC
Enable inter-blockchain communication protocols
Your Progress
0 / 5 completedIBC Architecture
IBC is designed as a **layered protocol** with clear separation between transport, application, and relayer layers. This modular architecture allows developers to build custom IBC applications while reusing the proven transport layer that handles light client verification and packet delivery.
The protocol consists of **IBC/TAO** (Transport, Authentication, Ordering) for the core infrastructure and **IBC/APP** for application-specific logic like token transfers (ICS-20) and interchain accounts (ICS-27).
Interactive: Layer Explorer
Explore the three layers of IBC architecture and their responsibilities.
IBC/TAO (Transport Layer)
Core protocol for authentication and transport
Key Components
Responsibilities
- •Verify block headers from connected chains
- •Establish cryptographic connections
- •Define packet ordering semantics
- •Store commitment proofs
🔑 Core IBC Components
Light Clients
Each chain runs light clients of connected chains to verify block headers and state commitments without downloading full blocks. Supports Tendermint, Solo Machine, and custom client types.
Connections
Established through a four-way handshake between two chains. A connection links two light clients and enables multiple channels to be created.
Channels
Define packet ordering (ORDERED, UNORDERED) and bind to application modules. Multiple channels can exist over a single connection for different applications.
IBC Packet Structure
IBC packets contain all information needed for trustless delivery and execution on the destination chain.
Application Layer: ICS-20
**ICS-20** (Token Transfer) is the most widely used IBC application, enabling fungible token transfers across chains.