What is the Byzantine Generals Problem?

  • 2025-07-28

 

As we mentioned before, a distributed ledger can be considered the framework of a blockchain, where everyone can freely participate and collectively process the data within the blockchain. Based on this, a blockchain is essentially a large-scale distributed computing network.

There is no central command center to issue orders—the entire network is completely decentralized. It relies on different nodes exchanging information and reaching consensus to act uniformly. The entire process is like a leaderless group discussion.

In light of this, some raised the question: What if a node sends incorrect information, disrupting the network's normal operation, or if disagreements arise? Scholars then established a model, collectively referring to such problems describing the consistency of distributed systems as the Byzantine Generals Problem.

The Byzantine Generals Problem is described as follows:

The Byzantine Empire wants to attack a country and dispatches multiple armies to besiege it. However, the enemy nation also possesses strong military capabilities, so the generals must attack simultaneously to achieve victory.

The problem lies in the fact that each general is scattered around the enemy territory and can only communicate via messengers on horseback to coordinate the attack time. However, on one hand, messengers may be killed by the enemy while delivering messages. On the other hand, unreliable intelligence suggests that some of these generals may be traitors. Traitors might arbitrarily change attack plans or timing, sending false orders to other generals and influencing their judgment.

If the entire distributed network is analogous to the Byzantine Empire and each node represents a general, then under such conditions, how can all nodes in the network reach consensus on a certain decision? (i.e., ensuring all generals attack at the same time to win the battle.) This is the Byzantine Generals Problem.

In simple terms, the Byzantine Generals Problem describes two key challenges in distributed networks:

  1. How to synchronize communication between nodes. For example, in the absence of traitors, General A might propose an attack plan (e.g., attack at 2 PM tomorrow), while General B might propose a different plan (e.g., attack at 3 PM tomorrow).

  2. How to prevent malicious nodes from deliberately sending false information to disrupt the network. For instance, if traitors exist, they might send conflicting attack proposals to different generals, preventing consensus.

Later, it became clear that ensuring every node in a distributed network never makes mistakes is impossible. Thus, the concept of Byzantine Fault Tolerance (BFT) was proposed to solve the Byzantine Generals Problem. The core idea is that forged or incorrect information does not matter as long as the number of honest generals exceeds two-thirds of the total. Even if a minority of dishonest generals exist, the system can still reach consensus.

Based on this, many solutions were designed. Among the four core technologies of blockchain, the consensus mechanism was developed specifically to address this problem.

Go Back Top