The Problem of Byzantine Generals in Cryptology


In the age of digital information, the main problem is its protection. The question is: How do we protect the transmission of data so that the information reaches the recipient and is not intercepted somewhere along the way? How to determine that the final recipient really is one and not a hacker spy who purposely pretends to be an adequate user in order to imbalance the system? DDoS attacks, hacks of cryptocurrency networks and exchanges are commonplace. Blockchain and wallet code vulnerabilities have already caused the bankruptcy of startup DAO and exchange Mt Gox. Cryptocurrency developers use PoW, PoS, DPoS, PoI, etc. to protect information. Although they do not yet have an absolute result, the idea of protection is very interesting and is taken from the last century. And it all started with the problem of Byzantine generals.

The task of the Byzantine generals

The Byzantine consensus is a fictional problem on how network participants interact with each other, which takes into account that the center (which came to decentralize the network much later) and/or individual network participants may turn out to be malicious.

The essence of the problem is as follows. There is a Byzantine army which consists of X number of legions, spaced apart, which have their own general. All generals are subordinate to the commander-in-chief. On the eve of battle the commander-in-chief sends orders to each general to attack or retreat. It is known that some generals may be traitors and the commander in chief himself may specifically send different orders to the generals. The development of the situation may be as follows:

  • if all loyal generals attack, the army wins;
  • if all the loyal generals retreat, the army remains intact;
  • if loyal generals perform disjointed actions, the army is defeated.

The task of the Byzantine generals comes down to finding out who the traitor is in order to exclude him from the decision-making system and to come to one opinion. It is logical that a simple exchange of information would not help in this case.

Take the special case of four legions, where one general is a traitor (the problem is solved for the number of traitors X-1). To determine which of them is a traitor, we use third-party information, such as the number of legions. The actions are as follows:

  • each general sends three other generals data on the size of his legion;
  • each general forms a block from what the other generals sent him, which will have three digits. The Byzantine agreement problem has a cumbersome solution, but allows you to accurately exclude from the system participants who bring chaos to the system;
  • each general sends the other three generals a generated block. Thus each general receives 4 blocks (including his own) with three digits each. The traitor, who will introduce disorientation into the system, will send different numbers. Each general will only have to compare the numbers in the blocks and see from which general the numbers will be different.

By excluding a traitor from the system, the generals can easily come to a common decision: to obey the order of the commander-in-chief or to come to a common agreement among themselves. Byzantine generals problem solves the problem of communication in the system of any number of users. His idea was the basis for the PoW proof-of-work algorithm, on which at least a third of existing cryptocurrencies are built. Despite the fact that Byzantine consensus is centralized, many machine algorithms are based on it, where computing processes use a single processor (server) and where there is a need to protect the internal work from third-party interference.

How a trader should behave in such technical difficulties

The Byzantine Generals problem led to the emergence of the BPT system, used in a wide range of systems. This includes not only cryptocurrency operations, but also aviation, nuclear power, space, and other areas of human activity where many elements need to be coordinated to ensure stability.

U.S. scientist Leslie Lamport proved back in November 2000 that “agreement” between the generals is achieved when there are less than half of the renegades. This was the basis of the “51% principle”, behind which a correct vector system can be obtained only if there is a majority of “faithful” generals controlling the cryptocurrency mining procedure.

Considering only cryptocurrencies, effective communication in the context of a consensus system ensures the viability of the blockchain – security, resiliency and other aspects of the system must obey the appropriate algorithms. Traders interested in improving the efficiency of receiving BTC and other monetary units are best left out of the details. The exceptions may be situations where software development and patching are required on their own.