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
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
2018-03-13 09:10:26 -07:00
ACK verification and messaging queue is implemented to make it failsafe. Modules will register callback to handle failure when they register handlers.