User Avatar

Leo E.

Byzantine Generals

3y ago

Math enthusiast

The Byzantine Generals Problem

Yesterday I wrote about how 40 years ago NASA realized computer systems would fulfill critical functions in our daily lives. Consequently, they had to design a system that would have extremely low failure rates. However, at that time we did not know how to design them correctly. Admittedly, we still don't but we got better at it.

One particularly interesting concept that helps us design better systems is known as the Byzantine Generals Problem. It was proposed by an illustrious computer scientist, Leslie Lamport. Mathematically, the problem is about consensus in distributed systems. Since that sounds boring, imagine there is a Byzantine army attempting to siege a city. In fact, you don't have to imagine, there were plenty of Byzantine sieges, not the least the Siege of Naples, but that's another story.

So coming back to the main story, there are Byzantine Generals with their armies around Naples and they had to decide whether to attack or retreat. The generals can communicate only via a messenger. Moreover, not all generals are loyal, and some may actively attempt to thwart the attempt.

Finally, the solution to the problem must ensure:

  1. All loyal generals will agree on the same plan of attack.

  2. Treacherous generals cannot deceive the loyal generals into adopting the bad plan.

Seemingly this is a simple problem. However, it turns out it is impossible to devise a solution with two loyal and only one disloyal general. I barely scratched the surface, so I may return to it later.

The all-in-one writing platform.

Write, publish everywhere, see what works, and become a better writer - all in one place.

Trusted by 80,000+ writers