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

32 lines
1.2 KiB
Markdown
Raw Normal View History

2018-03-12 09:47:07 -07:00
# IBC Specification
2018-03-12 09:13:37 -07:00
2018-03-13 09:10:26 -07:00
IBC(Inter-Blockchain Communication) protocol is used by multiple zones on Cosmos. Using IBC, the zones can send coins or arbitrary data to other zones.
2018-03-12 09:13:37 -07:00
## Terms
How IBC module treats incoming IBC packets is simillar with 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 | PacketData |
2018-03-13 09:10:26 -07:00
## MVP Specifications
2018-03-12 09:13:37 -07:00
2018-03-13 09:10:26 -07:00
### [MVP1](./mvp1.md)
2018-03-12 09:47:07 -07:00
2018-03-13 09:10:26 -07:00
MVP1 will contain the basic functionalities, including packet generation and packet receivement. There will be no security check for incoming packets.
2018-03-12 09:47:07 -07:00
2018-03-13 09:10:26 -07:00
### [MVP2](./mvp2.md)
2018-03-12 09:47:07 -07:00
2018-03-13 09:10:26 -07:00
IBC module will be more modular in MVP2. Indivisual modules can register custom handlers to IBC module.
2018-03-12 09:13:37 -07:00
2018-03-13 09:10:26 -07:00
### [MVP3](./mvp3.md)
2018-03-12 09:13:37 -07:00
2018-03-13 09:10:26 -07:00
Light client verification is added to verify the message from the other chain. Registering chains with their ROT(Root Of Trust) is needed.
2018-03-12 09:47:07 -07:00
2018-03-13 09:10:26 -07:00
### [MVP4](./mvp4.md)
2018-03-12 09:13:37 -07:00
ACK verification / timeout handler helper functions and messaging queue are implemented to make it failsafe. Callbacks will be registered to the dispatcher to handle failure when they register handlers.