Byzantine Fault Tolerance
Blockchain infrastructure is the architecture of every cryptocurrency. Blockchains are designed with the aim of being decentralized thanks…
Blockchain infrastructure is the architecture of every cryptocurrency. Blockchains are designed with the aim of being decentralized thanks to their distributed ledger technology, which is maintained by a distributed network of nodes. With this technology, these distributed nodes have to agree on the current state of the blockchain. This is what we call consensus. Reaching consensus is far from an easy task.
So how do nodes reach consensus without some acting dishonestly? This brings us to what we call; Byzantine Generals’ problem which gave birth to Byzantine Fault Tolerance.
Byzantine Generals’ Problem
Conceived in 1982 by Leslie Lamport, Robert Shostak, and Marshall Pease, the Byzantine Generals’ Problem is a logical dilemma that shows how Byzantine generals may have a problem trying to reach an agreement.
This logical dilemma assumes that the generals are in different locations and intend to attack a particular city. The generals have to reach a consensus on whether to attack or retreat. As follows:
Each general has to decide whether to attack or retreat, which cannot be changed.
The action above must be coordinated synchronously.
However, limitations to the above are:
There could be a communication problem because the messages that are transmitted between the generals could be lost or delayed.
Even if the messages are transmitted to the respective general. That general might want to act maliciously and send a false message to other generals to confiscate the whole process.
When applied to the blockchain, each general represents a node. And for a node to reach consensus, the majority of participants have to agree in order to execute the same action and avoid complete failure.
The only way for nodes to reach consensus in this situation is by having two-thirds of the nodes being honest. As a result, a malicious attack will only affect the blockchain if the attacker has control of the majority of the blockchain, such as a 51% attack; this is unlikely to occur in blockchains such as Bitcoin and Ethereum because controlling a majority of a chain of this magnitude would require a large amount of capital.
Byzantine Fault Tolerance
Byzantine Fault Tolerance is a characteristic of a blockchain to resist the failures derived from the Byzantine Generals’ Problem. Meaning that a blockchain with a BFT feature will still function if some of the nodes act maliciously or disagree.
This is vital to blockchains such as Bitcoin and Ethereum. Some of the implementations of BFT are consensus mechanisms like Proof-of-Work, Proof-of-Stake, and Proof-of-Authority.
Satoshi Nakamoto, the creator of Bitcoin, applied Proof-of-Work in order to avoid the Byzantine Generals’ Problem. By having the property of BFT the Bitcoin network can withstand malicious attacks even if 1/3 of its nodes are affected.
Conclusion
It’s important to note that beyond blockchain technology, other sectors such as aviation, nuclear power, and space use BFT to reach consensus.
Reaching consensus is important in blockchain technology, and as blockchains aim to attain scalability, innovations to consensus mechanisms will be imminent. Regardless, POW and POS, two of the most popular applications of the BFT system, have led to the widespread application of blockchain technology.
If you enjoyed this write-up and would like to reach out to me. This is my Twitter handle- twitter.com/0xSalazar
Please remember to do your research. None of this is financial advice.