Image Source- Cosmos
Why does Cosmos exist? Why do we need yet another blockchain? What value does it add?
Blockchain has 2 main problems:
Interoperability- Every blockchain currently is in a silo unable to interact with other blockchains. Since Ethereum and Bitcoin blockchains don’t directly communicate, ether and bitcoin cannot be directly exchanged.
Scalability - Bitcoin blockchain can process a maximum of 7 transactions per second (best case scenario). Ethereum does a little better and can process 15 transactions per second. Visa on the other hand can process 1700 transactions per second. If bitcoin and other cryptocurrencies have any realistic ambition of becoming mainstream currencies, they need to be able to at least match Visa.
Cosmos aims to solve the above problems by becoming the “internet of blockchains”.
Solving for Inter-operability
Cosmos is a decentralized network of independent blockchains that can interoperate with each other. Each blockchain maintains its independence but can communicate with other heterogeneous blockchains.
How do the blockchains connect with each other?
The option to connect every blockchain with every other blockchain was rejected as it would increase the number of connections exponentially. Instead, it was decided to use a hub and spoke model. The independent blockchains are called “Zones” which are attached to a central blockchain called “Hub”. The Zones talk to each other using Inter Blockchain Communication (IBC). A Zone creates an Inter Block Communication (IBC) connection with the Hub which in turn connects to any other Zone connected to the Hub.
Can Cosmos connect all types of blockchains?
Cosmos is highly flexible. The blockchains that it connects can be public or private, permissioned or permissionless i.e. Developers are free to customize blockchain rules as per their priorities. The only limitation is that the blockchain needs to have fast finality. Blockchains that use Proof-of-Work consensus (like Bitcoin) do not have fast- finality. They only have probabilistic finality and hence cannot directly connect through Cosmos IBC. But here too Cosmos has a solution. Blockchains without fast finality create a proxy chain called a Peg-Zone. A Peg-Zone is a blockchain that tracks the original blockchain. It is compatible with IBC as it as fast finality.
Thus using IBC and Peg Zones, Cosmos enables the exchange of data, tokens, and other digital assets between blockchains.
How does Cosmos solve for Scalability?
Cosmos has a block time of 1 second (vs 10 minutes for bitcoin) and can handle 10,000 transactions per second made possible through vertical and horizontal scaling. Vertical scaling involves various optimization techniques within the blockchain. Horizontal scaling involves having multiple parallel blockchains running the same application.
Who maintains Cosmos blockchain?
The Hub is secured by a decentralized group of validators responsible for the overall well being of the system. The validators of the Zones stake a certain amount of Atom tokens inside the hubs. If the Zones misbehave then their tokens get slashed. Validators vote for changes in the Cosmos ecosystem. To vote, the validators have to stake a certain amount of tokens. Punishment for not voting is being deactivated for a period of time.
At the end of the article is a technical note on block creation. From it, one can see that validators need to perform several functions. Therefore, unlike Bitcoin where anyone can become a validator, Cosmos genesis block started with only 100 validators. This will increase by 13% every year until it reaches 300 in year 10.
What is the native token of Cosmos?
The native token of Cosmos is Atom. Atom is not a medium of exchange or store of value. It is used only for staking on the Cosmos blockchain. Since the Zones have their own tokens, the hub validators can accept fees in any token they want. 2% of the fees go to the reserve pool and the rest is distributed among the validators in the proportion of their stake.
During the Cosmos ICO, ~168k tokens (constituting 75% of issued Atom tokens) were released, earning the company US$17.3mn. 5% were held by seed investors and 10% each with Cosmos Network Foundation and ALL IN BITS Inc.
Technical explanation of how blocks are made in Cosmos
Block creation goes through 3 steps:
NEW HEIGHT - Increment block height by 1.
* Propose- Selected node proposes a block.
* Prevote- Validators receive the proposed block. If the block is acceptable then they sign and broadcast a prevote for the proposed block. If the block is unacceptable or they haven’t received the block then they sign with a “nul” vote.
* Precommit - Validators receive prevotes of other nodes. If a validator receives >2/3 of the prevotes for an acceptable block then he signs off and broadcasts his precommit to the block. This locks the validator to the block. If not then he doesn’t sign off and get locked to a block. If the validator receives >2/3 nul votes then he unlocks and precommit turns to “Nil”.
COMMIT - Validators receive the block that has been pre-committed by the network. They wait till they receive at least 2/3 precommits and once they do, they sign off and broadcast their commitment. Once this is done, the block is committed to the network.
Other blockchains that are pursuing a similar goal of creating a blockchain of blockchains include Polkadot, Cardano, Komodo, Wanchai, Aion and Ark.