Skip to content
Gallery
Blockchain One Pager
Share
Explore
Ethereum killer

icon picker
Cosmos

image.png

What Cosmos is in three concise points:
Cosmos makes blockchains powerful and easy to develop with Tendermint BFT and the modularity of the Cosmos SDK.
Cosmos enables blockchains to transfer value with each other through IBC and Peg-Zones, while letting them retain their sovereignty.
Cosmos allows blockchain applications to scale to millions of users through horizontal and vertical scalability solutions.
Cosmos is an ecosystem built on a set of modular, adaptable and interchangeable tools.

Blockchain 3.0

The vision of Cosmos is to make it easy for developers to build blockchains and break the barriers between blockchains by allowing them to transact with each other. The end goal is to create an Internet of Blockchains, a network of blockchains able to communicate with each other in a decentralized way. With Cosmos, blockchains can maintain sovereignty, process transactions quickly and communicate with other blockchains in the ecosystem, making it optimal for a variety of use cases.
This vision is achieved through a set of open source tools like Tendermint, the Cosmos SDK and IBC designed to let people build custom, secure, scalable and interoperable blockchain applications quickly.

Difficulties for developers:

Building a blockchain required building all three layers (Networking, Consensus, and Application) from the ground up.
Ethereum simplified the development of decentralized applications by providing a Virtual-Machine blockchain on which anyone could deploy custom logic in the form of Smart Contracts.

Tendermint BFT

Tendermint BFT is a solution that packages the networking and consensus layers of a blockchain into a generic engine, allowing developers to focus on application development as opposed to the complex underlying protocol.
As a result, Tendermint saves hundreds of hours of development time.
The is connected to the application by a socket protocol called the (ABCI).
This protocol can be wrapped in any programming language, making it possible for developers to choose a language that fits their needs.

Advantanges of BFT

Public or private blockchain ready: Developers can therefore build both public and private blockchains on top of the Tendermint BFT engine
High Performance: 1000+ tps
Instant finality: Users can be sure their transactions are finalized as soon as a block is created
Security:

Tendermint BFT: Reduces the development time of a blockchain from years to weeks
Cosmos SDK: Building a secure ABCI-app from scratch remains a difficult task
Modularity: Anyone can create a module for the Cosmos SDK, and using ready built modules. As the Cosmos network develops, the ecosystem of SDK modules will expand.
Capabilities-based security: Capabilities constrain the security boundaries between modules
Cosmos SDK allows developers to build on top of Tendermint BFT

Ethermint

Ethermint works exactly like Ethereum but also benefits from all the properties of Tendermint BFT.
Develop entire application-specific blockchains by Cosmos SDK give more flexibility, security, performance and sovereignty. If you don’t want to build your own blockchain, you can still make your Smart Contracts compatible with Cosmos by deploying them on Ethermint.

Connecting Blockchains Together - IBC

IBC leverages the instant finality property of Tendermint consensus (although it can work with any “fast-finality” blockchain engine) to allow heterogeneous chains to transfer value (i.e. tokens) or data to each other.

Heterogeneous chains

Inter-Blockchain Communication protocol (IBC) is a protocol that allows two heterogeneous blockchains to transfer tokens to each other. IBC allows heterogeneous blockchains to transfer tokens and data to each other, meaning that blockchains with different applications and validator sets are interoperable.
Different layers: Heterogeneous chains have different layers, meaning they can differ in how they implement the networking, consensus and application parts. To be compatible with IBC, the consensus layer must have fast finality.
PoW chains (like Bitcoin and Ethereum) have probabilistic finality, not fast finality.
Probabilistic finality refers to the type of finality provided by chain-based protocols (eg. Bitcoin’s Nakamoto consensus), in which the probability that a transaction will not be reverted increases as the block which contains that transaction sinks deeper into the chain. Ex: Wait until a transaction is 6 blocks deep into the Bitcoin blockchain, to ensure that there is a very low likelihood of that transaction being reverted.
Sovereignty: Every blockchain is maintained by a set of validators whose job is to agree on the next block to commit to the blockchain. In Proof-of-Work blockchains these validators are called miners. A sovereign blockchain is a blockchain with its own validator set. In many instances it is important for blockchains to be sovereign, as validators are ultimately responsible for modifying the state. In Ethereum, applications are all run by a common set of validators. Because of this, each application only has limited sovereignty

Problem

The main problem with this approach is that the number of connections in the network grows quadratically with the number of blockchains.
If there are 100 blockchains in the network and each needs to maintain an IBC connection with every other, that is 4950 connections.
image.png

Solution

Modular architecture: Zone & Hub
When a Zone creates an IBC connection with a Hub, it can automatically access every other Zone that is connected to it.
Zone1 — Hub —Zone2 — Hub —Zone3...
The first Hub is the Cosmos Hub, which is PoS, Token is ATOM

Fast-finality chains

Blockchains that use any fast-finality consensus algorithms can connect with Cosmos by adapting IBC. For example, if Ethereum were to switch to Casper FFG (Friendly Finality Gadget), a direct connection could be established between it and the Cosmos Ecosystem by adapting IBC to work with Casper.

Probabilistic-finality chains

For blockchains that do not have fast-finality, like PoW chains, we use a special kind of proxy-chain called a Peg-Zone.
A is a blockchain that tracks the state of another blockchain. The Peg-Zone itself has fast-finality and is therefore compatible with IBC. Its role is to establish finality for the blockchain it bridges. Let us look at the following example.
image.png

Example: Ethereum Peg-Zone

We want to bridge the PoW Ethereum blockchain to send between Ethereum and Cosmos. Because PoW Ethereum does not have fast-finality, we need to create a Peg-Zone to act as a bridge between the two.
First, the Peg-Zone needs to decide on a finality threshold for the origin chain. For example, it can consider that a given block of the origin’s chain is final when 100 blocks have been added after it.
Second, a contract is deployed on the main Ethereum blockchain. When users want to send tokens from Ethereum to Cosmos, they start by sending tokens to this contract. Then the contract freezes the assets and after 100 blocks, a representation of these assets is released on the Peg-Zone. A similar mechanism is used to send assets back to the Ethereum chain.

Solving Scalability

Vertical scalability【main】: No Proof-of-Work, Tendermint BFT can reach thousands tps. ut application part might impose a lower limit.
Horizontal scalability: Even we optimize consensus & application, sometimes the transaction cannot surpass. That is the limit of vertical scaling. The solution is to move to multi-chain architectures. The idea is to have multiple parallel chains running the same application and operated by a common validator set, making blockchains theoretically infinitely scalable.
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.