Although we tend to talk about bitcoin as a purely financial and monetary revolution, we must not forget that it is also (and above all) a resolution of a very difficult problem in the IT field. We are talking about the problem of “Byzantine generals”. Don't be fooled by an expression that seems to tell a little history lesson. We are talking about a problem that deals with the difficulty for a decentralized system to reach a reliable consensus, even though elements can transmit false information.
Without Satoshi Nakamoto directly mentioning the problem of the Byzantine generals in the bitcoin white paper, his proposal provides a solution.
How did Bitcoin solve this complex problem? Let's find out in this article which will explain to you in simple terms what this problem means and how it is solved with Bitcoin.
Understanding the problem of the Byzantine generals
The Byzantine generals problem is a metaphor used in mathematics that describes a situation where participants in a decentralized network must reach consensus despite the presence of malicious or faulty participants. Thus, the metaphor allows us to represent the generals as the nodes of a network, and the city they are besieging refers to the famous consensus to be reached.
def byzantine_generals_problem():
# Les généraux sont les nœuds du réseau
generals = ["A", "B", "C", "D", "E"]
# La ville est le consensus à atteindre
city = "Consensus"
The main challenge of this problem is that some generals may turn out to be (dirty) traitors who send contradictory and false information to sow confusion and prevent consensus from being reached. The big question of the “problem” therefore consists of wondering how to prevent false information from circulating and undermining the consensus.
It is important to note that only decentralized systems are susceptible to the Byzantine generals problem, because they do not have a reliable source of information and have no way to confirm the information they receive from other network users. . The problem does not arise in a centralized system since the information can be validated and controlled by the central entity.
👩🏫 A peu d'histoire: “Byzantium” refers to the Byzantine Empire, also known as the Eastern Roman Empire. It was an empire that emerged after the division of the Roman Empire in 395 and lasted until the fall of Constantinople in 1453. The Byzantine Empire had as its center the city of Byzantium, which was renamed Constantinople (and which is currently Istanbul, Turkey) by the Roman Emperor Constantine I in the XNUMXth century.
The importance of the problem of the Byzantine generals
This problem was addressed in detail for the first time in the article “The Byzantine Generals Problem” which was published in 1982. Given the context, this was a significant problem then, which became more important with the emergence of connected computer networks. It was then necessary to find solutions to achieve reliable transmissions within a network.
Indeed, if the problem of the Byzantine generals is essential to resolve, it is because it affects all types of computer systems, and not only those which are exploited in sensitive services, such as military applications for example.
If a distributed group of nodes needs to have reliable communication between all members, then the Byzantine generals problem must be solved. This is essential.
Without having a formal resolution to the problem of the Byzantine generals, alternatives or semi-answers have been provided with systems which are said to be “tolerant” to Byzantine failures (BFT).
Byzantine Fault Tolerance (BFT)
Byzantine Fault Tolerance (BFT) is the ability of a system to withstand these conditions. Networks that can withstand more Byzantine failures have greater tolerance, meaning they are more secure than those that cannot.
How does Bitcoin solve the Byzantine generals problem?
It might surprise many to know that the problem of the Byzantine generals was resolved indirectly. Indeed, in all likelihood, Bitcoin was not specifically designed to solve the problem of the Byzantine generals. However, it offers an elegant but solid solution to a related problem called the “double spending problem” in a decentralized network.
The double-spending problem is in fact a variant of the Byzantine generals problem in the specific context of electronic payment systems. This is a problem that surfaced from the first attempts to create a decentralized digital currency as was the case with e-gold or even Wei Dai's B-money for example.
Bitcoin managed to solve the double-spending problem by introducing distributed consensus through a mechanism called Proof-of-Work. In the Bitcoin network, nodes (miners) must solve complex mathematical problems in order to add a new block to the Timechain. This requires time and energy resources, which then becomes extremely difficult for a malicious actor to falsify the entire transaction history.
By connecting blocks to each other sequentially and chronologically, and having each block contain a reference to the previous block, the Bitcoin blockchain creates distributed consensus. If a malicious node tries to modify a transaction in a past block, it would also have to modify all subsequent blocks, which becomes increasingly difficult as new blocks are added. This is then mathematically possible but in reality, infeasible.
This is how bitcoin indirectly solves the problem of the Byzantine generals.
The problem of the Byzantine generals in the financial context
Regarding the financial field, Bitcoin was the first solution to the problem of the Byzantine generals. In reality, money is an ideal example to understand the problem of the Byzantine generals. How can a society create a currency that all members can trust without there being a central authority deciding its reliability? This was the whole point of the creation of Bitcoin. And it was still enigmatic before the implementation of the proof-of-work mechanism which therefore gives us an empirical feasibility of this problem.
Thus, the blockchain (or more precisely the “timechain”) offers people a way to exchange in complete security while being sure of the reliability of the information transmitted.
Conclusion
As we have seen, Bitcoin does not directly address the problem of the Byzantine generals as a whole. However, it provides a subtle solution to a riddle that was previously thought to be insurmountable. Thus, Satoshi Nakamoto succeeded in creating a currency in a decentralized system while guaranteeing the reliability of the information. It's a mathematical feat, it's a genius in the process.
This also explains why many bitcoiners are convinced that the inventor of Bitcoin could deserve a Nobel Prize. Yes, and this would only be a small recognition of what he brought to the world.
*I apologize for the dithyrambic tone of this article, but it was difficult for me to minimize this aspect of Bitcoin.
For further :