Trust and security are essential to blockchain technology – and the Byzantine Fault Tolerance (BFT) consensus mechanism is at the heart of a blockchain’s security.
BFT ensures that blockchains continue to function, even if some network participants are untrustworthy or malicious. So what is BFT, how does it work, and why is it so crucial to blockchain technology?
What is Byzantine Fault Tolerance?
Byzantine fault tolerance refers to the ability of a network or system to continue to function even when some components are defective or have failed.
With a BFT system, blockchain networks continue to function or implement planned actions as long as most network participants are trustworthy and genuine. This means that over half or two-thirds of the nodes on the blockchain network must agree to validate a transaction and add it to the block.
For compromised nodes to wreak havoc on a Byzantine fault-tolerant blockchain, they must be in the majority. This evil can be in the form of double consumption, a 51% attack, a Sybil attack and so on.
Byzantine fault tolerance in blockchain technology originates from the Byzantine generalization problem developed by Leslie Lamport, Marshall Pease, and Robert Shostak. This concept gained prominence when they published a paper, with a copy at Microsoft, called ‘The Byzantine Generals Problem (PDF)’ in 1982.
Lamport, Pease and Shostak described the case of a group of generals from the Byzantine army who camped outside an enemy city. Each general had his own army and needed to communicate and make a unanimous decision on whether to attack or retreat.
The problem was to carry out a joint action among some compromised generals. This dilemma was called a Byzantine fault, and when a system successfully copes with this problem, it is said to be Byzantine fault tolerant.
The Byzantine fault-tolerant concept was then applied to the cryptocurrency blockchain network. In the crypto space, the generals are the nodes that validate crypto transactions.
How does Byzantine fault tolerance work?
Decentralized networks implement Byzantine fault tolerance via consensus rules or protocols. All nodes in the network must follow these protocols or algorithms if they wish to participate in the validation and processing of transactions.
For a transaction to be validated, processed and added to a growing block, most nodes must agree that the transaction is authentic through the network’s consensus algorithm. Bitcoin, Ethereum and other proof of work (PoW) and proof of stake (PoS) blockchains use BFT algorithms.
In the PoW consensus algorithm, the miners on the network solve cryptographic puzzles to validate and produce blocks that record transactions. The miner who solves the puzzles first wins the right to add the transaction to the growing block and earn the block reward. But the miner must publish proof that they solved the puzzle to add the block.
The mining process in PoW blockchains requires expensive computers or mining rigs. This high cost prevents miners from sharing false information because other participants would reject it. It also reduces the likelihood of malicious actors gaining control of most nodes in the system.
Meanwhile, with the PoS consensus mechanism, you have to stake a certain amount of crypto tokens to earn the right to validate the transaction. Then, if the network protocol chooses you, you can add the transaction to the growing block and earn the block reward.
PoS systems solve Byzantine errors using different methods. For example, Ethereum uses the Casper algorithm, which requires at least two-thirds of the nodes to reach consensus on blocks. Ultimately, PoS systems need most nodes to agree on blocks before they can be added.
These blockchains use BFT consensus algorithms to resist the minority nodes that do not agree with the consensus. In this way, the blockchain network can continue its function, rejecting erroneous or dishonest transactions.
The role of Byzantine fault tolerance in blockchain technology
Blockchain technology relies on Byzantine fault tolerance for these reasons:
- BFT keeps the blockchain network continuously functional, even with some disagreeing nodes.
- It keeps the network secure, and prevents maliciousness that can come in the form of a 51% attack (or Sybil attack) or double spend.
Limitations of Byzantine fault tolerance
Byzantine fault tolerance has led to enormous benefits for the blockchain industry. However, the system still has problems, especially the practical Byzantine fault-tolerant consensus algorithm (pBFT).
The practical Byzantine fault tolerance is an optimized form of the original Byzantine fault tolerance. pBFT works through an asynchronous system consisting of a primary leader node and other backup nodes. In this system, the malicious nodes cannot be more than the honest nodes, usually not up to one third. The nodes always communicate with each other to ensure that the majority of nodes (the honest ones) agree on the state of the network.
Some limitations of pBFT include the following:
- High communication: To remain functional, the system requires increased communication between the nodes. This process is time consuming and leads to scalability issues.
- Scalability issues: pBFT has issues with scalability, especially with networks that are very extensive.
- Low security: pBFT is vulnerable to Sybil attacks, where a node on the network pretends to be 51% of the other nodes to dominate the network and cause evil.
Six popular BFT Blockchain-based platforms
Here are some blockchains that integrate the Byzantine fault tolerance mechanisms.
1. Bitcoin
Bitcoin incorporates Byzantine fault tolerance into its network through its Proof of Work consensus protocol. The blockchain’s PoW consensus algorithm mandates all nodes on the blockchain to check the data structure, block size, block timestamp, blockhead hash, and the first transaction on each data. This process, called data hashing, uses computational power.
2. Ethereum
Previously using PoW, the Ethereum blockchain has transitioned to a PoS system which solves the Byzantine issues. Network validators stake their Ether tokens, and the protocol selects honest validators to process transactions, validate blocks, and vote for a leader of a chain. The protocol forces actors to be honest, making attacks on the network prohibitively expensive.
3. EOS
The EOSIO blockchain achieves consensus via an asynchronous Byzantine fault tolerant (aBFT) layer and a delegated proof of stake (DPoS) layer. The aBFT layer confirms each block of transactions until it is the last irreversible block (LIB). The DPoS layer then confirms the LIB as the final, irreversible block.
4. Ripple
Ripple does not use any of the PoW or PoS consensus mechanisms. Instead, it uses the XRP Ledger Consensus Protocol, a Byzantine fault-tolerant consensus mechanism. The blockchain continues to function normally if the unreliable validators are less than 20% of the total validators. This system prevents double spending and improves blockchain integrity.
5. The chain
Kadena uses a ScalableBFT consensus mechanism to confirm blocks. The blockchain combines Bitcoin’s PoW system with changing decentralized multiple parallel blockchain consensus mechanisms that are energy efficient, scalable and secure and provide a much improved output than Bitcoin’s system. This setup, called “Chainweb”, allows Kadena to perform up to 480,000 transactions per second (TPS) with 20 chains running simultaneously.
6. Quorum
The consensus mechanism for the Quorum cryptosystem is the Istanbul Byzantine Fault Tolerance (IBFT) consensus mechanism. QuorumChain delegates the rights to vote to a pool of nodes (validators); one node is made the proposer to start the block confirmation while the other nodes validate the block. If more than 1/3 of the nodes in the pool misbehave, the block will not be inserted.
The future of Byzantine fault tolerance is bright
As long as cryptocurrencies and blockchain technology continue to exist, so will Byzantine fault tolerance and other consensus mechanisms. However, these mechanisms are likely to continue to evolve.
Originally, Ethereum integrated BFT using PoW, but Ethereum switched from PoW to PoS and updated the BFT algorithm. Likewise, you will continue to see newer and better systems over time. Remember that the crypto space is constantly evolving.