26 Oct 2022
An Introduction to Cosmos
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. But what is it exactly?
Cosmos, dubbed the "Internet of Blockchains," is a cutting-edge concept that addresses the problem of siloed blockchains that are incompatible with one another.
By building a network of blockchains connected by open-source tools that speed up transactions between the various blockchains, Cosmos attempts to address this problem.
The other blockchains, including Ethereum, Binance Smart Chain, Solana, and more, can be compared to the stores found inside the shopping mall, with Cosmos serving as the entire complex.
We hope to gain a thorough grasp of the Cosmos ecosystem in this piece, including its background, leadership, and technological foundations.
Byzantine Fault Tolerance (BFT) research was initially utilized in a "Proof of Stake" (PoS) public blockchain environment by Jae Kwon in 2014. He later founded Tendermint Inc. (also known as All Bits Inc.) to develop Tendermint BFT.
To put things in perspective, Tendermint BFT was created to address the speed, scalability, and environmental problems related to Bitcoin and Ethereum's "Proof of Work" systems. It is the most advanced implementation of the BFT consensus algorithm and Proof-of-Stake (PoS) crypto-economics to date (PoW).
He later met Ethan Buchman, who helped him create Tendermint during the ensuing years. Tendermint was made pluggable with apps written in any language using the Application Blockchain Interface (ABCI), and support for developing EVM on top of Tendermint was added (Ethermint 1.0).
The co-founders of Tendermint released the Cosmos whitepaper in 2016, and the Interchain Foundation hired them to develop Cosmos (more on that later). In 2019, they unveiled the Cosmos Hub.
Jae Kwon and Ethan Buchman both played key roles in the development of Cosmos. After that, members of the Interchain Foundation (ICF) and Ignite joined the Cosmos Network team.
The Interchain Foundation (ICF), a nonprofit organization based in Switzerland, was established to aid in the growth of Cosmos and the ecosystem that would support the Cosmos Network.
The ICF first hired Tendermint Inc, a software development firm, to create the Cosmos Network. They later changed their name to Ignite, and most recently, they established Ignite Inc. and NewTendermint Inc. as separate businesses.
Peng Zhong, the CEO of Ignite Inc, is committed to hastening the global shift to a decentralized future. They achieve this by creating tools that enable consumers to use decentralized services in their daily lives and enable global communities to effortlessly create innovative ideas.
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.
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.
- Application Layer: The layer which allows your code to create some type of functionality on top of the other layers.
- Networking Layer: The layer which broadcasts transactions and consensus-related messages.
- 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.
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.
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.
Cosmos' 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.
- 50 X tokens are locked on chain A.
- 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.
- If proof is signed by more than 2/3rd of chain A’s validators, this proof is considered valid.
- 50 X tokens are then created on chain B.
- 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.
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.
- 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.
- On the main Ethereum blockchain, a contract is deployed and this specific contract is tracked by the Peg-Zone.
- 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.
- 100 blocks later, a representation of “Token X” will then be released on the Peg-Zone.
- 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.
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.
- Zones: Zones are regular heterogeneous blockchains.
- 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.
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.
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.
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.
In our next article, we will explore the other blockchains and then the best projects that are built on the Cosmos ecosystem. Currently, there are about 48 blockchains connected to IBC, with more than 250+ projects on Cosmos.
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.
By developing the "Internet of Blockchains," Cosmos undoubtedly addresses the crucial issue of interoperability in the blockchain industry.
Cosmos is able to offer developers a collection of tools that allow any blockchains built on Tendermint adaptable and very effective because of the way it is constructed. They can then share value across all blockchains using IBC without having to change any code.
Although it is true that its native token, ATOM, has no value over time given that you can only stake, participate in on-chain governance, and receive stake drops, the future roadmap promises Interchain Security and greater compatibility with other chains like ETH and, eventually, Bitcoin through the Gravity Bridge.
Overall, we believe that Cosmos is an ecosystem worth keeping an eye on and that it should be considered a long-term innovation.
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!
Disclaimer: Nothing on this site should be construed as a financial investment recommendation. It’s important to understand that investing is a high-risk activity. Investments expose money to potential loss.