You may have heard the words Cosmos, Cosmos Hub, Tendermint, and Interchain being used interchangeably in some context or the other. Tendermint is a consensus algorithm which was invented by Jae Kwon and in 2014. Seeing the effectiveness of this consensus algorithm, he set out to build a more ambitious project — a way to allow multiple blockchains to communicate seamlessly with each other. Jae and his co-founder Ethan Buchman established the Interchain Foundation and did a fundraiser to build the Cosmos Network, in which the Cosmos Hub is the centerpiece.

To understand this project, we need a large amount of historical context and a deep technical understanding of how both Tendermint and Cosmos works. This post breaks down the different components and gives an objective examination of the project in it’s entirety.

A Brief History of Decentralized Applications

Blockchains enable decentralized applications (dApps) to execute autonomously. The first of these blockchains is Bitcoin, which is a simple application that enables people to transfer value to other Bitcoin users. We quickly discovered that blockchains enable a wide range of possibilities — markets for file storage, prediction markets, decentralized autonomous organizations, and so on. However, back in 2013, the only way to build these things was to build a new blockchain from scratch which served their intended purpose. Developers had two options: write the entire application, networking and consensus layer from scratch, or fork the Bitcoin codebase (messy, hard-to-read C++ code) and adapt it to their intended purpose.

Ethereum came along and created a new paradigm shift. Ethereum built a new blockchain with a Virtual Machine on its application layer, allowing developers to write applications directly onto this virtual machine instead. This was a complete game-changer — developers did not need to worry about the networking or consensus layer, and could quickly write and deploy decentralized applications. Ethereum was poised to become the “World Computer” that every dApp or smart contract would run on. However, two problems soon became pronounced: Ethereum could not scale past more than 15 transactions per second, and dApp creators were beholden to Ethereum’s implementation, unable to customize certain parts of their application like a custom consensus algorithm or new privacy features.

This is where we are in 2018. New projects are faced with the decision of building on Ethereum (platform risk, cannot scale, but easy to deploy) or building on their own blockchain (customizable, very difficult to build). A bunch of new shiny blockchains DFINITY, Thunder, Tezos, etc are making the first option more attractive by building a super scalable, well-governed, blockchain — hoping to realize the dream of building a “World Computer” that runs every dApp. On the flip side, Cosmos is taking a fundamentally different approach — they imagine a world in which every dApp is run on it’s own blockchain, and they are building the protocol to connect all these chains to create the “Internet of Blockchains”.

To understand Cosmos, we must first understand the way it works under the hood, which is driven by the Tendermint consensus algorithm.