45 lines
1.4 KiB
Markdown
45 lines
1.4 KiB
Markdown
# 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.md)
|
|
|
|
MVP1 will contain the basic functionalities, including packet generation and
|
|
incoming packet processing. There will be no security check for incoming
|
|
packets.
|
|
|
|
### [MVP2](./mvp2.md)
|
|
|
|
The IBC module will be more modular in MVP2. Individual modules can register
|
|
custom handlers on the IBC module.
|
|
|
|
### [MVP3](./mvp3.md)
|
|
|
|
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](./mvp4.md)
|
|
|
|
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. |