An introduction to Cosmos

Satria Pamudji
13 min readJun 21, 2022

--

Touted as the “Internet of Blockchains”, Cosmos is a novel idea that solves an issue we are familiar with: silo-ed blockchains that are not interoperable with one another.

Cosmos aims to solve this issue by creating a network of blockchains that are united by open-source tools, which streamline transactions between the various blockchains.

You can think of Cosmos as the whole shopping mall, while the other blockchains such as Ethereum, Binance Smart Chain, Solana, and more are considered to be like the shops inside of that shopping mall.

In this article, we aim to get a good understanding —with regards to the history, team, and technology — of the Cosmos ecosystem.

This article was written by our Cosmos Captain, Satria. Join our Discord to get direct access to our latest and greatest insights.

Brief History of Cosmos

In 2014, Jae Kwon was the first person who applied Byzantine Fault Tolerance (BFT) research in a “Proof of Stake” (PoS) public blockchain context and went on to create Tendermint Inc (also known as All Bits Inc) to develop Tendermint BFT.

To put it in context, Tendermint BFT is the most advanced implementation of the BFT consensus algorithm and Proof-of-Stake (PoS) crypto-economics to date and was launched to address the speed, scalability, and environmental issues associated with Bitcoin and Ethereum’s “Proof of Work” (PoW).

He then met Ethan Buchman during the next few years to further develop Tendermint; adding support for implementing EVM on top of Tendermint (Ethermint 1.0) and making Tendermint pluggable with applications written in any language with the Application Blockchain Interface (ABCI).

In 2016, the Tendermint co-founders published the Cosmos whitepaper, and got contracted by the Interchain Foundation (more on that later) to make Cosmos a reality, and eventually launched the Cosmos Hub in 2019.

Team and Organization

The origins of Cosmos were started by both Jae Kwon and Ethan Buchman. Thereafter, the Cosmos Network team grew to consist of members from the Interchain Foundation (ICF), and Ignite.

Interchain Foundation

The Interchain Foundation (ICF) is a Swiss non-profit foundation that was formed to support the development of Cosmos and the ecosystem that will contribute to the Cosmos Network.

Source: https://interchain.io/about

Ignite (formerly known as All in Bits Inc — dba Tendermint Inc)

Tendermint Inc is a software development company that was initially contracted by the ICF to develop the Cosmos Network. They have since rebranded themselves as Ignite, and have recently gone on to form 2 independent entities: Ignite Inc and NewTendermint Inc.

Ignite Inc is led by CEO Peng Zhong and is focused on accelerating the world’s transition to a decentralized future. They do this by developing solutions for global communities to easily build innovative ideas and for people to use decentralized services in their everyday lives.

Ignite Inc’s Leadership: https://ignite.com/leadership

NewTendermint Inc is led by the former co-founder of the original Tendermint, CEO Jae Kwon. They are focused on contributing to the core technology of the Cosmos ecosystem such as Kwon’s existing project, gno.land, a smart contracting platform for wide-scale developer adoption, Tendermint2, and Cosmos SDK.

Technology

Tendermint

Cosmos leverages various open-source tools to create a network of blockchains. For a start, let’s explore Tendermint, then we will move on to other tools. Strap on, because it’s going to be fun!

To fully understand Tendermint, there are 3 blockchain layers we need to explore first so that we can see the innovation in Tendermint.

  1. Application Layer: The layer which allows your code to create some type of functionality on top of the other layers.
  2. Networking Layer: The layer which broadcasts transactions and consensus-related messages.
  3. Consensus Layer: The layer which allows nodes (also known as computers) to agree on the current state of the system.

Before Tendermint, the issue when creating a blockchain of your own is that you have to create all of the said layers from the ground up.

While we’ve had breakthroughs with innovation, such as the Ethereum Virtual Machine (EVM) which allows anyone to customize and deploy smart contracts on a blockchain, the tech stacks from legacy blockchain systems — such as Bitcoin and Ethereum — makes the other blockchain layers, apart from the Application Layer, still hard to customize and a tedious process.

This is where Tendermint comes in.

Tendermint aims to combine both the consensus and networking layer of any blockchain as a generic engine, upon which applications can be built.

With Tendermint, it makes it practical for developers to create their own blockchain as they now only have to focus on the Application Layer of a blockchain.

This also gives them the capability to create either a private or public blockchain — as Tendermint only handles the networking and consensus layers, which propagates transactions and allows validators to agree on a set of transactions to append to the blockchain, while the application layer is the one that defines how the validator set is constituted — and freedom in choosing the programming language they want to build their application on, as Tendermint’s core engine (Tendermint Core) is connected to the applications by a socket protocol called the Application Blockchain Interface (ABCI), which can be wrapped in any language, thus saving them a lot of time from development work.

One cool thing to note here as well: Because ABCI is modular, you can port existing blockchain codebases — such as the Ethereum Virtual Machine (EVM) codebases — plug them on top of Tendermint (like EVMOS/Ethermint), and have compatibility with existing Ethereum tools like Metamask or Truffle, while benefiting from all of the properties of Tendermint (more on that below) without having to rewrite the smart contracts.

But that’s not all.

Apart from just practicality for developers, Tendermint is also high performing as it can have a block time on the order of 1 second, handle thousands of transactions per second, has instant finality, and is Byzantine-Fault tolerant.

Cosmos SDK

Tendermint drastically reduces the time needed to develop blockchains. But how can we cut the time required for development even further?

Well, meet the Cosmos Software Development Kit (Cosmos SDK).

Cosmos SDK is a modular framework for building secure blockchain applications, and developers can use ready-built modules to build their own blockchains without having to deal with the complexities of coding common functionalities (eg. Staking, Governance).

As time goes on, more plug-ins will be added by developers who want to add additional features, thus expanding the SDK and making it easier to build more complex blockchains in the future.

Inter-Blockchain Communication (IBC)

So now we know what Tendermint is and finally understood that it helps developers easily create highly-performant blockchains without having to worry about the networking or consensus layers, and have ready-built modules to make it even easier for them.

Now, would it be possible to connect 2 blockchains together?

Yes, and your answer would be through the Inter-Blockchain Communication Protocol (in short, IBC). Although the blockchains built on top of Tendermint all have different application layers, remember that the underlying technology (Tendermint) shares the same networking and consensus layers, thus making it easy to connect them with each other.

IBC leverages the instant finality property of Tendermint to allow heterogeneous chains — which essentially means (in context with Tendermint), if they have instant finality, and are a sovereign blockchain (a blockchain with its own validator set), it’s heterogeneous — to exchange value with each other.

The concept behind this is pretty simple. But of course, technically it’s much deeper than this — if you want to read up more about the architecture, you can look here: IBC Architecture — but for the purpose of this introductory article, I won’t be going in-depth about IBC/TAO and IBC/APP, but rather just put the overarching technology as “IBC” as seen above.

Let’s say an account on chain A wants to send 50 X tokens to chain B.

  1. 50 X tokens are locked on chain A.
  2. The proof that 50 X tokens are locked on chain A is then relayed from chain A to chain B, and chain B tracks the validator set of chain A.
  3. If proof is signed by more than 2/3rd of chain A’s validators, this proof is considered valid.
  4. 50 X tokens are then created on chain B.
  5. For unlocking tokens and reversing the transaction (ie. Sending tokens back to Chain A from Chain B), a similar mechanism is used.

One last thing to note here is that the tokens created on Chain B are not actually the real “X token” — as “X token” only exists on Chain A — but rather a representation on Chain B of the “X token” from Chain A, along with a proof that these tokens are frozen on Chain A.

Peg-Zone

Cool. Now we know that developers are loving Tendermint because it’s able to transfer value and connect to other Tendermint-based chains.

But what about non-Tendermint blockchains?

For non-Tendermint blockchains with fast-finality consensus algorithms, they can connect with Cosmos by adapting IBC.

But for non-Tendermint blockchains with probabilistic-finality consensus algorithms — such as Proof-of-Work blockchains like Bitcoin or Ethereum — you cannot adapt IBC (remember, IBC makes use of Tendermint’s ability of instant-finality), thus making it tricky.

This is where a proxy chain called the Peg-Zone — a blockchain that tracks the state of another blockchain — comes in.

How does the Peg-Zone work?

Let’s consider this scenario: You want to bridge “Token X” from Proof-of-Work (PoW) Ethereum to Cosmos, and vice versa. Because PoW Ethereum does not have fast-finality, you need a Peg-Zone to bridge it.

  1. The Peg-Zone needs to decide on a finality threshold for the original chain. For this example, we will consider the state to be final after 100 blocks.
  2. On the main Ethereum blockchain, a contract is deployed and this specific contract is tracked by the Peg-Zone.
  3. When a user sends “Token X” from Ethereum to Cosmos, “Token X” will be sent to this contract first, and the contract freezes the asset.
  4. 100 blocks later, a representation of “Token X” will then be released on the Peg-Zone.
  5. To send the tokens back to Ethereum, a similar mechanism is used.

With the Peg-Zone, you are also able to send tokens that are on Cosmos to Ethereum as well, with the Cosmos tokens being represented as ERC20 on Ethereum. Currently, an implementation of this example is live with Gravity Bridge (formerly known as ETGate or Peggy), built by the Tendermint team.

One thing to note here is that Peg-Zones are not easy to implement because it’s not modular, and you need to customize them for the particular chain you want to bridge back and forth to.

Cosmos Zones & Hubs

Now let’s bring all of the components together to create a network of blockchains. What would be the best way to do it?

Connect each blockchain in the network & Peg-Zones with every other blockchain via IBC?

Sure, that might work, but the number of connections would grow exponentially with the number of blockchains.

If you only have 2 blockchains, you’d have 2 connections. But if you have 100 blockchains, you’ll end up with 4950 connections, and it gets out of hand really quickly.

Ok, so let’s not connect them to every other chain, but to each other?

Well, the problem here would be the level of “trust” required between blockchains would grow exponentially and the risk of blockchains double-spending increases. If you transfer a token from Chain A to Chain B, there’s only one level of trust required as Chain B only has to trust the validator set of the origin chain to not double-spend it or unfreeze the tokens.

As the number of chains relaying the token grows, the number of chains the receiver needs to trust grows as well, thus making it impractical.

Oh, I know — Cosmos Zones & Hubs fix this right?

Yes ser. That’s why I’m writing about this!

To fix this problem of unsustainable & exponential amount of connection and trust required between blockchains while trying to connect them with one another, Cosmos proposes a modular architecture with two classes of blockchains.

  1. Zones: Zones are regular heterogeneous blockchains.
  2. Hubs: Hubs are blockchains specifically used to connect zones together.

In essence, when a Zone connects to a Hub, it can send tokens and receive tokens from every Zone while establishing a limited number of connections with a restricted set of Hubs. So when a Zone receives a token from a Hub, it just needs to trust the origin Zone of the token and the Hub.

There’s more to this, and if you want to learn in-depth regarding how transfers work from one zone in one hub to another zone in another hub — and others like learning how the architecture prevents other hubs/zones from double-spending because Hubs don’t track the state of other blockchains — you can consider giving this article a read: Cosmos Zones & Hubs In-Depth Analysis.

Ecosystem

Now that we’ve covered pretty much everything you need to know about Cosmos such as the technology used and the team, let’s talk about the Cosmos ecosystem.

Cosmos Hub ($ATOM)

The Cosmos Hub is the first Hub in the Cosmos Ecosystem and is a PoS blockchain that is built with Tendermint (… since it’s a Hub).

ATOM is the native token of Cosmos & Cosmos Hub, and as of writing, ATOM is currently ranked 32 with a Market Cap of $1.86B, a circulating supply of 292.5M, and an undefined max supply.

Data sourced from Coingecko

In regards to the functionality of ATOM, these are the things you can do with your ATOM tokens for now.

(1) Secure the Cosmos Hub: Securing the Cosmos Hub — more commonly known as staking — works in two ways. Currently, ATOM has an inflation/block reward rate of around 7 to 20%.

(a) You can be a validator by running a full node that validates transactions on the network, in return for block rewards and transaction fees. The requirements for becoming a validator include having near-perfect uptime, a minimum ATOM balance to make you one of the top 125 ATOM holders, and the availability of high bandwidth. See here for more info: Validator FAQs.

(b) You can stake your ATOM as a delegator by entrusting your ATOMs to a validator who validates transactions for you. Since you don’t need to run a full node to delegate, you will earn a lower ROI. Thus, it’s much easier to delegate than to become a validator yourself. See here for more info: Delegator FAQs.

(2) Participate in On-Chain Governance: By staking your ATOMs, you get the right to vote on proposals and make decisions with regard to the future of the network. See here for more info: Governance FAQs.

(3) Stakedrops: New chains that are building with the Cosmos SDK have incentives to stakedrop to ATOM holders, thus providing stability to the new chain. Past examples of stakedrops include OSMO, JUNO, SifChain, and more.

For a more in-depth review of the functionalities of the ATOM tokenomics & future value accrual, check out this article: In-Depth ATOM Functionality.

Other Projects on Cosmos

In our next article, we will explore the other blockchains and then projects that are part of the Cosmos ecosystem. Currently, there are about 48 blockchains connected to IBC, with more than 250+ projects on Cosmos.

Overview of the blockchains built on Cosmos: Map of Zones

So far, the IBC itself has transacted a total volume of 36M in the last 24 hours (as of writing), and it is expected to grow more in the coming years.

Flagship Perspective

Cosmos definitely tackles a huge issue in the blockchain space — which is the issue of interoperability — by creating the “Internet of Blockchains”.

Thanks to its design, Cosmos is able to provide developers a set of tools that makes any blockchains built on Tendermint customizable and high performant. And with IBC, they are then able to share value across any blockchains without having to rewrite any code.

However, one concern around its native token, ATOM, is that it does not accrue value and while this is true for now — based on the fact that you can only stake, participate in on-chain governance and stakedrops — the future roadmap boasts of Interchain Security and more compatibility with other chains such as ETH, and maybe one day Bitcoin through the Gravity Bridge.

Overall, we think that Cosmos is definitely an ecosystem to look out for, and something that should be viewed as a long-term innovation.

About Flagship

Flagship is an easy-to-use DeFi platform. We provide you access to early investment opportunities across emerging crypto sectors through our cross-chain ecosystem of decentralized funds and a network of experts.

  • Join our Discord to be part of our active community and discover new assets and opportunities
  • Check out our website and whitepaper here
  • Get in touch with the team

We’d love to have you onboard!

--

--

Satria Pamudji
Satria Pamudji

Written by Satria Pamudji

(e/acc) | Helping you to go from 0 to 80 real quick by leveraging emerging technologies.

No responses yet