What is the Cosmos SDK?

Why, your gateway to the internet of blockchains, of course.

A Cosmos SDK Blockchain involves 3 parts. The first is the state machine, which records the changing states of the network. The second is the network, which essentially consists of all of the users who hold the token, including but not limited to the validators who keep the network online. The third part is the cryptocurrency itself; a coin because it is used to ensure financial reconciliation for transactions that take place on the network. The purpose of a Cosmos SDK Blockchain is to ensure that users pay to use the network and validators are paid to keep the network online; set it up right and it becomes something like a perpetual motion machine nobody owns. Cosmos SDK Blockchains are special because they facilitate faster, more secure transactions than other blockchains can offer, while also keeping costs several orders of magnitude lower than comparable actions on say the Ethereum blockchain. 

Cosmos SDK blockchains share a common protocol between them, written in the Go programming language. This protocol, known as IBC, allows assets from these chains to be transferred efficiently between the various different Cosmos SDK blockchain environments. DEXes will supply liquidity in the form of ERC-20 tokens and even Bitcoins and other wrapped assets, and community-built Cosmos SDK-powered applications will make a rich variety of open-source applications possible. These blockchains are all essentially distinct from one another, and hence do not need to compete with each other for access to validation etc., but nonetheless there are limits to the protocol’s throughput. Individual applications may need to become sharded to scale entirely, but the decentralized Byzantine Fault Tolerance mechanism which powers Tendermint consensus is able to secure the network more effectively than other consensus mechanisms. Cosmos SDK throughput and security are thus both industry-leading, and fees at the present time are still low enough that the network is effectively free to use.

Due to the protocol nature of Cosmos SDK technologies, it is possible to create Cosmos SDK blockchain applications rapidly and for many to scale simultaneously. As the project is open source, new development teams emerge with some regularity. Cosmos SDK is thus a community-led project with the goal at its heart to create a new sort of internet: Web3.0; the internet of blockchains.

The Cosmos SDK

The Cosmos SDK is a development kit designed to make it easy and fast to spin up Cosmos SDK blockchains. I’ve done this a few times now, despite my cursory knowledge of Go, and I can vouch for the notion that yes, it is possible to rapidly create a blockchain. However, it takes a good deal of time to build this basic blockchain into anything in particular, application-wise. A developer I work with has taken up the task of performing a pull request on the Cosmos SDK Tutorials on GitHub. Find these tutorials here. Thus far, he has completed one of them and his findings are that the software does in fact work, but a few issues prevent tutorial completion on the IDE provided in the browser by the Cosmos team for the purposes of demoing the software. 

The issues primarily result from the rapid iterative development going on behind the scenes at Tendermint. The SDK is changing rapidly (scaffolding is being upgraded, for example) and some of the changes are breaking changes. This robust development environment, rather than a hindrance because it makes getting involved with Cosmos a bit more difficult, is instead a major selling point for Cosmos, as the vision behind the network is significantly further-reaching than anything that seems to be going on with respect to Ethereum or most of the L2 solutions--a very nice thing to see in conjunction with so much hard work by so many talented developers. The teams who are so evidently hard at work are what is different from other blockchain environments; to be long Cosmos is as simple as it is to be long on Sunny Aggarwal, Zaki Manian, and Gregory Landau. 

This overview represents the general state of my understanding of these matters at this time, and as a result there may be some things which need to be clarified in the future. I’m looking forward to learning more about my favorite visionary blockchain project, so please feel free to enlighten me or elaborate on any part of this document! Cheers. Ethermint (Cosmos SDK version of the Ethereum state machine) is going to change everything by offering a secure and cost-effective solution that works well with native Ethereum applications to teams throughout the metaverse.