What: Byzantine Fault Tolerance (BFT) is the ability of a distributed computer network to reach consensus despite an outage or intervention by malicious peers relaying bad data. The objective of BFT is to defend against these risks by mitigating either scenario via a consensus algorithm.
Why: BFT gets its name from the 1982 research paper “Byzantine Generals Problem” published by Leslie Lamport, Robert Shostak, and Marshall Pease. It was based on their prior work at NASA SIFT/SRI the late 1970’s.
The paper describes a scenario where unreliable participants (Byzantine Generals) must agree on a single strategy (Byzantine consensus) to attack or retreat from a city: “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 the loyal generals to adopt a bad plan. The loyal generals will all do what the algorithm says they should, but the traitors may do anything they wish. The algorithm must guarantee condition (a) regardless of what the traitors do.” (R1)
Example: Bitcoin relies on a consensus algorithm known as Proof of Work (PoW). Under PoW miners adding blocks to the blockchain must solve a power-intensive task using specialized hardware (ASICs). Bitcoin PoW uses a hashing algorithm that takes roughly 10min to complete.
References:
(R1) https://www.microsoft.com/en-us/research/uploads/prod/2016/12/The-Byzantine-Generals-Problem.pdf
Pic: https://en.wikipedia.org/wiki/Basilica_of_San_Vitale
« Back to Glossary Index