What Is Tendermint and How Does It Work?

What is the Tendermint blockchain? What is the Tendermint consensus? ⚡ Tendermint is software for securely and consistently replicating an application on many machines. ? It is designed to be easy to use.

Any blockchain is a pretty rigid structure. A developer has either to put up with a pretty restrictive environment or to fork an existing blockchain and create a new one which is not an easy task.

Tendermint is a protocol, software that allows you to launch a blockchain and use any programming language to write apps. Moreover, blockchains created in Tendermint can communicate with each other and other blockchains.

Tendermint Core

What is Tendermint though? And what is Tendermint Core? Here, we use them interchangeably. Tendermint is a company that works on the actual software - Tendermint Core.

Tendermint Core is the software, or rather a protocol that allows launching blockchains where different programming languages can be used for app development. It consists of a blockchain consensus engine and an application interface.

The blockchain consensus engine is called Tendermint Core. It is responsible for providing the proof-of-stake consensus and the peer-to-peer network.

The Application BlockChain Interface is a tool used to link the blockchains onto the Tendermint Core Protocol.

This separation of the consensus mechanism and the blockchain interface allows for the main feature of Tendermint. It allows developers to plug any app layer in the stack. So, developers can build their apps in any language, without bootstrapping the entire network.

Bitcoin and Blockchain

Another problem that Tendermint solves effectively is the consensus problem, known also as the Byzantine Generals` Problem. Hundreds of years ago, several generals with their armies tried to attack a city. To win, they needed to start the attack at the same time. But they all were at different sides of the city, and communication between them was not reliable. The messages could be delayed, forged, lost which would mean the failure of the military mission. The problem was to achieve consensus on when to attack.

When Satoshi Nakamoto launched the Bitcoin blockchain, he also successfully solved the Byzantine Generals` Problem, or the consensus problem. The proof-of-work takes care of consensus in the Bitcoin blockchain. A specific number of nodes have to come to an agreement, a consensus, to confirm a transaction in the blockchain.

We all know though that proof-of-work is not the most efficient way to reach a consensus. The PoW appeared to have some major issues such as:

  • It is connected with huge energy wastage.
  • Hashing power becomes concentrated in big mining pools which makes Bitcoin not as decentralized as it was supposed to be.
  • Scalability issues.

So, while the Byzantine Generals` Problem was solved, the solution caused other issues.

Problems With the Current Blockchain Architecture

Along with the inefficiency of the PoW consensus, other problems exist. If you look closely at blockchain technology, you will see that it consists of three main layers:

  • Networking – transaction propagation across all the blockchain nodes;
  • Consensus – it allows all the nodes to come to a specific decision under a condition that at least ⅔ of all the nodes aren`t malicious;
  • Application – it updates the state when a new transaction is processed.

Building a new blockchain with all the three mentioned layers is very difficult. That`s why many developers prefer to fork from the existing Bitcoin blockchain. It saves a lot of time but developers have to put up with limitations imposed by the Bitcoin protocol.

The monolithic architecture of the Bitcoin blockchain was the main issue. All the components are interconnected and leaving one or another out was impossible. You cannot build an app based on one component only. Similarly, if one component is updated, all the infrastructure has to be updated.

A new solution was needed to make the development work on a blockchain easier. The solution was offered by Tendermint in the form of a modular blockchain.

In a blockchain with a modular architecture, different blockchain layers are not interconnected. So, a developer can work with separated modules instead of working with the entire infrastructure.

Tendermint Core Architecture and Goals

Tendermint Core uses modular architecture. The Tendermint Core which offers a consensus protocol is separated from the Application Blockchain Interface. These two components need to communicate with each other. The communication is performed via a special socket protocol called APCI.

Tendermint offers the following opportunities to developers:

  • It provides the consensus and the networking layers on which different apps can be created.
  • Developers can concentrate on the application layer. The consensus and the networking layers can be ignored.
  • The Tendermint consensus protocol is Byzantine fault tolerant.

You might be wondering though how Tendermint can handle the needs of different projects. It is easier to understand it if you consider that Tendermint handles only consensus and networking for a specific blockchain. The application layer depends on a developer.

Tendermint – the Proof of Stake System

Along with the mentioned benefits, Tendermint allows solving the issues connected to the energy-demanding PoW. Tendermint is built in a permissionless setting, and the underlying security mechanism is the Proof-of-Stake protocol. Earlier, users had to stake some currency to be able to participate in the consensus. If such users behaved improperly, the staked coins could be revoked.

Now, Tendermint is a consensus engine that can be applied to any blockchain. It can be used as a plug-and-play engine to replace any consensus software of other blockchains.

For example, you can take the codebase of Ethereum, or Bitcoin, or any other cryptocurrency, and run it as an app using Tendermint consensus.

The Future of Tendermint

Tendermint is a complex and complicated project. It is still under development. However, the Tendermint creators have bigger ambitions. Another project called Cosmos is also under development. It is more complex than Tendermint.

It is expected that Cosmos networks together with Tendermint apps will create a new internet of blockchains.

The most interesting part of Cosmos is that it will collaborate not only with the applications built on Tendermint. Cosmos uses Tendermint Core to hard-spoon (create a new chain that takes the state of an existing chain to provide wider access to it) the existing blockchains onto Tendermint Core. So, Tendermint will be used for “cloning” blockchains.

Conclusion

Tendermint allows developers to concentrate on the app development level instead of struggling with cryptography. With Tendermint, developers can develop an endless number of apps easily. Can Tendermint come to a massive adoption? Most likely, it will. There are already projects such as OmniseGo, 0x, FOAM that are going to use Cosmos and to exist on top of Tendermint and be linked with blockchains over Cosmos. We are sure that many more projects will join this initiative.


Stay tuned for further updates, crypto guides, and market insights from LetsExchange. You can also follow us on Twitter, Facebook, Reddit, LinkedIn, Instagram, Telegram, Medium, and Steemit for first-hand information from our team.