Developer Deep Dive — Cosmos IBC

Alongside the Tendermint high performance Byzantine fault-tolerant (BFT) consensus engine, one of the main innovations of the Cosmos Network is a robust and secure Inter-blockchain Communication protocol — Cosmos IBC for short. This is the mechanism that enables communication and crypto-asset transfers across a network of siloed blockchains to securely interoperate.
For those new to the Cosmos project, we originally introduced the concept of an Inter-blockchain Communication (IBC) protocol in June 2016 — a concept predating even Cosmos, which in its earliest version was named ‘GnuClear.’ Cosmos IBC was then formally defined in the Cosmos white paper last February. We had a working implementation of it deployed and usable in June, called Basecoin, which demonstrates securely sending tokens between two independent blockchains (not just atomic swap, but actually moving tokens from one chain to another).
Through implementation and testing, we found design issues and performance limitations that could not have been foreseen had we only had a concept. We have been working on a more detailed and complete specification of Cosmos IBC with receipts, routing, improved security and error-handling, along with many performance enhancements. We are happy to share the first draft of the protocol specification with all technically minded readers.
The full implementation with production-ready design is slated to go live shortly following the launch of Cosmos mainnet.