Cosmos Blockchain - Many Chains, Many Tokens, One Ecosystem
The Cosmos Blockchain is a novel answer to “sidechains,” which aims to enable users to traverse a galaxy of blockchains with ease. Cosmos wants to offer multiple parallel blockchains to interoperate while retaining their security properties. Previous attempts with proof-of-work were not as successful as expected because a child chain could be attacked when the majority of the mining power was allocated to the parent chain or another child chain. Cosmos is focused on interoperability between blockchains and a low-energy consuming version of a blockchain with great scaling flexibility. The Cosmos whitepaper describes the current blockchain related problems:
To date, blockchains have suffered from a number of drawbacks, including their gross energy inefficiency, poor or limited performance, and immature governance mechanisms. Proposals to scale Bitcoin’s transaction throughput, such as Segregated-Witness and BitcoinNG, are vertical scaling solutions that remain limited by the capacity of a single physical machine, in order to ensure the property of complete auditability. The Lightning Network can help scale Bitcoin transaction volume by leaving some transactions off the ledger completely, and is well suited for micropayments and privacy-preserving payment rails, but may not be suitable for more generalized scaling needs.There is no doubt blockchain will play a key role in our future, however, we have to acknowledge the existing problems. The Cosmos project acquired Tendermint blockchain consensus algorithm as it’s very efficient and uses the more mature Byzantine Fault Tolerance.
Meet TendermintCosmos is using proof-of-stake, which means that there is no computational race for securing the blockchain as with proof-of-work. The larger stake of coins you own, the larger amount of coins you will receive. However, Cosmos uses a slightly different approach as it’s using a proof-of-stake version of Tendermint blockchain consensus. To put it simply, Tendermint is a software which can be used to achieve Byzantine Fault Tolerance (BFT) in any distributed computing platform. The idea behind BFT is decades old, but the interest has only increased since the blockchain trend has started. Blockchain technology is nothing more than BFT in a modern setting, with an emphasis on cryptography and p2p networks.
Why do we need Tendermint?For a decentralized system, it’s technically not possible that all nodes communicate through one central node. Therefore, fast enough communication is only possible through a mesh network. However, a mesh network allows the Byzantine Fault where false information is spread and nobody knows who’s speaking the truth. This is where Tendermint is needed as it has several mechanisms to determine the trustworthiness of nodes. Tendermint relies on a group of semi-trusted nodes to vote on blocks; as long as more than two-thirds of the voting nodes are honest, the protocol will remain active.
Tendermint has been built up using two core components, namely Tendermint Core which serves as a consensus engine and the Application Blockchain Interface (ABCI). Tendermint Core is as well responsible for ensuring the correct order of the registered transactions on every node in the network. An ABCI provides developers with an interface to process transactions using their desired programming language and acts as well as a gateway to Tendermint Core. It is even possible to manage multiple application's states via the Tendermint Core using a socket protocol they have developed. In short, Tendermint is responsible for:
- Validating transaction signatures.
- Preventing malicious transactions from being added to the world state.
- Updating and managing the world state of your blockchain.
- Offering query functionality against the world state. Blockchains like Bitcoin are not designed to offer querying functionality.
- Sending transactions to Tendermint Core via a simple to use API.