Buy Crypto
Markets
Exchange
Futures
Finance
Promotion HOT
More
Newcomer Zone
Log In
Academy Details
Essentials

Byzantine Fault Tolerance Explained

Published on 2022-10-16 08:18:03
20m

The Byzantine General’s Problem

The Byzantine General's problem explains decentralized parties' difficulties in reaching a consensus when there is no central authority to enforce regulations and supervise the participants. Due to technical faults or misinformation, the components may fail to achieve an agreement. This is the problem: “We imagine several divisions of the Byzantine army are camped outside an enemy city, each division commanded by its own general. The generals can communicate with one another only by messenger. After observing the enemy, they must decide upon a common action plan. However, some generals may be traitors, trying to prevent the loyal generals from reaching an agreement. The generals must have an algorithm to guarantee that (A) All loyal generals decide upon the same plan of action and (B) A small number of traitors cannot cause loyal generals to adopt a bad plan” (The Byzantine Generals Problem, 1982). Marshall Pease, Robert Shostak, and Leslie Lamport proposed the Byzantine Generals' Problem in 1982, "expressed abstractly in terms of a set of generals of the Byzantine army camping with their soldiers around an enemy city."

Byzantine General's problem

Byzantine Problem Formation

In the scenario below, one of the commanders or the Lieutenant is a traitor, preventing the group from reaching a consensus. Consider the traitor a malicious party attempting to facilitate fraudulent transactions in the context of a financial ledger.

Byzantine General's problem formation

As the number of parties in the system grows, so do the number of communication routes and the potential for mistrust and misinformation. Consider the difficulty of reaching an agreement with thousands or millions of lieutenants or generals involved. This is the difficulty faced by nodes governing a decentralized system, which arose in the development of Byzantine Fault Tolerant models to solve this problem.

Byzantine Fault Tolerance Explained

Byzantine Fault Tolerance (BFT) is a characteristic of decentralized, permissionless systems that can successfully detect and reject false or inaccurate information. In a Byzantine Fault Tolerance system, any party can join the network in a peer-to-peer fashion with no central authority governing and controlling the network of participants. Byzantine Fault Tolerance systems are decentralized and permissionless, anyone can be part of the network. Without Byzantine Fault Tolerance, any network participant could send false information, jeopardizing its dependability. In the context of the Bitcoin blockchain network, every participant is called a node, a node can quickly join the Bitcoin network and begin broadcasting blocks and transactions. The Byzantine fault-tolerant system applicable in blockchains is the solution to the Byzantine General's Problem.

How does Byzantine Fault Tolerance relate to Blockchain? 

Blockchain technology is used to validate, process, and record transactions in cryptocurrencies. A group of nodes must agree that a transaction is valid before it can be completed. Each blockchain network has a consensus algorithm, which is the set of rules that its nodes use to agree on transactions. A blockchain network is made up of nodes that are connected peer-to-peer. A blockchain node is any network participant that connects to the network using any device (computer). Blockchain nodes communicate with each other in a decentralized way via a consensus. In a fully decentralized blockchain, no node has more power than other nodes. Nodes in the blockchain network use a consensus to reach an agreement. In the context of Byzantine Fault Tolerance systems, the consensus is the "Generals agreement." Consensus is the most vital yet most challenging task in a decentralized system with no central authority governing the network. For a transaction on a decentralized blockchain to be successful, a majority of nodes must agree on the validity of the transaction, ensuring the blockchain network's effective operation and transparency.

Byzantine nodes are malicious nodes in a blockchain that attempt to disrupt the system. These nodes are commonly referred to as traitor nodes because they may intentionally mislead other nodes in the network in order to steal from the system (double-spend) or simply disrupt the system. A properly operational blockchain network would ensure that the blockchain's Byzantine Fault Tolerance aids it in overcoming failures.

Practical and Asynchronous Byzantine Fault Tolerance

Practical Byzantine Fault Tolerance (pBFT) is a model that provides practical byzantine state machine replication in order to overcome the limitations of byzantine fault tolerance systems. By making the assumption that there are independent node failures and manipulated messages perpetuated by particular independent nodes, pBFT resolves byzantine faults. pBFT model was developed solely to solve the problems and shortcomings of byzantine tolerance solutions that were already available. Blockchains and distributed computing are the main application of Practical Byzantine Fault Tolerant (pBFT) models. Practical Byzantine Fault Tolerant models reduce the influence of malicious nodes, protecting a decentralized system from failures and downtimes. The algorithm is high-performance and is optimized to work in asynchronous systems with only a slight increase in latency.

A feature of the Byzantine Fault Tolerant model is called asynchronous byzantine fault tolerance (aBFT). Asynchronous Byzantine Fault Tolerant (aBFT) systems enable trustworthy network nodes to guarantee that they will agree on the timing and sequencing of a set of transactions fairly and securely. The 'asynchronous' property of Byzantine fault tolerance overcomes the timing challenges of byzantine fault tolerance systems. In traditional byzantine fault tolerance systems, when reaching a consensus, the nodes make an assumption that there is a maximum threshold of message latency. This timing assumption in byzantine fault tolerance systems which causes some messages to be lost or delayed indefinitely is eliminated by the asynchronous byzantine fault tolerant (aBFT) network.

In accordance with the regulatory requirements of relevant departments on cryptocurrency, our service is no longer available for users in the region of your IP address.