Byzantine Fault Tolerance is a property of a network algorithm or consensus protocol that operates on a distributed network to resolve errors or inconsistencies on the network by comparing data across the network and accepting the data that matches that of the majority of the network.
Byzantine Fault Tolerance (BFT) was first conceived in the 1990s to address the issue of occurrences of a Byzantine fault in a distributed computer network. A Byzantine fault is where incongruencies occur in failure-detection across a network, such as where one system can show an error, while the other shows the system to be operating properly.
This is something like when some people get booted out of the company email system and cannot log back in, while others are still able to work normally.
However, it is more severe than that, because while a delay in accessing your email’s data will only cause a delay from the bottlenecking of work, the errors in the system will create inconsistencies in the data log and also make it easier for malicious attacks and corruptions to spread in the network.
These errors are called ‘faults.’ There three main kinds of faults that can occur in a network, namely transient, intermittent and permanent fault. Transient faults occur once-off, intermittent faults occur once in a while with seemingly no permanent effects until they occur again, and permanent faults will remain in the network until it is removed or replaced.
This is why it was necessary to develop Byzantine fault detection protocols, as well as BFT protocols to correct or undo in faulty data or system errors.
How is Byzantine Fault Tolerance Applied to Blockchains?
BFT is a type of consensus that is often implemented on private and public blockchains. It is especially important in networks that implement a gossip protocol, as it ensures that the blockchain will maintain accurate data and records, even if a fault would occur in relating the data to or storing the data in one or more of the nodes of a network. This is because gossip protocols only relate data to one node at a time, which makes it more susceptible to disruptions and obstructions occurring in the data relays.
Therefore, in simple terms, a byzantine fault tolerance protocol is a method of consensus that utilizes consensus to identify accurate data when an inconsistency or latency is discovered in the network. Many types of consensus algorithms are integrated with BFT protocols, including the Proof of Work (POW) protocol utilized on the Bitcoin blockchain, and the Proof of Stake (PoS) protocol implemented in the Ethereum blockchain.