A Guide to Tendermint

May 3, 2020 6 min read
A Guide to Tendermint

Get to know the ins and outs of the company, the ecosystem, and the consensus engine

Hi there👩‍💻,

For those of you who are new to the blockchain world, getting to understand Tendermint and its many different aspects might be confusing. And, for those who are familiar with it, it might just be nice to have a little refresh of all the details. That is why, in this article, we’re discussing all things Tendermint.

👨‍💼 Part 1 — Tendermint Inc.

So, let’s get started with Tendermint Inc. The company is a software development company founded by Jae Kwon together with Zarko Milosevic and Ethan Buchman in 2014 and contracted by the ICF to develop the Cosmos Network. Now, for those of you familiar with the PoS blockchain environment, the name Jae Kwon might sound familiar, and that is not so crazy. He has been in the news recently as he announced that he would step down as CEO of Tendermint to focus on a new project, Virgo.

The ICF, better known as the Interchain Foundation, is a Swiss-based organization. Their mission is to support the research and development, as well as promote an open, decentralized network that will provide greater sovereignty, security, and sustainability to the world’s communities. They’re currently focussing on the Cosmos Project, as they think it’s maturity and modularity and sovereignty of the respective networks is a unique advantage.

Tendermint Inc. describes its vision as: “At Tendermint Inc., we aim to create open networks to manage conflict and empower people to align on universal goals to enact positive societal and environmental change.”

Over the last six years, Tendermint Inc. has launched Tendermint Core and the Cosmos Ecosystem, on which a high number of blockchain projects and applications have been built. Among these projects, for example, is the Binance Dex, a decentralized exchange, E-Money, a stablecoin provider. Currently, the company is working on establishing a standard for interchain communication through the development of the IBC protocol.

💻 Part 2 — Tendermint Core

Tendermint Core is the consensus system of the Tendermint platform that additionally consists of a generic application interface. What is unique about Tendermint is that unlike other blockchain solutions, that are pre-packaged and come with built-in state machines, developers can use the Tendermint for BFT state machine replication of applications in whatever language they desire and whatever development environment works for them. To be able to understand the Tendermint consensus protocol, let’s first have a look at a few essential terms.

  • Replicated State Machine — in Tendermint documentation, often referred to as “machines.” The replicated state machine is a well-known term in computer science. It is a general method to implement fault-tolerant service by copying servers and coordinating client interactions with those replicated servers. For a further explanation, check this video.
  • Byzantine Fault Tolerance — is a property of the systems that can resist the class of failures derived from the Byzantine Generals Problem. A Byzantine Fault System can continue operating even if some of the nodes fail to communicate or act maliciously. Check here for an explanatory video.

Now, the purpose of a fault-tolerant replicated state machine is to coordinate a network of computers to stay in sync. At the same time, they provide useful services, despite the presence of any faults.

The Tendermint consensus begins with a set of validators that are identified through their public key. Each validator is responsible for maintaining a full copy of the replicated state, and for proposing new blocks as well as voting on them. Validators then engage in two different phases of voting on proposed blocks before it is created. They also have to follow a locking mechanism that prevents any ill-natured actions of less than one-third of the validators, that would be able to compromise the safety. Tendermint Core has three aspects:

  1. Proposals — each new block must be proposed and approved by other validators. If a proposal is not received within time limits, the validator that proposed will be skipped.
  2. Votes — there are two phases of voting that ensure the BFT is optimal. In Tendermint’s case, they are called pre-vote and pre-commit. A single stage of voting allows validators to talk about their knowledge of the proposal. Therefore, a second stage makes sure that enough validators have looked at the first stage. A pre-vote for a block is a vote to prepare the network to commit. The pre-commit vote is a vote to commit the block.
  3. Locks — to make sure that no two validators commit a different block at the same time, the consensus presumes that one-third of validators is malicious. Once a validator has pre-committed a block, it is locked on that block. Then, the validator must prevote for the block they are locked on. The only way to unlock is if there is a polka for the block in a later round. A polka refers to when more than two-thirds of the validators pre-vote for the same block.
The Tendermint Consensus as first pictured by Tendermint Inc.

Another critical aspect of the Tendermint Core consensus is the Application Blockchain Interface (ABCI) that allows BFT replication of applications. The ABCI defines the boundary between the blockchain (replication engine) and the state machine, in this case, the application. That happens through a socket protocol, that allows a consensus engine to run in one process and manage an application state running in another. To communicate, the ABCI consists of three message types that get delivered from the core to the application. For more information on the messages, check here.

🌏 Part 3 — Tendermint Ecosystem

The Tendermint Ecosystem consists of over a hundred different projects. We have listed a couple of them below. For the complete list of all 112 projects that are currently being developed or are already active. Check the list of Cosmonaut.

Cosmos HUB and Cosmos SDK

The very first blockchain system that was built with Tendermint is the Cosmos HUB and SDK. Cosmos SDK is a developer-friendly framework making it easy for people to write their application-specific blockchain. The Cosmos Hub refers to the blockchain that is mainly focussed on recording the total number of tokens in each zone. It is not to be confused with the Cosmos Network, which designates the whole ecosystem.

Binance Chain

Binance Chain is a blockchain software system on which the Binance DEX decentralized exchange is built. The purpose of this new blockchain is to create an alternative marketplace for exchanging and issuing digital assets in a decentralized manner. It’s a peer-to-peer distribution system, connects multiple clients that reach consensus on their views of “the state of the world”.

KAVA Labs

KAVA is the first-ever cross-blockchain DeFi platform that makes it possible for traders to leverage their assets using a multi-collateral CDP system and collateral-back stablecoin called USDX.

E-Money Protocol

E-Money is a currency-back digital asset issuer based on blockchain, bringing EUR, CHF, SEK, and DKK to the interchain ecosystem. Their technology facilitates sub-second payments on a global scale.

Terra Protocol

Terra is the creator of the Luna Token, Terra Core, and the blockchain payment solution CHAI. The Terra Protocol’s mission is to free people from the hidden fees embedded into regular payments. They want to strip away all inefficiencies by using blockchain.

IRISnet

IRIS is a service infrastructure and protocol built using Cosmos SDK/Tendermint that aids the construction of distributed business applications.

Loom Network

Loom is a Layer 2 scaling solution for Ethereum that includes a network of DPoS side chains for highly-scalable games and user-facing DApps.

Regen Network

The Regen Network is built to support a wide variety of ecological improvement agreements. These include agreements about improving practices, agreements about environmental changes, and a combination of both. Regen Network allows users to track growth that is meaningful to them, not restricting metrics, and allowing us to gain a more holistic understanding of ecosystem health.

Minter

Minter makes it possible for you to issue, transfer, and exchange your digital assets in seconds with instant liquidity. All their products are open-source iOS, Android, Web, and Telegram Wallets.

More Information and Sources

DISCLAIMER: This is not financial advice. Staking, delegation, and cryptocurrencies involve a high degree of risk, and there is always the possibility of loss, including the loss of all staked digital assets. Additionally, delegators are at risk of slashing in case of security or liveness faults on some protocols. We advise you to do your due diligence before choosing a validator.

Join the conversation

Success! Your account is fully activated, you now have access to all content.
Success! Your billing info has been updated.
Your billing was not updated.