Analysis

What Is Tendermint? What Makes Tendermint Great?

bePAY

30 July 2022

If you are a fan of Cosmos, you need to have an understanding of what Tendermint is and how it operates. bePAY is going to make an effort to explain Tendermint to you in this article using language that is easily understandable.

Creating a database is a relatively straightforward process in comparison to the process of developing a cryptocurrency or a blockchain network, which both require a significant amount of manual labor. In order to accomplish the results that are sought, it is necessary to strike a balance between scalability, decentralization, and security.

Unsurprisingly, those competing to build the most resilient blockchain ecosystems have experimented with a wide range of alternative approaches. One of these methods is called Tendermint, and we’re going to look at it in more detail in this piece.

What Is Tendermint?

Tendermint is a blockchain protocol that was created in 2014. It is used to copy and launch blockchain applications on different machines in a safe and consistent way. It was thought up by Jae Kwon, a blockchain software architect, and Ethan Buchman, a biophysicist who works on the internet.

Tendermint is a protocol that lets blockchains inside and outside of a network talk to each other. You are free to develop whichever blockchain system you choose easily with Tendermint. It helps you skip the time-consuming technical setup phase to focus on the application itself.

Think of a pizza to get an idea of how Tendermint and blockchain work together. The foundation or crust of a pizza is analogous to the texture of Tendermint. It gives developers the building blocks they need to create countless blockchain applications. Once the base is set, you can add different toppings. Pepperoni or pineapple could be used as a pizza topping. A blockchain, like the one used by Cosmos, would be the same as Tendermint.

Tendermint is made up of two main parts: a consensus engine for the blockchain and a generic application interface.

tendermint-definition

What is Tendermint?

A Consensus Engine For A Blockchain

The blockchain consensus engine, Tendermint Core, makes sure that every machine records transactions in the same order. It makes the peer-to-peer network work and gives a consensus based on Proof of stake (PoS).

 A Generic Application Interface

Any programming language can be used to process transactions with Tendermint’s Application Blockchain Interface (ABCI). So, ABCI is a tool that makes it possible for blockchains to connect to the Tendermint protocol.

Tendermint Core

Some individuals confuse Tendermint and Tendermint Core. Tendermint is the firm formed by Jae Kwon, while Tendermint Core (TC) is the software. TC is an open-source fault-tolerant software system. It’s a distributed computer system that displays everyone’s current condition at the same time. Everything will surely go well if two-thirds of the participants are not malevolent.

Certain features distinguish it from other blockchain systems. TC’s consensus method is Proof-of-Stake (PoS). A random node from a validator set is chosen at random for each period. The node must propose the next block using a round-robin mechanism.

If the new block is accepted by the other validators, it is added to the system and the chain is updated. Tendermint’s conclusion is always immediate. Unlike Bitcoin and Ethereum, you do not need to wait for confirmations to ensure the validity of your transaction.

tendermint-software

Some information about Tendermin software

TC’s architecture is also modular. As a result, the application layer is not linked to the consensus or networking layers. The conclusion is that your application layer can be plugged into the stack. You won’t have to deal with annoying incentives or consensus algorithms.

While end users may be disappointed, engineers are overjoyed. The ability to utilize an existing framework allows developers to go immediately into designing apps without having to bootstrap a whole network. These developers can use blockchain data to write in any language.

Byzantine Fault Tolerance

A blockchain must be decentralized, functioning as a dispersed network of computers maintaining a digital record. The technology of blockchain enables a system in which transactions may occur without intermediaries while retaining a high level of transparency and dependability.

As with other distributed computing systems, bitcoin networks need frequent consensus on the blockchain’s current state. These agreements are also referred to as “consensus”. Unfortunately, achieving consensus across dispersed networks in a secure and efficient way is difficult.

How can a network of dispersed computer nodes determine whether any of them are likely to behave dishonestly or fail? This fundamental question gave rise to the Byzantine fault tolerance, also known as the “Byzantine Generals Problem.”

It was first designed as a problem in logic in the year 1982, and it was intended to explain how a collection of Byzantine generals may have had difficulty communicating when attempting to agree on their next military move.

some-information-about-bft

Byzantine Fault Tolerance explanation

Byzantine fault tolerance (BFT) is the capability of a system to withstand the failure class resulting from the Byzantine Generals Problem. Therefore, BFT systems may continue to function even if certain nodes fail or behave maliciously.

Just as there are several conceivable solutions to the Byzantine Generals Problem, there are also various methods to construct a BFT system.

ABCI

ABCI enables the replication of programs developed in any programming language with Byzantine fault tolerance. ABCI principally serves as a connection between the TC and the Cosmos software development kit (SDK). Using the Cosmos SDK, a developer may construct projects for the Cosmos network.

The Cosmos network relies on interoperability and connectivity with the Cosmos Hub, its central component. In other words, ABCI establishes the distinction between the blockchain and the apps that operate on top of it. The ABCI consists of three basic message types that are sent between the core and the application. The program sends matching answer messages in response.

what-is-abci

ABCI system

The following transmissions are carried out:

  • DeliverTx is the message that drives the program. This message is attached to every transaction on the blockchain.
  • CheckTx is similar to DeliverTx, but it is used only for verifying transactions.
  • The commit message is included in the subsequent block header and used to calculate a cryptographic commit to the current application state.

Multiple apps may be linked to ABCI sockets. For instance, the TC links three ABCI sources to the application: one for broadcast validation in the Mempool, one for the consensus engine to block proposals, and one for querying the status of the application.

Tendermint Vs Cosmos

The first layer of the Cosmos blockchain ecosystem provides networking, while the second layer facilitates consensus. Tendermint powers the first layer, which is known as Tendermint BFT. Thus, Tendermint isolates the blockchain’s consensus/network layer from its application layer. A blockchain can be programmed by anybody without the need to write cryptographic and networking-related code, making it simple for developers to create solutions.

The Cosmos SDK serves as the ecosystem’s application layer (like Ethereum’s EVM), whilst Tendermint provides both the consensus layer (BFT-tolerant Proof-of-Stake consensus algorithm) and the networking layer.

the-link-between-tendermint-vs-cosmos

Tendermint vs Cosmos in comparison

Simply said, Cosmos is a Tendermint-based Proof-of-Stake (PoS) blockchain, while ATOM is a currency that leverages delegation to enable anybody, even non-validators, to participate in staking. Tendermint is the software that Cosmos uses to function.

>> Recommended: Read the full post about Cosmos here.

What Makes Tendermint Great?

The separation of the application interface from the consensus process enables a variety of decentralized apps to use any programming language for their business logic with more freedom.

Ethermint is a project that took the Ethereum codebase, eliminated the Proof of Work method, and grafted the Ethereum Virtual Machine on top of Tendermint. It provides a concrete demonstration of what is possible.

This made many intriguing possibilities feasible. The primary advantage is that Ethereum developers can easily migrate old smart contracts to the new engine or construct new contracts in the Solidity language. In addition to offering Ethereum functionality, Ethermint functions as a Proof of Stake Ethereum, providing a peek at what a Casper implementation in Ethereum 2.0 would look like.

tendermint-special-traits

Some specific features of Tendermint

FAQs About Tendermint

Is Tendermint Scalable?

Scalability in the context of blockchains means that a blockchain can handle a growing number of transactions and nodes on the network.

Sharding generates tiny databases, or shards, that are shared across the nodes and may run in parallel. PoW-based systems cannot splinter, but Tendermint’s PoS-based network’s sharding features boost scalability. Tendermint’s implementation is more scalable than typical POW consensus techniques.

What Blockchains Use Tendermint? 

Tendermint is a renowned blockchain software development business that serves as the Cosmos ecosystem’s entry point. They are developing important open network infrastructures like the Cosmos SDK, Starport, TC, and Gaia. Tendermint technology is used to build over 240 blockchain applications and services, including Binance Coin, Terra, Cosmos Hub, OKB, and Crypto.com. These applications and services form the Cosmos ecosystem, which protects more than $70 billion in digital assets.

blockchain-that-use-tendermint

What blockchains use Tendermint?

Closing Thoughts

Tendermint lets app developers focus on making apps instead of trying to figure out cryptography. With Tendermint, developers can easily make as many apps as they want. Can a lot of people start using Tendermint? It probably will. There are already projects like OmniseGo, 0x, and FOAM that will use Cosmos, run on Tendermint, and connect to blockchains over Cosmos. We’re sure that a lot of other projects will join this effort.