Skip to main content

Home Byzantine fault tolerance

Byzantine fault tolerance

(also BFT)

Byzantine fault tolerance definition

Byzantine fault tolerance (BFT) is the ability of a system or network to continue functioning even if some of the nodes or computers are faulty or malicious. BFT is essential in networks like blockchain, where there is no central authority, so the computers need to trust each other to keep things reliable and secure.

See also: node

How does Byzantine fault tolerance work?

  • A specific number of nodes called a 'quorum' are chosen to reach an agreement on transactions or decisions.
  • When a new transaction or decision needs approval, it's shared with the nodes in the quorum — and they verify it by exchanging messages.
  • Each node in the quorum votes on whether the transaction or decision is valid. They consider messages from other nodes and follow certain rules to decide.
  • Once enough nodes in the quorum agree on the transaction or decision, they reach a consensus. The majority of correctly-behaving nodes have to agree.
  • BFT algorithms are designed to handle faulty or malicious nodes (up to a certain percentage of the quorum). As long as most nodes behave correctly (or are “honest”), they can overcome the influence of the faulty ones and reach a correct consensus.

BFT consensus algorithms

  • Practical Byzantine fault tolerance (PBFT). A fast and secure algorithm that allows blockchains to reach a consensus through multiple rounds of voting.
  • Tendermint. A method for some blockchains to process transactions quickly using a leader-based approach.
  • HoneyBadgerBFT. A BFT consensus algorithm for large-scale systems that allows nodes to communicate (even if they’re slow in responding) and uses cryptographic techniques for robustness.
  • Distributed Practical Byzantine Fault Tolerance (DPBFT). A modified version of PBFT for specific blockchains that makes reaching an agreement more efficient.
  • Avalanche. A method for large networks to reach an agreement by voting multiple times.
  • Algorand. An algorithm that allows public blockchains to make decisions securely and fairly using a unique random selection process.