The Blockchain Byzantine General Problem
I will explain the “Byzantine General Problem,” which comes out being associated as common knowledge with crypto assets.
- What is the Byzantine General Problem?
- Byzantine empire Byzantine general problem
- Countermeasures against the Byzantine General problem through blockchain
- The Byzantine General Problem was not completely solved
What is the Byzantine General Problem?
The Byzantine general problem is a problem that when two or more options ask for the consensus formation of everyone, it is impossible to make consensus formation correctly between two or more due to partial fraud. First, I will proceed with an example of the Byzantine empire that was the source of the Byzantine troop’s issue.
Byzantine empire Byzantine general problem
Nine generals of the Byzantine empire surrounded a the circumference of a kingdom in order to attack it. The way to defeat this kingdom was by simultaneous attack by all 9 generals who were scattered in each direction. If even one general failed to attack, the whole attack would end in failure.
Therefore, in order for the Byzantine Empire army to judge whether to attack all at once or not, they had decided to take a majority decision for all generals. Since there were no mobile phones or smartphones at that time, the transmission clerk sends a messenger and confirms with each general whether it is “attack” or “withdraw” from the left and right hand side. However, there is one traitor Z general who is trying to end the Byzantine Empire’s strategy. Let’s assume among the eight generals not including traitor Z that the votes were split evenly at 4 “attack” and 4 “withdraw,” with the one remaining vote being with traitor Z.
Well, how will traitor Z end the military operation?
Traitor Z displayed a vote of “attack” towards the army which is displaying intention of “attack,” and “withdrawal” to the army which is displaying intention of “withdraw.” As a result, the army who received indicated intention to ‘attack’ decided on the “whole army attack” by majority vote, and the army who expressed intention to ‘withdraw’ decided on the “whole army withdraw.” In other words, when multiple people are dispersed, the whole agreement cannot be taken correctly, so there is a risk that someone betrays the army by cheating.
This problem that cannot take the whole consensus formation like this is called the Byzantine General Problem. The troubles caused by the Byzantine General Problem are called Byzantine Failures.
Countermeasures against the Byzantine General problem through blockchain
Resolve the Byzantine General Problem with PoW
In order to solve the Byzantine General Problem, the crypto asset Bitcoin adopted a consensus algorithm (approval method) called PoW (proof of work). In the network of the blockchain, a central authority does not exist and each node (computer) is scattered around the network being fully dispersed. Therefore, it is necessary for all participants in the network to confirm the validity of transaction data. PoW scrutinizes transactions on the network through a huge amount of calculation work, and the node that has found a certain value at the earliest time will agree on whether the calculation result matches other nodes. Once you agree, you can add newly created blocks to the block chain and receive mining fees.
In other words, it can be said that a PoW’s approval method realizes a system in which fraud is unlikely to occur by performing enormous calculation work.
How a PoW system works
With Bitcoin, it is important to record and verify correct transaction data on the chain. For example, if a data alteration problem such as a transfer of 1 BTC resulting in only transferring 0.5 BTC, no one will use Bitcoin and the value of it will decrease. Therefore, the miner that generates the block must also be a trustworthy person/entity who does not have bad intentions. The rewards of a PoW system were designed to exceed those of obtaining mining fees over the enormous calculation work mechanism and for performing illicit acts such as theft and network tampering.
Risk of adopting PoW
PoW has a systematic vulnerability called a 51% attack. In order to confirm the validity of the block by PoW mining, users do not approve the transaction with just one node, but also form an agreement on whether the calculation is correct for other nodes. In this instance for Bitcoin, if there is approval of 51% or more from the whole node, the transaction is approved.
In reality, the possibility of a 51% attack is considered to be extremely low, due to enormous equipment and maintenance costs and the high difficulty of mining.
The Byzantine General Problem was not completely solved
It is appropriate to think that the general Byzantine problem with Bitcoin is not completely resolved, but “it made the possibility of Generating Byzantine troops to almost zero.” This is because PoW’s approval system consists of a majority voting type and the possibility of a third party attempting to commit a system vulnerability is not zero.
However, this does not mean that the consensus agreement was imperfectly applied in the 10 years since Bitcoin was born.