Blockchain, the parent technology of cryptocurrencies like Ethereum and Bitcoin, is in for a terse competition. Although blockchain has been adopted by some of the biggest tech giants like Microsoft, IBM, JPMorgan, fast adoption merits concern in the field of scalability and interoperability. Cosmos Blockchain is seeking to solve these problems with Tendermint protocol which facilitates high performance and fork accountability and is also Byzantine fault tolerant.
Let us examine the major issues in the conventional blockchain technology:
Bitcoin can support a maximum of 3-4 transactions and Ethereum only 15 transactions per second. To compete with more established and mainstream systems like Visa and Paypal, Visa manages to support 1667 transactions per second and Paypal manages 193 transactions. There have been solutions to the scalability problem like lightning network and SegWit. However, they are not completely free of errors. SegWit, being a vertical solution, is dependent on the physical capacities of a single node. On the other hand, lightning network despite its technical brilliance, can only handle microtransactions as of now.
It is extremely difficult to establish a transparent communication between different crypto coins, such as Bitcoin, Ethereum, Litecoin etc. These blockchains become silos and rarely share any information with each other. There are solutions like atomic-cross-chain swap, but it is interoperability in true sense. Moreover, it is a herculean task for banks to communicate with cryptos. Thus, the crypto exchanges who provide a platform for communication between the banks and cryptos are essential. However, the exchanges are prone to hacking and they can also blackout for long periods for system upgradation.
Another major area for miscommunication between the traditional financial world and cryptosphere are ICOs. An individual entity amasses huge profits in exchange for their tokens, but saving this money in bank accounts can be a difficult task. This is because the banks would require the sources from where the money was acquired.
Cosmos Blockchain comes to rescue
Cosmos aims to become an” internet of blockchains” which will solve these issues permanently. The cosmos architecture is comprised of several independent blockchains called “zones”, these in turn are attached to a central blockchain called “Hub”.
Tendermint: Fuelling the Cosmos Blockchain Platform
According to the Cosmos whitepaper “The zones are powered by Tendermint Core, which provides a high-performance, consistent, secure PBFT-like consensus engine, where strict fork-accountability guarantees hold over the behavior of malicious actors. Tendermint Core’s BFT consensus algorithm is well suited for scaling public proof-of-stake blockchains.”
Benefits of Tendermint
- Tendermint can process transaction volume at the rate of 10,0000 transactions per second for 250 byte transactions.
- It is ideal for mobile and IoT use cases due to its simple light client security.
- Due to the fork-accountability provided by Tendermint it stops double spending.
- Tendermint has the ability to turn any deterministic blackbox application into a distributed replicated blockchain.
- Tendermint Core can connect to blockchain applications via the Application Blockchain Interface (ABCI).
Working of the Cosmos Network
The Cosmos network is composed of nodes. The consensus process takes place at a particular block height, say ”H’. The process to determine the next block is comprised of multiple rounds. These rounds in turn consists of many states which are:
Each step is called a Roundstep. A node is at (H,R,S), where H signifies the height, R the round and S the step, or at (H,R) in short to omit the step. Prevote or Precommit means to broadcast a “prevote” vote or “precommit” vote for something. When a block obtains more than ⅔ votes of the prevotes at (H,R) then it is known as proof-of-lock-change or PoLC.
The state machine is the engine of the Tendermint protocol.
Propose, Prevote and Precommit consist of one round. In an ideal situation the state transition would look like this:
NewHeight -> (Propose -> Prevote -> Precomkmit)+ -> Commit -> NewHeight ->
However, this is not possible at all time; thus multiple rounds may be required before the next block is committed. The reasons behind multiple rounds attribute to –
- The block proposed being invalid
- The designated proposer maybe absent
- Untimely propagation of the block
- >⅔ of votes were not recieved in time by the validator nodes
- >⅔ of precommits for the block weren’t received even though prevotes may have been received
During this stage, the designated proposer (the node) proposes a block to be added at (H, R). The stage is completed when:
- The block proposed enters the prevote stage
- The time to choose the block by the proposer lapses upon which it enters the prevote stage
During the prevote stage, the validator needs to validate a block. In case the validator has not approved of a proposed block from the previous round, the block is automatically signed off and the block is broadcasted.
If the validator has an acceptable proposal for the current round, then they sign and broadcast a prevote for the proposed block. However, if the validator finds something fishy with the proposal, it is signed with a “NIL” prevote. No block-locking takes place during this stage. During this stage, all nodes propagate through the prevotes via the gossip protocol.
In this stage the validators broadcast their prevotes and thus precommit to their decision. One of the following situations can happen:
- In case the validator receives > ⅔ votes for a block, the validator signs off the block and thus broadcasts their precommit to that block. The validator is locked on to that block. A validator can only lock on to only one block at a time.
- If the validator receives more than ⅔ of “nil’ prevotes then they don’t lock on anything and precommits turn to “NIL”.
- In case they don’t receive a majority of ⅔ at all they don’t sign off or lock anything.
Throughout the stage the nodes keep on gossiping about the precommits throughout the network. In the end, if the proposed block acquires more than ⅔ gets precommits, then the process moves towards the “Commit” step. If the nodes doesn’t reach consensus, then they enter the “Propose” stage of the next round.
Although the commit state is not the part of the “ round , along with the NewHeight it is one of the two special rounds. Two parallel conditions are verified to see if they are getting fulfilled or not.
- The validators must receive the precommitted block by the network. Once it has been done, they sign off and broadcast their commitment
- The validators must wait till they have received super- majority for precommits for the block.
Once this is achieved, the block gets committed to the network.
NewHeight increments block height by 1 to signify that the block has been added.
Choosing the Validators
In the Bitcoin system anyone can become a miner at anytime, but on the Tendermint there are a limited number of validators. Since the validators will need to do a lot of functions, adding more validators will only lead to delay.
As a result, Cosmos decided on 100 validators during the Genesis day ( day of the fundraiser). The number of validators will increase by 13% by every year till next 10 years, after which it will settle on 300.
As the cosmos whitepaper states:“Tendermint provides exceptional performance. In benchmarks of 64 nodes distributed across 7 data centers on 5 continents, on commodity cloud instances, Tendermint consensus can process thousands of transactions per second, with commit latencies on the order of one to two seconds. Notably, the performance of well over a thousand transactions per second is maintained even in harsh adversarial conditions, with validators crashing or broadcasting maliciously crafted votes.”
The Hub and The Zones
The Cosmos hub is a distributed ledger where individual users or Zones hold their tokens. The zones interact with each other via the Hub using Inter Blockchain Communication. The Hub is secured by a globally decentralised group of validators so it can withstand attacks as severe as nation-state sponsored attack or continental network participation.
The validators of the zones must keep a certain amount of Atom tokens inside the hubs. In case, the zone starts acting maliciously the staked atoms are taken away.
Role of IBC in Cosmos
Suppose there are three blockchains:
- Zone A
- Zone B
If Zone A wants to interact with Zone B by sending a message called a “packet”, it will happen by the following process:
- A proof is posted on Zone B stating that Zone 1 is sending a packet.
- For zone 2 to receive the proof, it must be able to keep up with Zone A’s block headers.
IBC splits into two transactions:
- An IBCBlockCommitTx transaction which enables the blockchain to prove to any observer its most recent block-hash.
- The second transaction is the IBCPacketTx which allows the blockchain to prove that the given packet was indeed sent by the sending chain via a Merkle-Proof to the recent block hash.
When the IBC is split into two parts it allows the native-fee-market mechanism of Zone B to determine the packets who get committed without the need to impose any restrictions on Zone A.
The Atom Token
The native token used in the Cosmos blockchain is the Atom token. It is not designed to be a medium of exchange nor a store of value. It is used purely for staking on Cosmos Blockchain.
During the fundraiser, the ATOMs were distributed as such:
- ICF (10%)
- AIB (10%)
- Initial Donors (5%)
- Pre-Fundraiser Donors + Fundraiser Donors (75%).
Transaction fees in Cosmos
The zones have their own tokens, the validators can accept any token or any token combination as their transaction fees. The exchange rate can be set up by the validators in accordance with the gas limit of the block. Of the total exchange fees collected, 2% is allocated to the reserve pool. The rest is distributed among the validators according to the stake held.
Cosmos Blockchain Use Cases
- Cosmos Blockchain platform is ideal for decentralised exchanges as it connects many blockchains with each other. It can easily facilitate interaction between different ecosystems.
- A zone can avail the services of another zone via the Cosmos Hub.
- An EVM based zone connected to the Cosmos can scale up faster via the Tendermint consensus system.
Cosmos and Tendermint provide immense scalability to blockchains which is the need of the hour. The technology used for building the Cosmos Blockchain platform is intriguing, but it still needs to compete with competitors like Cardano, ICON and AION etc. Only time will decide where Cosmos Blockchain stands when it comes to faster mainstream adoption.