What is the Byzantine Generals’ Problem?
Getting multiple people to agree on a plan of action without it falling apart can be a frustrating experience, whether it be what movie to watch or what restaurant to order from. Some will refuse to budge and others will simply not reply or suddenly duck out last minute.
The ‘Byzantine Generals’ Problem’ deals with a similar dilemma and gets its name from an allegory that was created to describe this challenge of achieving consensus in distributed systems. To use the above example, to avoid a social event ending in failure, both you and your friends must all reach an agreement or consensus and make sure no one breaks from it in order to solve the problem.
Applying this to distributed ledger technology, a solution to the Byzantine Generals’ Problem relies on an algorithm or set of rules that can guarantee:
- All participants agree on the same plan of action
- Any bad actors cannot have the ability to influence the final decision. The algorithm must guarantee the first condition regardless of any outside attempts to alter it.
In a distributed system like Bitcoin’s blockchain, all the computers that are connected to the blockchain network must all agree on a certain set of rules, and be able to move forward by agreeing on a particular assessment of a transaction before it can be added to the block.
With large networks where thousands of computers can be running at any one time, reaching a consensus is a challenge. Each computer must also agree on the validity of each new transaction to avoid manipulation and attempts to rewrite the ledger by hackers or other malicious third parties.
Therefore a consensus algorithm must be adopted to solve this problem. For Bitcoin and many other blockchains, the Proof of Work (PoW) consensus algorithm was chosen to ensure the computers were able to work together effectively and make updates to the ledger securely.