The Byzantine Generals Problem

The Byzantine General’s Problem

The Byzantine Generals Problem is what really stands in the way of a system like the one described above. Conceived in the 1980s, it describes a dilemma in which isolated participants must communicate to coordinate their actions. A few army generals are standing around a city, trying to decide whether or not to attack it. The only means of communication between the generals is via messenger.

Each party must independently decide whether to fight or escape. As long as all the generals concur on the same course of action, it is irrelevant whether they fight or escape. If they choose to engage in combat, they can only prevail if they do so at the same time. How then can we ensure that they can accomplish this?

Yes, they could convey a message verbally. What if, however, the carrier is captured with the message “We’re attacking at dawn,” but the message is changed to “We’re attacking tonight”? What if one of the generals is dishonest and attempts to mislead the others into losing?

All generals are successful when attacking (left). When some retreat while others attack, they will be defeated (right).

We need a plan that can bring people together, even if some of them are evil or their communications are hacked. Inability to maintain a database is not as dangerous as striking a city without a backup, but the concept is the same. Users must be able to communicate if no one is monitoring the blockchain and providing “correct” information.

To account for the possibility that one or more users will fail, the blockchain’s processes must be able to withstand such failures. This capability is characterised by the term Byzantine fault-tolerant. As we will see in a moment, consensus methods are utilised to ensure compliance with standards.

Add a Comment

Your email address will not be published. Required fields are marked *