Fundamentals of Consensus

Types of consensus approaches

Beginner Level

Consensus algorithms can generally be classified into two categories based on how finality (agreement on a block/transaction) is achieved: deterministic and probabilistic.

1. Deterministic Consensus

  • In deterministic consensus, once a block or decision is agreed upon, it is considered final and irreversible.
  • There is no chance of forks or rollbacks because all honest nodes immediately converge on the same result.
  • This approach is often used in permissioned blockchains, where the number of nodes is limited and known.

Characteristics:

  • Provides absolute finality → once agreed, the decision cannot change.
  • High trust and reliability.
  • Better suited for private/consortium blockchains.

Examples:

  • PBFT (Practical Byzantine Fault Tolerance) → used in Hyperledger Fabric.
  • Tendermint BFT → used in Cosmos blockchain.

2. Probabilistic Consensus

  • In probabilistic consensus, agreement is achieved gradually, and finality is reached with increasing probability over time.
  • At first, a block might be added but can be replaced (reorg) if a competing chain grows longer.
  • The more blocks are added on top of it, the lower the chance of reversal → making it “probabilistically final.”
  • This approach is typical in public blockchains where participants are open and untrusted.

Characteristics:

  • Provides eventual finality → decisions become irreversible after confirmations.
  • Allows open participation and decentralization.
  • Slower finality compared to deterministic approaches.

Examples:

  • Proof-of-Work (PoW) → used in Bitcoin, where a transaction is considered final after ~6 confirmations.
  • Proof-of-Stake (PoS) in some public chains, depending on their design.

Comparison Table

Feature Deterministic Consensus Probabilistic Consensus
Finality Immediate, absolute Gradual, eventual
Risk of Forks No forks after decision Temporary forks possible
Use Case Private/consortium blockchains Public, open blockchains
Examples PBFT, Tendermint PoW (Bitcoin), PoS (Ethereum)