Building an application specific blockchain using Cosmos SDK Part-1

Harish Bhawnani
Coinmonks
4 min readApr 6, 2022

--

Photo by Hitesh Choudhary on Unsplash

Decentralisation grants more autonomy and freedom. Well, this is part-1 of the series — Building an application specific blockchain using Cosmos SDK. Here we will be discussing Why, How and the motivation behind building an application specific blockchain.

Current scenario …

With ongoing crypto trend, people are more interested in crypto trading without completely understanding how underlying tech is here to solve the bigger problems. Moreover, most crypto startups are working on either developing exchanges, NFT or metaverse projects. These are good projects though and have a different set of use-cases altogether but what I believe, there are many other existing real world problems which one can solve through decentralisation.

Well, let me start with the motivation behind building dapp -

Motivation behind dapp…

Photo by shawnanggg on Unsplash

Let me tell you a short incident. Recently I visited one of the famous restaurant in my locality. It is known for its taste and usually gets crowded. Out of curiosity, I asked the owner if he tie up with online food delivery apps. His sells can increase two fold using online delivery option. His response was contrary to what I expected. Few months back he had actually listed his restaurant online, however he suffered huge losses within a month. According to him, food delivery company gave him various excuses (such as delay in order processing from his end, company in loss due to covid etc.) and paid him just one-fourth of his initial agreed commission.

Did you see the problem here ? Single business party is handling all the fund related activities (I call it centralisation issue). Hence vendors have no trust on online delivery company. Well, let us understand how decentralisation can help here. If the funds related activities are taken up by the decentralised network, there won’t be any chance of breach from any party and trust issue would be sorted among them.

Well, this use-case made me to think and practically try out the challenge.

Why an Application specific blockchain…

Photo by Kanchanara on Unsplash

Well, with general-purpose virtual-machine blockchains like Ethereum there are various limitations. Let me point those out -

  • High gas fees. The adoption of blockchain for our use-case won’t be much if the gas fees is high. Although with upcoming Eth 2.0 upgrade (consensus would change from POW to POS), zk-rollups, optimistic-rollups, plasma chains and sharding, more performance improvement will be seen which can reduce the gas price. But anyways with application specific blockchain, application stakeholders have control over the gas price.
  • Smart Contracts are all run by the same virtual machine. This means that they compete for resources, which can severely restrain the performance. Whereas in application specific blockchain, the app does not compete with others for computation and storage.
  • To avoid security loop holes, one should have high expertise in a certain smart contract language. Also restriction to a certain language for smart contract development. Whereas one can use any language of their own choice while building dapp over Tendermint using cosmos sdk(consensus layer is decoupled and agnostic to the application layer).
  • High chances that the governance of the application doesn’t align with the governance of the blockchain community. Whereas in app specific blockchain , stakeholders have full control and can decide on chain upgrades by submitting proposals and arranging voting session among validators.

Why Cosmos SDK…

Photo by Guillermo Ferla on Unsplash

Cosmos SDK allows to build secure blockchain applications on top of Tendermint. Such chains are built out of composable modules (contrary to monolithic design). One can easily create a custom module for the Cosmos SDK and integrate it with built-in modules to develop an app specific blockchain. As consensus engine layer Tendermint core is decoupled here, one can easily focus on developing use-case specific functionality. The PBFT + DPOS approach for consensus is strong and a great choice. Also such chain comes with the concept of block finality so in case of any mishap, chain would halt rather than forking(chain splitting). Moreover, the Cosmos SDK has already been used to build many application-specific blockchains that are already in production such as Cosmos Hub, Binance chain, Terra, Kava etc.

Great, you made this far :). As we have discussed our use-case and decided to take the route of application specific blockchain, in next part we will focus on the technical aspects of our project.

--

--