Fault Handling and Properties
PBFT uses a number of strategies to guarantee its fault-tolerant characteristics, including:
View Change
Backup nodes collectively start a “view change” if a primary node is thought to be malfunctioning (for example, by failing to send messages within a certain delay). To make sure the procedure moves forward, a fresh primary is chosen (usually in a round-robin method). Even in the event that the main fails, this technique guarantees liveness.
Checkpointing
This sub-protocol generates “stable checkpoints,” or snapshots of the global state that are accepted by 2f + 1 replicas, on a regular basis. These checkpoints are essential for memory management, removing outdated messages from logs, and enabling replicas to be updated without having to reprocess all previous requests.
Also Read About Consensus Mechanisms In Blockchain: How Networks Agree
Safety
“Nothing bad will happen” is what PBFT guarantees. This ensures that the sequence numbers of requests that commit locally are agreed upon by all honest nodes. It operates atomically and functions similarly to a centralised system.
Liveness
“Something good will eventually occur” is what PBFT guarantees. Even with poor replicas, progress is possible if the number of faulty replicas does not exceed f and message delays do not increase faster than the timeout.
Non-Determinism Handling
PBFT handles non-deterministic values like random numbers and timestamps to maintain consistency. The primary proposes a value, which is subsequently confirmed by the consensus process to guarantee that all replicas concur on it.
Benefits of PBFT

PBFT has a number of noteworthy advantages, particularly for particular kinds of distributed systems:
Immediate and Deterministic Finality
PBFT delivers a 100% guarantee of finality as soon as a transaction is committed, in contrast to Proof of Work (PoW), which guarantees probabilistic finality (requiring many confirmations). The absence of rollbacks and forks is essential for financial networks.
Energy Efficiency
PBFT uses less energy than PoW because it doesn’t require as much mining or complex mathematical calculations.
Speed and High Throughput
It is appropriate for enterprise-grade performance requirements because to its quick transaction processing and high throughput. Compared to earlier BFT algorithms, its optimisations enable it to achieve noticeably faster response times.
Minimal Reward Variance
Each honest node can be rewarded since all nodes in the network take part in processing client requests, which results in minimal reward variance.
Node Failure Fault Tolerance
It is made to be extremely resilient to node failures, which is crucial in dynamic networks like blockchains where nodes may suddenly stop working.
Byzantine Fault Tolerance
It manages the existence of malicious nodes by default.
Drawbacks of PBFT
Despite its benefits, PBFT has a few significant drawbacks.
- Limitations on Scalability: PBFT has limited scalability. Because of its high communication overhead, which rises quadratically (O(n^2)) with the number of nodes in the network, its performance may be constrained by the number of nodes. It is therefore better suited for smaller networks.
- High Network Overhead: A large amount of network bandwidth is used because all nodes must communicate extensively.
- Susceptibility to Sybil Attacks: PBFT may be vulnerable to Sybil attacks, in which a single attacker manipulates several identities to influence choices, in models where node identities are not tightly controlled. In permissioned networks with known identities, this is less feasible.
- Requires Known Participants: PBFT functions best in settings with known and authorised participating nodes. Large, open, permissionless blockchains like Bitcoin stand in contrast to this.
- Centralisation Issues: Some decentralized blockchain designs may not align with the fundamental ideas of centralisation, which is introduced by depending on a single leader node (primary) to guide the consensus process.
Applications and Variants of PBFT
PBFT is more effective than energy-intensive alternatives like PoW since it is frequently utilised in permissioned blockchain networks, where the members are known and frequently trusted to some degree.
PBFT has been used and inspired in notable ways by:
- Hyperledger Fabric
- Quorum (via IBFT)
- Tendermint (a variation that frequently combines Delegated Proof-of-Stake with state machine replication)
- Zilliqa (for every 100th block, in conjunction with PoW)
To increase PBFT’s performance, robustness, or applicability for various use cases, a number of variations have been suggested:
- The NEO blockchain makes use of Delegated Byzantine Fault Tolerance (DBFT), which permits widespread proxy voting participation.
- Stellar and Ripple use Federated Byzantine Fault Tolerance (FBFT), which limits communication between nodes to those they trust, improving throughput and scalability.
- VMware Research (2018) developed HotStuff, a more current BFT protocol that optimises PBFT with characteristics including optimistic responsiveness and linear view change.
- Additional variations include ABsTRACTs, Aardvark, Zyzzyva, HQ, Q/U, and RBFT.
PBFT is a good option for company and consortium blockchain solutions due to its efficiency and deterministic finality, even though it is not the best option for highly decentralised public blockchains. A Byzantine-fault-tolerant NFS (Network File System) service, which was just 3% slower than a typical unreplicated NFS, was the application for which the first 1999 version of PBFT proved its usefulness.