cosmos-sdk/docs/spec/ibc/mvp/ibc.md

1.4 KiB

IBC Specification

The IBC (Inter Blockchain Communication) protocol specifies how tokens, non-fungible assets and complex objects can be moved securely between different zones (independent blockchains). IBC is conceptually similar to TCP/IP in the sense that anyone can implement it in order to be able to establish IBC connections with willing clients.

Terms

How IBC module treats incoming IBC packets is similar to how BaseApp treats incoming transactions. Therefore, the components of IBC module have their corresponding pair in BaseApp.

BaseApp Terms IBC Terms
Router Dispatcher
Tx Packet
Msg Payload

MVP Specifications

MVP1

MVP1 will contain the basic functionalities, including packet generation and incoming packet processing. There will be no security check for incoming packets.

MVP2

The IBC module will be more modular in MVP2. Individual modules can register custom handlers on the IBC module.

MVP3

Light client verification is added to verify an IBC packet from another chain. Registering chains with their RoT(Root of Trust) is added as well.

MVP4

ACK verification / timeout handler helper functions and messaging queues are implemented to make it safe. Callbacks will be registered to the dispatcher to handle failure when they register handlers.