Research

0 min read

Tendermint and Block commitment

How validators commit blocks on Tendermint-based chains

Author

Imperator

Date

Dec 23, 2022

Gradient background with the text "Tendermint & Block commitment", representing a thematic focus on the process of validators committing blocks in Tendermint-based blockchain networks.
Gradient background with the text "Tendermint & Block commitment", representing a thematic focus on the process of validators committing blocks in Tendermint-based blockchain networks.
Gradient background with the text "Tendermint & Block commitment", representing a thematic focus on the process of validators committing blocks in Tendermint-based blockchain networks.

Block commitment is a crucial responsibility of validators and many people are unaware of the different steps involved in committing a block on Tendermint-based chains. In this article, we will explore Tendermint and how validators come to consensus in order to commit blocks.

On Tendermint, validators use a consensus algorithm known as "Byzantine Fault Tolerance" (BFT) to commit new blocks to the blockchain.

A block is committed when a 2/3 majority of voting power signs and broadcasts commits for that block.

The 2/3 majority in consensus algorithms is derived from the Byzantine General's Problem.

Malicious validators could try to prevent consensus by spreading false information or not sending information at all; these validators are known as "Byzantine Faults" or "Byzantine Nodes".

In a BFT (Byzantine Fault Tolerance) system, even if up to 1/3 of the voting power on the network is malicious or offline, the system can still reach consensus.

The 1/3 of Byzantine nodes cannot influence the outcome of the consensus process.

On most Tendermint-based chains, the voting power of each validator on the network is equal to the amount of staked coins.

This provides an incentive for validators to act in the best interest of the network and helps to ensure its security.

Before a consensus is reached, several steps are typically involved. These steps are as follows:

  • Propose

  • Prevote

  • Precommit

  • Commit

1. Propose

At each new block height, a validator is selected in a round-robin fashion, based on the proportion of bonded tokens it possesses.

The goal of the selected validator is to propose a new block of transactions to be added to the blockchain.

2. Prevote

Once a block is proposed, other validators vote on whether they believe the block is valid. If they don't think so or don't have time to vote, they cast a "nil" vote.

For the block to be prevoted, at least 2/3 of the total voting power must agree that it is valid

3. Precommit

If at least 2/3 of the total voting power has prevoted in favor of the block, validators now have to precommit to it, indicating that they are willing to include the block in the blockchain.

At least 2/3 must precommit the block.

4. Commit

If a sufficient number of validators have precommitted to the block, then it is added to the blockchain and the consensus process is complete.

This whole process is what validators call "reaching consensus".

They ensure that the block is valid and can be trusted by the rest of the network.

Once a block is committed, it cannot be altered or removed, the transactions contained in the block are final.

If validators do not reach consensus, then the block cannot be added to the blockchain and the transactions just stay in the mempool until the issue that prevented consensus is resolved.

Then, transactions will just be included in a later block.

Get started with staking

Dive into blockchain governance with Imperator. Join our staking program for up-to-the-minute updates and take an active role in shaping the future of decentralized finance.

Latest popular protocol

Subscribe to our newsletter

Stay ahead in the blockchain world with Imperator's newsletter. Get the latest updates, insights, and exclusive content delivered directly to your inbox.

Get started with staking

Dive into blockchain governance with Imperator. Join our staking program for up-to-the-minute updates and take an active role in shaping the future of decentralized finance.

Latest popular protocol

Subscribe to our newsletter

Stay ahead in the blockchain world with Imperator's newsletter. Get the latest updates, insights, and exclusive content delivered directly to your inbox.

Get started with staking

Dive into blockchain governance with Imperator. Join our staking program for up-to-the-minute updates and take an active role in shaping the future of decentralized finance.

Latest popular protocol

Subscribe to our newsletter

Stay ahead in the blockchain world with Imperator's newsletter. Get the latest updates, insights, and exclusive content delivered directly to your inbox.