The Byzantine fault (or the Byzantine Generals Problem) is a well-known thought experiment made up of an allegory about three Byzantine generals, whose way of communication was the key to successfully attack a city.
Decentralized blockchains provide many advantages — sovereignty, privacy, control, and transparency. However, having no central authority in place comes with one crucial obstacle that every decentralized network is facing — reaching consensus on the state of the ledger. When a new transaction is broadcast to the network, the nodes are responsible to make a decision:
“accept” the transaction, render it valid, and include it in the current ledger, or
“fail” the transaction (basically ignoring it).
The final decision is made when the majority agrees upon one option, thus reaching consensus.
But what if one of the actors tries to tamper with the state of the ledger? Or, what if the “majority” comprises of a single party or an individual? This dilemma is solved with the Byzantine Fault Tolerance algorithm.
The story dates back to the late middle ages, the era of the Byzantine empire. Three army generals, who lead different parts of the Byzantine army, are planning to attack a city. To succeed, they must attack the city from different sides simultaneously and their main form of communication is a messenger. There is also a possibility, that one of the generals is a traitor and will intentionally send a misleading message to the other two generals. Therefore, they must find an efficient and viable mechanism to come to an agreement in such a manner that the traitor cannot affect the outcome and so that they do it all at the same time.
The pBFT algorithm
This dilemma was solved in 1999 by Castro and Liskov who demonstrated the pBFT (the practical Byzantine Fault Tolerance) algorithm. The main difference from the POW (the Proof-of-Work) mechanism, where all nodes are identical to each other, is that the pBFT assigns each node a specific role to achieve consensus and maintain the state of the ledger. By doing so, the pBFT (compared to the POW) can have faster transactions speed, is more energy efficient and less costly for the user. However, the pBFT also comes with its own drawbacks, the main one being the Sybil Attack, where a single adversary may create multiple nodes in the network, compromising its security.
Who currently uses it?
IBM’s Hyperfabric Ledger uses pBFT to provide its users with additional scalability.
Zilliqa, a well-known cryptocurrency, combines the POW and the pBFT algorithms to provide a higher transaction speed.
This article is a part of our Blockchain 101 series. See all articles or jump to:
Blockchain 101 | Part 1: What the Heck Are Permissioned and Private Blockchains?
Blockchain 101 | Part 2: “FCD3 6880 ADD7 FB45?” or “What the Hell Are Hash Functions?”
Blockchain 101 | Part 3: What Makes Bitcoin Secure? Hint: Merkle 🌳
Blockchain 101 | Part 4: Biggest Threat for Blockchain: 51% Attack?
Blockchain 101 | Part 5: The Story Behind the Byzantine Consensus
Blockchain 101 | Part 6: Just How “Smart” Are Smart Contracts?
Follow us on social media: