March 13th was the date when a new cryptocurrency protocol saw its initial launch. Having the name Cosmos, the ambition behind it could immediately be hinted at; the project is aiming to connect all the “stars” of the modern cryptocurrency space and become the key blockchain interoperability platform.
Throughout this article, we’ll analyze some of the key features of this project and attempt to find out if it is truly capable of fulfilling its ambitious goals.
Cosmos markets itself as a decentralized network of independent parallel blockchains which are powered by Byzantine Fault Tolerant consensus algorithms like Tendermint. Byzantine Fault Tolerance is a feature of one blockchain’s consensus algorithm which makes it able to achieve consensus in a decentralized environment that could potentially contain malicious consensus verifying nodes in it.
These blockchains are capable of interoperating with eachother through the Cosmos Network, the so-called “Internet of Blockchains”. Also referred to as Cosmos Hub, it is the first blockchain launched within the Cosmos Network and its main task will be to interlink other blockchains (also known as zones) in the ecosystem. Tokens can be transferred from one zone to another securely and quickly with the help of Cosmos Hub.
Cosmos Network will be built on top of three key parts:
- Tendermint Core – Connects the networking and the consensus layer of the protocol under a software implementation known as Tendermint Core. Contains the Tendermint BFT consensus algorithm and the IBC (interblockchain communication) protocol for hub/zone communication.
- Application Blockchain Interface (ABCI) – BFT replication of dapps in multiple programming languages. ABCI is language-agnostic and enables developers to build the application portion of their blockchain in any language. Is the connecting interface between Tendermint Core and Cosmos SDK.
- Cosmos SDK – Development resource also known as “Base Coin”. The primary purpose of the SDK is to reduce the complexities in building the ABCI for common blockchain functionality and allowing developers to focus on customizable applications within a standardized framework. Developers can take this basic frame that has built-in tokens, governance, staking – all the basic features required of a blockchain – and then add desired functionalities through plugins. Basically the application layer of Cosmos Network.
Tendermint Core is responsible for the consensus on the Cosmos Hub. Blockchains that are connected to the Hub maintain their own consensus sovereignty, without having to switch to Tendermint.
Developers can build their own blockchains and applications with the help of Cosmos SDK and run them on top of the Tendermint Core, only worrying about the application layer. ABCI uses a socket protocol to enable the consensus engine to manage application state running in another consensus process, making Cosmos able to support a wide variety of cryptocurrencies and scripting languages like those found in Bitcoin, Ethereum, ZeroCash, CryptoNote, and more.
These blockchains can communicate with eachother through the IBC protocol, even if they have different consensus algorithms. Developers can implement the semantics of a particular application on top of IBC, thus enabling the transfer valuable assets between different blockchains while preserving their contractual features.
IBC works best with high finality blockchains (PoS) but can be implemented through peg zones onto blockchains that don’t have this feature (PoW). Typical example of a peg zone is Ethermint, which basically represents a Tendermint-based Ethereum that had its PoW features stripped and operates on top of a PoS consensus (something that projects like Casper have been attempting to implement for years).
About the Tendermint Algorithm
Tendermint, the underlying algorithm of Cosmos, is the first adaptation of Proof-of-Stake consensus derived from the Practical Byzantine Fault Tolerant (PBFT) algorithm introduced by Castro and Liskov in 1999, after a 30 year long research period. BFT-based PoS protocols pseudo-randomly assign a validator the right to propose new blocks during a multi-round voting process.
However, committing and finalizing blocks depends on a supermajority — in this case two thirds of the quorum — of all validators signing off on the proposed block. This may take several rounds, or polkas, before blocks become finalized. BFT systems can only tolerate up to a ⅓ of failures, where failures can include arbitrary or malicious behavior.
Some of the features of this algorithm:
- Provable liveness in partially synchronous network.
- Safety threshold: ⅓ of validators.
- Public/private chain compatible.
- Instant finality: 1–3 seconds depending on number of validators.
- Consensus safety.
Cosmos’s proof of stake algorithm is a delegated one, meaning that it is organized in such a manner where stakers are split into two groups: validators and delegators. Delegators have the task of deciding which validators will get to take a part in the consensus; validators are there to be a part of the consensus, validate transactions and add new blocks to the chain.
The rewards these stakers gain are generally earned in the ATOM token but in future may also be earned in wrapped forms of alternative cryptocurrencies such as Bitcoin and Ethereum. If one of the nodes in this system starts operating in a malicious manner, it gets “slashed” from the network and its tokens are taken away.
Cosmos Network looks to solve scalability, usability and sovereignty limitations of the current blockchain infrastructure. World’s biggest blockchains Bitcoin and Ethereum are a prime example of the scalability problem, with the former being able of processing merely 7 transactions per second and the latter struggling with anything greater than 25.
As for usability, it’s a known fact that developers don’t have much flexibility when creating modern blockchain applications; Cosmos implements a multi-layer structure and the Go programming language to solve this issue. Finally, the sovereignty issue stems from blockchain applications being heavily dependent on the governance of their underlying environment. Cosmos’s layered structure enables each application to have its own blockchain, independent from the main chain. Check out this speech by Gautier Marin-Dagannaud, product engineer at Tendermint, to understand this in more detail.
Token and Tokenomics
Official token of the Cosmos ecosystem is called ATOM. 168 million tokens were sold in a 2017 ICO, during which the project collected $17,300,000 in 28 minutes (thus completing 100% of its initial sale goal). The team held 50 million ATOMs for themselves to be used for funding and strategic partnerships.
The supply won’t be limited as the project plans to introduce a yearly inflatory model. Cosmos ATOM is still not publicly transferable; you might find exchanges trading it but those won’t be actual tokens. Those actually are forward tokens and IOU for Cosmos ATOM. The most active exchange trading these tokens is GDAC.
Actual ATOM tokens can be expected in the following weeks/months (the plan was to release them after the mainnet goes live). The project will also have photons, or tokens that can be used to pay for blockchain fees (similar to Ethereum’s gas).
There is a whole host of foundations and teams behind Cosmos/Tendermint development. The Interchain Foundation (ICF) is a Swiss non-profit foundation that acts as the main support for the development of Cosmos and its ecosystem.
All in Bits Inc. (dba Tendermint Inc.) is a software development company contracted by the ICF to develop the Cosmos Network. Its main developers and co-founders of Cosmos/Tendermint are Jae Kwon and Ethan Buchman.
Finally, IRIS Foundation Ltd. is supported by the ICF to build IRISnet, a Cosmos Hub that facilitates construction of distributed business applications. Overall, the entities that support and develop Tendermint, Cosmos and related technology are knit together quite closely and it can be hard to distinguish what is what and who belongs where.
There’s a whole host of projects that have already started developing on top of Cosmos/Tendermint technology and have decided to become a part of the Cosmos Ecosystem:
- Binance Chain is developed by Binance and its community as the basis for a decentralized exchange. Will be used as a token emitting platform of Binance’s Launchpad project.
- e-Money is a European provider of currency-backed stablecoins. The stablecoins are interest bearing and protected by an insolvency fund, which makes them unique in today’s market.
- IOV is a universal protocol between blockchains and wallet users that is making it possible to send, receive and exchange any cryptocurrency from a single address of value.
- IRISnet is designed to be the foundation for next generation distributed business applications. It is a BPoS blockchain, built with Cosmos-SDK, that enables cross-chain interoperability through a unified service model.
- Kava is an Interledger solutions provider bringing blockchains, wallets, and exchanges the interoperability and liquidity of the Interledger.
- Lino is a decentralized autonomous content economy, allowing content creators to determine its value and incentivize contributors in a more direct and effective manner.
- Loom is a Layer 2 scaling solution for Ethereum that includes a network of DPoS sidechains for highly-scalable games and user-facing DApps. Originally started on Ethereum, it decided to take advantage of Cosmos/Tendermint technology in its further development.
- Playlist is a project aimed at tokenizing the music industry with their PLAY Protocol.
- Regen Network is a global community and platform focused on ecological monitoring and regeneration.
- Sentinel Network is a network layer that enables a true p2p, decentralized Applications & Resources marketplace.
- Terra is a price-stable cryptocurrency designed for mass adoption, building financial infrastructure for the next generation of decentralized applications.
- TruStory is a building a social network for experts to identify what information is true and what isn’t in return for tokens.
Cosmos notes that there are even more projects looking to build on top of their technology; a complete list can be found here.
Cosmos Roadmap and Future
The project is currently in what they call its “Atomic” era, the part of Cosmos development which saw the release of its testnet. The testnet was officially concluded merely days after the Cosmos Hub, the project’s mainnet, was launched. This era will see the project release a working form of the governance, perfect the proof-of-stake algorithm, delegation, and implement the working IBC modules.
Additionally, the project will release a working wallet that will allow you to store ATOMs and make transactions on the Cosmos Hub. Down the line the project will enter a so-called “Galactic” era, which begins with the release of the first production version of the Cosmos Hub and the launch of the first blockchain on the Cosmos Network.
Work will be initiated on the Bitcoin and Ethereum bridges, as well as a native Cosmos DEX.
Overall, Cosmos, Tendermint, and the corresponding ecosystem seem to be very serious about what they are doing. Some naysayers would call the project vaporware as it doesn’t have most of the features it listed in its whitepaper yet; others don’t like its EOS-like consensus centralization that can cause problems down the line.
Still, Cosmos offers an interesting twist on the current blockchain environment and it might not be long before its technology ushers in a new revolution in the space.