Guide to the Cosmos: the Tendermint-based Blockchain ecosystem

[ad_2][ad_1]

Cosmos is an upcoming modular framework and a Tendermint-based blockchain platform designed as an application-specific blockchain ecosystem to be connected. Cosmos is designed around the concept of standardization of communication between various blockchains that are part of its wider ecosystem to facilitate interoperability.

The project is undoubtedly ambitious and the mainnet should be published as of 2019. Tendermint is unique in that it functions as a multi-chain structure for other blockchains, while using its own consensus – Proof-of-Stake (PoS) – based on the core of Tendermint.

Cosmos

Scalability and interoperability are two of the most consequential developments for the largest sphere of cryptocurrency, and Cosmos addresses them both. However, the bootstrapping of an innovative and production-ready PoS network with some sophisticated nuances is exceptionally difficult, especially considering that large-scale PoS consensus networks have not yet been proven to be sustainable.

Background on the cosmos

The development of Cosmos is supported by the Interchain Foundation based in Switzerland, with Cosmos as the first project. Many of the developers working on Cosmos come from the company behind the block block engine Tendermint, All in Bits. In particular, Jae Kwon – who initially proposed Tendermint in 2014 – is one of the main developers and is a member of the Board of Directors of the Interchain Foundation.

Cosmos has raised about $ 16.8 million in its ICO which ended in April 2017. Since then, the project has undergone a process of methodical development. The Game of Stakes (GoS) testnet is ready to be published shortly, followed by a check of the recently released SDK and possible launch on the mainnet. Further details are available on their timetable.

Technical details

Cosmos is a modular framework for parallel blockchains to be connected to the primary hub called Cosmos Hub. The Cosmos hub is the first blockchain inside the network and works as a means of connection between the various areas of the system. The zones consist of both public and private blockchains, all interconnected via the IBC (Inter-Blockchain Communication) protocol.



Image Credit – Cosmos Blog

Cosmos is built on the Tendermint engine, which is composed of two main parts:

  1. Tendermint Core – BFT Proof of the Stake Consensus Engine
  2. Application BlockChain Interface (ABCI) – BTS Replication of dapps in multiple programming languages.

The core of Tendermint is at the basis of the consensus of the Cosmos hub and, subsequently, of the wider network for the management of a standardized token exchange between the zones. It is important to note that the blockchains connected to Cosmos maintain their sovereignty of consent and do not renounce the broad consensus of Cosmos PoS.

What is Tendermint

Read: what is Tendermint?

The ABCI is language independent and allows developers to create the application part of their blockchain in any language, and will run on top of the Tendermint consent engine. The ABCI is a vital border between the consent engine of Tendermint and the Cosmos SDK for building applications. The SDK is a layered framework based on the low-level existence of ABCI to enable developers to create advanced applications without the need to explore the logical complexities of the low-level environment.

Cosmos defines the three conceptual levels of a blockchain as:

  1. Networking – Propagation of transactions (eg, gossip protocol)
  2. Consent – Agreement on the transaction validation node
  3. Application – Update of transaction status and processing of transactions

Tendermint combines network and consensus levels to allow developers to create blockchains and run applications much more easily on a generic engine. This is one of the key concepts of Cosmos that allows it to function as an environment to block blockchain in parallel. Developers must focus only on the level of application.

The ABCI is the interface between the core of packaged Tendermint (network and consensus levels) and the level of application. It is important to note that the ABCI uses a socket protocol to allow the consent engine to manage the status of the application running in another consent process. According to the Cosmos documentation:

"Cosmos can therefore support a wide variety of currencies and scripting languages ​​such as those found in Bitcoin, Ethereum, ZeroCash, CryptoNote and more."

The underlying Tendermint core is highly flexible and compatible with both public and private blockchains. In addition, developers can enjoy the almost instant finiteness and high performance of Tendermint, which is designed to scale.

The IBC is the communication protocol standardized through the network. Standardization is powerful and enables interoperability and advanced scalability (for example, Internet protocols). The IBC is a set of semantics for messaging between blockchain with independent consent algorithms. According to the Cosmos SDK Github repository:

"The IBC core protocol is independent of payload.In addition to IBC, developers can implement the semantics of a particular application, allowing users to transfer valuable resources between different blockchains while preserving the contractual guarantees of the asset in question – such as scarcity and fungibility for a currency or global uniqueness for a digital cat-cat. "

IBC requires blockchain with fast finality – such as PoS blockchains – to be natively supported between link blockchains. However, the IBC can be implemented with a peg-zone blockchain that has a slower consensus – such as PoW – described with Ethermint below. Further details on the IBC are available in its specification document.

The IBC is natively supported by the Tendermint-based zones and facilitates a standardized format for token transfers across the network, including several blockchains. This is similar to a universal atomic exchange protocol within the network. It is important to distinguish that the IBC is only natively supported by Tendermint-based blockchains along with those that have fast-resolution consent algorithms, including PoS variants.

Ethermint is written in Go and will be the first pegging area that is an implementation of the Ethereum Virtual Machine (EVM) on top of the Tendermint engine. Cosmos allows this by taking advantage of the ABTID of the Tendermint protocol that allows the execution of applications in any language on the Tendermint engine. In this case, they replicated the Ethereum code base and made Cosmos fully compatible with the Ethereum Web3 interface. Developers can even use Truffle to port smart applications and contracts directly to Cosmos.

Building applications on a blockchain is a difficult task. The application frameworks provide the resources and tools necessary to facilitate a better development experience and that is why Cosmos has recently launched its own SDK.

The Cosmos SDK

The Cosmos SDK is an ABCI framework written in Golang and is designed to support the development of multi-asset PoS blockchain, Proof-of-Authority blockchain (PoA) and applications on them.

The main purpose of the SDK is to reduce the complexity of creating the ABCI for the common blockchain functionality and to allow developers to focus on customizable applications within a standardized framework. The modular structure of the SDK is superimposed on the low-level ABCI and offers developers a suite of tools and resources. It was created for Gaia, the first implementation of the Cosmos Hub and the launch of the mainnet will follow an SDK code audit and the completion of the Game of Stakes PoS testnet.

Image Credit – Cosmos Blog

The SDK is built using the principles of object functionality for optimal protection against potentially harmful third-party modules that developers use when creating their modules as part of the open SDK framework. Cosmos provides extensive resources on its SDK in SDK documentation for developers looking to gain an edge in building applications on the platform once it is active.

Lotion JS is the alternative Cosmos SDK framework that is integrated into JavaScript and allows you to create blockchain app in the language. It is much smaller than the SDK framework and is designed as a basis for focused modules to build on.

The future of interoperability

Interoperability with blockchains is the natural next step for industry after scalability. However, projects such as Cosmos that are built to scale from launch to interoperable frameworks offer some intriguing insights into how a future view of interoperable blockchains might look.

Determining how Cosmos will take place is extremely difficult, especially considering its dependence on the PoS consensus and the pending results from its Game of Stakes testnet. The PoS is notoriously difficult to reason and is prepared for a subjective interpretation of immutability.

The timeline for the launch of Cosmos on the mainnet is uncertain, but together with Polkadot – a similar multi-chain structure – it could provide a useful measure in the mechanics of standardized communication and token exchanges between blockchains. If successful, Cosmos will offer a completely new environment for developers and users to start and interact with scalable and decentralized applications.

[ad_2]Source link