Related article: Staking Hub: Cosmos Game of Zones AMA
Tendermint BFT enables secure consensus and networking for the Cosmos ecosystem, and the Cosmos SDK enables development at the application layer. Together, developers can build a blockchain specifically for their application--a blockchain that may interact with the rest of the Cosmos ecosystem while remaining sovereign.
So how does my blockchain connect with the other Tendermint-based blockchains? Inter-Blockchain Communication, or IBC, will link the Cosmos ecosystem together. In fact, connecting blockchains will likely be the primary role of the Cosmos Hub.
IBC will enable blockchains to exchange the value of digital assets (tokens) and data with one another, whether they’re public or private blockchains.
If two chains are sovereign, how can tokens from one be transferred to another?
Chain A locks the tokens and relays proof to Chain B. Once verified, Chain B mints its own representative tokens (sort of like vouchers), which can later be destroyed to unlock the original tokens on Chain A. So the value that tokens represent can be transferred across chains, but the token itself cannot.
Many application-specific blockchains (called Zones) will connect to a hub like the Cosmos Hub, which will enable efficient transfers between different zones with a minimal number of connections. Users will pay the Cosmos Hub transaction fees to move value and data securely between blockchains. In this case, Chain A will need to trust the Hub and Chain B when minting vouchers or unlocking tokens.
Can value and data be transferred between the Cosmos ecosystem and non-Tendermint blockchains (eg. Ethereum or Bitcoin networks) with IBC?
IBC can directly enable value transfer between fast-finality chains (with deterministic finality). But Ethereum and Bitcoin are not fast-finality chains, so a special application-specific blockchain zone called a Peg-Zone is required.
Why a special zone? Because most proof of work (PoW) chains like Ethereum and Bitcoin have “probabilistic finality,” an assumption that 1) a block won’t change after a new, subsequent block has been created and 2) grows stronger with the production of each new subsequent block.
Remember when Chain A proved to Chain B that it locked tokens? If that transaction is not reasonably permanent, Chain B could mint vouchers that back tokens that are not actually locked on Chain A. It’s important to have confidence that a block is permanent in order to have confidence that a change to an account balance is permanent. A Peg-Zone can set an assumed number of blocks (a finality threshold) in order to more securely enable a transfer the value of Ether or Ethereum tokens to the Cosmos ecosystem.
The first version of the IBC specification was released in early September. Agoric is working on an implementation, and we expect the code to be done and audited by the end of 2019--whereupon anyone may launch an IBC-enabled chain. Shortly afterwards, Figment will likely launch a governance proposal for the Cosmos Hub to adopt this IBC implementation.
The ICF (Interchain Foundation) will fund an incentivized IBC testnet competition called Game of Zones. We're hosting a Staking Hub AMA with Zaki Manian (Tendermint team) and Dean Tribble (Agoric) tomorrow (November 5, 2019), whereupon they are expected to unveil the first set of details about Game of Zones. Update: here's the article from our Nov 5, 2019 AMA.
All details can be found in our Twitter announcement here.
Hopefully you found this useful. Feedback is always welcome! I’m on Twitter.