With the recent launch of its mainnet, the blockchain platform Cosmos came into the spotlight as a solution seeking to act as a mediator between independent blockchains operating on its decentralized network.
What is ATOM?
Atom (ATOM) (not to be confused with abandoned project Atomic Coin (ATOM)) is the main cryptocurrency existing on top of the Cosmos platform which is designed to facilitate communication, scaling and interoperation between independent chains. Billed as “the Internet of blockchains”, the Cosmos seeks to bring together various blockchains within a single platform and resolve several key issues plaguing this technology from the outset:
Projects launched on the Cosmos Network should make it possible to have their tokens exchanged without too much fuss. The network is organized as a modular solution built for the use with application-specific blockchains of various types. These chains are to be developed more easily, combined with the ability to transfer value from one to another without impinging on their mutual sovereignty.
In addition to this, the Cosmos markets itself as a tool kit of sorts, with its modular and adaptable tools standing at the disposal of the developers who feel ready to start working on the decentralization of the internet and the related financial infrastructure.
How Does Cosmos Plan to Deal with the Scalability?
The Cosmos developers describe the existing Proof-of-Work protocols as slow, pricey, harmful to the environment and lacking in the scalability potential. In the case of Bitcoin, for example, the rise in the number of transactions has arguably led to a pronounced decrease in the performance speed of the entire platform. With Ethereum, decentralized applications built on top of it are described as being limited by the capped amount of transactions which can be processed in a second, as well as by the dApps which have to fight for resources on the blockchain.
Cosmos aims to resolve these issues by utilizing an array of tools at its disposal, such as:
- Tendermint. Tendermint Core is aByzantine Fault Tolerance (BFT) consensus engine which is said to feature a 1 second block time, with the theoretical capability to handle the transaction volume of 10,000 transactions per second for 250byte transactions. By eliminating the Proof-of-Work and optimizing performance around the vertical scalability, the Cosmos developers hope to arrive at the point in which the application itself will become the only scalability bottleneck. Building decentralized applications on top of Tendermint is done by approaching the development as the blockchain application itself. One only needs to determine the transaction types and transition functions that the application in question actually needs, thus improving its performance in the process.
- Cosmos SDK. It is a technological tool set designed to simplify the process of creating secure blockchain applications on top of Tendermint. With it, the developers claim that building a blockchain should be simplified to the degree that the whole process should not be harder than coding several modules.
- Inter-Blockchain Communication Protocol (IBC). Paired with Tendermint, the IBC enables heterogeneous chains to exchange value (such as tokens) as well as data among themselves. By having several chain architectures run the same applications and a common validator set, the blockchains are supposed to achieve infinite theoretical scalability which the Cosmos team describes as the “horizontal” one.
How Can Cosmos Improve On Blockchain Interoperability?
The lack of interoperability between blockchains is yet another obstacle which Cosmos attempts to bypass. The core issue is described as being based on the fact that blockchain-based economies are siloed i.e. isolated from one another, and, as such, are incapable of transferring assets among themselves.
The Cosmos platform aims to resolve this with its IBC protocol. This technology also functions as a messaging protocol for blockchains, vaguely resembling what is found in the TCP/IP solutions.
Usability and Sovereignty of Blockchains
Blockchain usability and sovereignty are additional weak points which are targeted by Cosmos. Popular platforms such as Ethereum Virtual Machine function as sandbox solutions, forcing the developers to try to optimize their applications for the majority of potential use cases, instead of focusing on a single problem.
With its SDK, the Cosmos platform aims to offer a developer-friendly and customizable solution for blockchain building in which the design compromises would be limited to a minimum.
Even when the applications are built, they sometimes need to limit their sovereignty based on the fact that they share a common underlying framework. Cosmos’ IBC protocol is supposed to allow the blockchains with various applications and validator sets to still engage in asset and data transfer among themselves, including transfers between private and public blockchains.
Cosmos: A Hive of Hubs and Zones
In order to tackle these challenges and work towards its “internet of blockchains” goal, the Cosmos’ network architecture had to be organized into two main components:
- Zones, which function as independent blockchains
- Hubs, which act as central linking blockchains
Based on this type of organization, hubs assume the role of the centralized ledgers for each independent chain on the Cosmos network. Tokens held on hubs can also be swapped with the help of hubs. The Cosmos hub itself is the Proof-of-Stake (POS) blockchain running on the Tendermint algorithm. It serves as the main linchpin of the network, holding together the unrelated blockchains under one umbrella and preventing them from descending into a chaotic mode of operation. A key role here is played by the hub which is supposed to promote interactions between chains with the help of the IBC.
How Do Hubs Operate?
Support for the activities such as token exchange may present itself as a challenge when it comes to ensuring that token sources are trusted just as well as the validators. As the tokens are moved between various chains, each time the chain receives a new token, it has to trust all preceding validator sets.
The Cosmos platform hopes to bypass this issue based on the fact that its hubs link the appropriate zones with them instead of supporting the direct connection between the zones themselves. Once the connections are limited to other hubs only, the exposure to double spending or unfreezing of tokens should be reduced. Thus, the hubs act as the main sources of “trust” among the chains, instead of forcing them to account for trusting each other directly or do the same for the chains the tokens pass through during their transfer.
The central role played by the hub puts its security at the forefront of the efforts undertaken by the Cosmos developers. Its security is managed by a decentralized validator group operating at a global scale.
The decentralized nature of the hub architecture is expected to draw open source developers to this technology. In addition to the Cosmos hub itself, there are already some secondary hub projects underway. One of these projects is the China-based IRIS network which was launched in March 2019 with the goal to eventually link various business services and individual chains with the Cosmos network.
How Does Tendermint Work?
Zones making up the Cosmos network still need a robust underlying system capable of delivering consistent performance, security and accountability of all participants. These tasks fell on the Tendermint platform, particularly the two of its main components:
- Tendermint Core makes sure that the same transactions are recorded in the same sequence on each machine they run on. It functions as the protocol which comprises a consensus algorithm and peer-to-peer networking protocol. Transactions are propagated between nodes with the help of the gossip protocol. Peer discovery and gossip protocols and are secured with the help of the Tendermint's encryption system.
- The second component of the Tendermint system is its application interface called the Application Blockchain Interface (ABCI). It also ensures that the transactions can be processed in any programming language.
The key aspect of its implementation on the Cosmos platform is that it brings together two of three main layers of the generic blockchain architecture - the consensus and networking layers. Based on this, the developers can focus on defining the application layer only, thus saving themselves much coding time which could be used for the development instead.
Tendermint opts for the modular architecture instead of a monolithic one, which is supposed to deliver instant finality, better security and performance.
How Do ABCI and Cosmos SDK Work Together?
Once created, the applications are supposed to link with the Tendermint Core via the ABCI protocol which also supports communications between the resident app and the Core itself. The ABCI provides three types of connections for the Tendermint Core:
- Mempool connection verifies if the transactions need to be relayed before they are committed.
- Consensus connection helps with the management of transactions which have been committed.
- Query connection assists the platform in querying the application state.
Running on the ABCI framework, the Cosmos Software Development Kit is supposed to make life easier for the developers focused on creating application-specific blockchains. This is done by making the building of the ABCI for blockchains easier with the help of a unified framework. The SDK features a modular structure which is divided into layers existing on top of the ABCI and packed full of tools aimed for the use by the developers.
IBC and Peg Zones
Since one of the main tasks of the Cosmos ecosystem is to ensure interoperability, this needs to be ensured for both the Tendermint-based chains as well as for those which do not run on it. The fast-finality chains can connect with Cosmos by adapting the IBC. At the same time, the probabilistic-finality chains such as those using the Proof-of-Work, also need to be supported. For them, the Cosmos developers implemented a special type of proxy-chain called a Peg Zone.
The Peg Zone is a blockchain tasked with tracking the state of another blockchain. Since the customizable Peg Zone itself supports fast-finality, it is already compatible with the IBC and it establishes finality for the blockchain which is being bridged with the Cosmos. With the help of the Peg Zone, for example, the user can use any token on the Cosmos and have it sent to the Ethereum chain.
At the same time, the IBC Protocol serves to connect various zones and hubs in the network, as well as to support the exchange of value between the chains which are not homogenous. This means that the IBC should allow for establishing links between the chains with unique layer architecture, independent governance models and software frameworks (such as those being built on Tendermint). The ability to support streamlined token exchange among the users should make the Cosmos a potential solution for the decentralized exchanges.
In any case, the token transfer process would go along the following lines:
- Sally wants to send 50 tokens from chain A to chain B.
- Her tokens on chain A are locked and the proof is forwarded to chain B.
- Chain B checks if more than two-thirds of the validators on chain A have signed the proof to confirm the locked amount of tokens on the original chain.
- After the proof has been validated, Sally’s 50 tokens will be made available on chain B.
Tokens on the Cosmos Network
The Cosmos network has implemented two tokens:
- ATOM is the staking coin that is mainly used for governance. By staking ATOM, the zone validators can join the hubs, with an option to have their stake reduced by misbehaving in their zones.
- Photons are the coins used for the payment of the transaction fees within the Cosmos platform ecosystem. As the zones can use their own tokens, the validators in the hubs can have their transaction fees paid in any token combination. Two percent of the fees are earmarked for the reserve pool, while the rest goes to the validators based on the size of their stake.
The initial coin offering (ICO) for the Cosmos was held in April 2017, ending up with more than USD 17 million collected as part of the fundraising effort. The total supply of ATOM is capped at 236 million ATOM. After the launch of the Cosmos mainnet on March 13, ATOM found itself being added to various cryptocurrency exchanges.
Cosmos Platform History
Considering the importance of the Tendermint Core for the Cosmos platform, it is no wonder that many of the team members behind this technology are the same professionals who went on to design Cosmos. They work at All in Bits for-profit company whose efforts at developing the Cosmos platform are helped by the Interchain Foundation (ICF) whose work revolves on promoting the blockchain interoperability.