ELI5: Tendermint Consensus
ELI5: Tendermint Consensus
ELI5: Tendermint Consensus

Cosmos Tech

ELI5: Tendermint Consensus

Explore Tendermint Consensus: the core of Cosmos Appchains, offering BFT, low fees, instant finality, and scalability. Learn how it powers diverse applications.

LeThang

Lead Researcher

Date

April 17, 2023

Explore Tendermint Consensus: the core of Cosmos Appchains, offering BFT, low fees, instant finality, and scalability. Learn how it powers diverse applications.

Every Cosmos Appchains uses Tendermint consensus, which is currently maintained by @informalinc as @CometBFT.

But what makes TendermintBFT special? Here's an ELI5 of Tendermint consensus.

1. The problem

Imagine a blockchain as a database server that only stores a single number. Whenever a user sends a number to it, it will update the value after the majority of the node come to an agreement (Read: Consensus).

In a single-node system, this is easily achieved.

In a decentralized world with multiple validators:

  • How do they come to consensus?

  • What happens if one node record a wrong number?

That's the problem Tendermint solved: the Byzantine-Fault Tolerant (BFT) distributed consensus.

2. How Tendermint works

A node can be in 1 of 2 states:

  1. Proposer:

    1. Propose a new block (batch of transactions).

    2. is chosen at the beginning of every epoch based on the stake amount and can't be selected twice in a row.

  2. Validator.

How Tendermint works:

  1. Proposer proposes a block, say a new value = 1.

  2. Validators will send their vote to other nodes (read: Pre-vote).

  3. Once 2/3 of the votes are received by a node, the node will send that result to other nodes (read: Pre-commit).

  4. Nodes wait for pre-commits from 2/3 of all validators to decide whether to update the value to 1 or reject that block.

As long as > 2/3 of the validators are honest → The system is safe 🛡️

3. Tendermint features

  • Low fees

  • Instant finality

  • Loose synchrony

  • Scalability with Appchain Thesis

  • Blocktimes ~6s. @Injective_ reduce it to 1.1s while @SeiNetwork make it 0.6s

  • Battle-tested & high TPS (During Terra/UST collapse, it still worked perfectly)

4. Tendermint compatibility

Since Tendermint is a generic consensus protocol, any programming languages and applications (read: state machine) can run on top of Tendermint.

5. Who built on top of Tendermint?

  • Cosmos Appchains: 50+ on mainnet.

  • Ethereum Dapps: dYdX

  • Ethereum Layer 2 (Fork of Tendermint): Polygon

  • Trusted by exchange: OKX chain, Crypto.com chain, Binance Beacon Chain

  • and more!

6. Modification of Tendermint Consensus

  • @EvmosOrg built Ethermint = Tendermint + EVM-compatible.

  • @PolymerDAO is building zkMint, a ZK-friendly Tendermint consensus engine.

  • @anoma's Typhon consensus solves block proposal bottleneck & increases transactions computation speed by parallelization.


Final words, quoting from the Tendermint Whitepaper

Table of contents

Title

Share article

Share article

Share article

Stay Informed and Inspired

Join our exclusive subscriber community to never miss out!
By signing up, you'll receive straight to your inbox

Join our exclusive subscriber community to never miss out! By signing up, you'll receive straight to your inbox