Cosmos is a blockchain interoperability platform (the Blockchain). Tendermint is a Proof of Stake (PoS) platform (operating on Tendermint Core – the software). These two projects work together to build an Internet of Blockchains in order to create scalable, private and safe blockchain ecosystem.
How Tendermint and Tendermint Core Operate
The Tendermint software consists of three state machines like any other traditional blockchains use such as Bitcoin, Ethereum or any of the top ten cryptocurrencies apart from Ripple. The simple architecture of Tendermint Core is:
- Application (Chain VM)
- Consensus (peer-to-peer layer)
- Networking (Proof-of-Work, Proof-of-Stake, Private PBFT Instance, etc.)
The application layer represents the state machine that the cryptocurrency (token) or the decentralized application (Dapp) uses on top of the Tendermint. Bitcoin uses bitcoin application, Ethereum uses EVM, etc. All three state machines come together in one software stack.
Before launching of Ethereum in 2014 it was extremely difficult to create an entire software stack from scratch, however, ETH’s application EVM provided direct interaction with consensus and networking state machines which made creating own application a rather simple process, that involved writing a little building block on top of the stack. The negative aspect of it was that it caused giving away some control over the system because ETH enforced compliance with the standards of EVM.
On the other hand, Tendermint allows creating one’s own application, provided it is any sort of deterministic state machine, and it can easily be run on top of Tendermint Core. It is a software that automatically handles the consensus and networking layers for the user and it does it by communicating with the created application through an interface called ABCI.
Tendermint is the first blockchain platform to use Byzantine fault-tolerance (BFT) consensus algorithm that favors consistency over availability which means that Tendermint can never fork.
In short, BFT is a consensus information that any faults in the components of the system are imperfect as well as the information of the failures.
For different types of failure-detection systems to reach consensus on the exact failed component in the system is very difficult and time-consuming. Therefore, the platform allows normal, safe and continuous operation of the system provided that less than ⅓ (or 33%) of the validators go rogue.
Networking is a normal peer-to-peer stack. The ABCI interface allows any VM Chain to be run on top of Tendermint consensus core regardless of whether it is Zcash, Bitcoin or Ethereum. Tendermint used Ethereum’s VM as an application, stripped out the mining and created a project called “Ethermint” which is Ethereum platform fully adopted on Proof-of-Stake.
This project inspired the idea to create Cosmos SDK which is also called “base coin”. Instead of building an application on top of an existing application, Cosmos SDK, gives the “bare bones” for a basic blockchain with tokens, governance, staking – all the basic features required of a blockchain and that allows adding desired functionalities through plugins and then deploying the new chain.
All of these chains, all of these options can create a separate, self-sustainable ecosystem because all these chains are using the same underlying software. As a result, IBC protocol was created in order to provide any chains that are connected to Tendermint as a way to communicate with each other, share information, tokens, data, even contract calls.
Tendermint is ultrafast. It can process 1000s of transactions per second with 1-3 second finality. Bitcoin recognizes the block as finalized after it gets sufficiently deep into the chain (on average, 6 blocks deep), it hasn’t been overtaken by a fork, thus it is safe to register it as a finality.
This process takes a long time, especially for transactions. Unlike Bitcoin, Tendermint has an asynchronistic system which means that every single block is already finalized – once the block is committed it will not be reversed. When an executed transaction is shown on the blockchain it is forever written as such or there is more than 33% attack on the system like we describe above.
Cosmos – Internet of Blockchains
Cosmos Hub is built on the Cosmos as SDK and acts as a routing mechanism of all the chains that form the so-called Zone enables them to communicate with each other while at the same time prevents double spending of tokens on other chains. IBC protocol can equally function on any other system that gives finality, such as Casper, i.e. Casper Core.
However, when systems are based on a Proof-of-Work algorithm, e.g. Ethereum, they can never provide finality. In order to properly function on Tendermint “pseudo finality” is applied. – If something is 100 blocks deep onto the blockchain, it is safe to say that it will not be a victim of a 51% fork attempt.
Taking that as a criteria, Tendermint needs to create its own chain which is called “Peg Zone” and the participants, i.e. validators on the chain will reach a consensus on which is the 100th block on the live Proof-of-Work blockchain (Ethereum, Bitcoin, Monero, etc.) and Peg Zone mirrors validators’ finds from other cryptocurrencies’ live blockchains.
Since Peg Zone runs the mirrored consensus it can communicate to the Cosmos Hub through the IBC protocol but the logic and data from Proof-of-Work-based blockchains go to Peg Zone through new communication protocol called ETGate which is a “communication bridge” between Peg Zone and for example, smart contract on Ethereum and acts as a conduit between Ethereum and Cosmos Ecosystem.
Cosmos has the same architecture design goals as the Internet:
- Scalability (Vertical vs Horizontal Scalability)
Vertical scalability shows how many transactions per second a single blockchain can handle to be pushed through port (e.g. Ethereum 15 trans./1sec) and Tendermint Core can get over 1000s trans/1sec. with over 100 validators on 5 continents. Research is conducted to find a way to make it faster.
Horizontal scalability – application-based sharding is logical as it minimizes bottleneck. It only requires a full node for the preferred applications which guarantees flexibility through governance, reduces attack surface, gains efficiency due to less computational overheat
Separate chains communicate with each other through IBC – a two-way on-chain light client protocol, while Cosmos Hub allows deep integration of token economics through a two-way Peg Zone protocol. Private chains can operate with Public chains.
One cryptocurrency and its fork cannot have same validators, e.g. Ethereum and Ethereum Classic. This provides security as all separate blockchains have their own sovereignty. Governance is controlled by the community.
Optional pooled security through delegated consensus – a good way to bootstrap small public chains between chains who share their validators to do a pooled security which can be thought of as a Proof-of-Stake Equivalent
How will the cryptocurrency develop when different blockchains can use each other’s features to create stronger and more resistant blockchain ecosystem?
Featured Images via Pexels.