Cosmos has been at the front end of innovating cross-chain interoperability infrastructure. It allows for the creation of application specific blockchains, so that each application can scale to its full potential without any limitations. It’s trying to become the internet of blockchains. It’s becoming the hub that connects different blockchains together and allows them to interoperate with each other. But how does it do that? In this article I will simplify the tech behind cosmos that enables it to become the internet of blockchains. So let’s get started.
The HUB
First let’s talk about the hub. The hub is like the center of the cosmos ecosystem. It connects all the blockchains in the cosmos ecosystem together and allows them to interoperate with each other seamlessly. The Cosmos hub is the main hub and it was the first blockchain in the cosmos ecosystem. All the other blockchains are connected to the hub via a protocol known as IBC or inter blockchain communication protocol. Cosmos Hub acts as the central ledger for the whole system. It is responsible for keeping track of all the tokens of different blockchains which are connected to it, so the double spend and other frauds could be prevented.
The ZONES
The independent blockchains in the cosmos ecosystem are called zones. These zones are connected to the main hub via IBC, then the hub connects them to all other zones or isolated blockchains in the ecosystem.
IBC(Inter Blockchain Communication)
IBC protocol is responsible for connecting zones to the main hub so that all blockchains can communicate together and interoperate.
To understand how the IBC works, let me give you an example.
Imagine there are two chains, chain A and chain B.
When you want to send tokens from chain A to chain B, the tokens are locked in chain A and then a message of the proof is sent to chain B that the tokens have been locked on chain A through IBC. Then an equivalent amount of tokens are minted on chain B which are a representation of the tokens locked on Chain A and can be used in the cosmos ecosystem.
Peg-Zones
All the blockchains that are built using the cosmos SDK or have fast-finality can easily be connected with the cosmos hub using IBC protocol but what about blockchains like Ethereum or Bitcoin which have PROBABILISTIC-FINALITY. That’s where the peg-zones come in. Peg-zones are a representation of another blockchain and track the state of that specific blockchain and since they have fast finality like the zones, they can be connected via IBC to the main hub for interoperability.
Let’s understand how peg-zones works.
Let’s say that we want to create a peg-zone of bitcoin, so we can use bitcoin in the cosmos ecosystem. For this to happen the peg-zone for bitcoin will be created that will track Bitcoin’s state. Let’s say we want to send 10 bitcoins from Bitcoin’s blockchain over to cosmos’s ecosystem. For this the bitcoin would be first sent to the Bitcoin address controlled by the peg-zone. Then after finality has been confirmed by the peg-zone after some number of blocks have been mined, then an equal number of Bitcoin tokens would be minted in the peg-zone which will be a representation of the native Bitcoin tokens.
Then these tokens can be sent to other chains in the ecosystem through the hub and can be used for transactions.
Cosmos Hub Architecture
Now let’s talk about the architecture of the cosmos hub. The cosmos hub consists of 3 layers. The first layer is the networking layer. This layer is responsible for connecting all nodes together and helping them all find each other.
The next layer is the consensus layer. This layer is responsible for helping all the nodes reach consensus with each other using the Tendermint BFT, which is cosmos’s consensus algorithm.
The final layer is the application layer called the Tendermint core. This is the layer which makes the hub functional by processing the transaction and updating the state each time a new block is added.
Cosmos SDK
Cosmos SDK is the development kit by which the developers can make applications specific chains. This kit makes it extremely easy for developers to deploy blockchain as they only have to focus on the application layer. The application layer can be made using any language . Once the application layer is made it is connected to Tendermint BFT engine which contains the consensus and networking layer using a protocol known as ABCI or Application Blockchain Interface.
The application specific blockchains built using Cosmos SDK can have their own governance structure and can also have their own consensus mechanism.
If this article was helpful make sure to like and share it.
Don’t forget to follow me on medium and twitter @NEO110x
All Comments