coincentral-main-menu-search-eyeglass
Hamburger X.

What is the Byzantine Generals Problem? | CoinCentral

Byzantine Generals' Problem

What is the Byzantine Generals Problem? | CoinCentral

The Byzantine Generals Problem is a term etched from the computer science description of a situation where involved parties must agree on a single strategy in order to avoid complete failure, but where some of the involved parties are corrupt and disseminating false information or are otherwise unreliable.

Byzantine General

Byzantine Army to set the mood.

The Byzantine Generals Problem makes for an excellent fundamental example of how Bitcoin’s Proof-of-Work consensus algorithm functions, and understanding it generally elevates your comprehension of other consensus algorithms.

Byzantine Generals Problem for Dummies

Welcome to the Byzantine Army, kid, strap your boots on, shine your helmet, and pick up your impossibly heavy shield – we’re going conquerin’.

Byzantine meme

Here’s your yearly quota of Byzantine history memes.

You’ve come at just the right time – we’ve got this city surrounded but have an unfortunately complicated logistics issue here. We have two armies, one on each side of the enemy city, and we need to attack at the same exact time. The city is strong enough to defend itself against one of our armies, but not strong enough to defend against two at the same time. If we don’t attack at the same time, we lose. And losing sucks.

So, the generals of each army need to agree on the exact moment of when to attack. They communicate by sending a messenger back and forth through the enemy city. There’s no other way to communicate – cell phone service wasn’t the best around 600 AD.

For example, General A will send the message “Hey General B, we’re going to attack on Thursday. Can we count on you to attack with us?” The messenger then runs through the city and delivers the message to General B, who in turn responds, “We can’t do Thursday, group pilates. How about Friday? If we attack on Friday, will you attack with us?” And then the messenger runs through the city to deliver the message to General A, and so forth.

However, here’s the kicker: the messenger could potentially get caught in the city and replaced by a #fakenews messenger, who will intentionally try to deceive the other general to attack the city at the wrong time, dooming our army to a loss.

There is no way to check if the message is authentic, so how do we, as the finest military strategists in the land, create a “trustless” system that ensures victory in attacking the city?

And that’s the Byzantine Generals Problem.

Byzantine Generals Problem and Bitcoin

The above dilemma isn’t necessarily limited to just two generals. In a distributed network such as that of Bitcoin’s, all participants and nodes are essentially of equally hierarchy. So, now instead of needing to reach verification and agreement between two parties, we need all participants to approve, while neutralizing corrupt or misleading players.

The agreement between all of these nodes is called, you guessed it, consensus.

The solution to the Byzantine Generals Problem isn’t simple by any means. It involves some hashing, heavy computing work, and communication between all of the nodes (generals) to verify the message.

Next Steps

If you still find yourself a bit confused on the Byzantine Generals Problem, don’t fret. We’ve gathered a few video explanations to help you better understand the Byzantine Generals Problem, and the ensuing development of “Byzantine Fault Tolerance”, the primary method the bitcoin network uses to generate chains of Hashcash style proof-of-work (or mining).

Here’s a <1-minute explanation to dramatic music (which Numb3rs is a great show for everyone’s inner math nerd).

Here’s a <25-minute explanation by Ivan on Tech that goes from a bird’s eye view of the Byzantine Generals Problem, and more of the nitty gritty solutions.

And here’s a <1.5-hour lecture by the one and only Andreas M. Antonopoulos (whose name ironically sounds like a Byzantine General) on consensus algorithms, the Byzantine Generals Problem, and a lot of stuff in between.

Best of luck in your learning journey, soldier!

NEWSLETTER

Newsletter (Sidebar)

  • This field is for validation purposes and should be left unchanged.

RELATED ARTICLES

Blitzpredict

What is BlitzPredict (XBP)? | A Beginners Guide

BlitzPredict is a blockchain sports betting platform which aggregates odds from several markets to provide clients with...

Read More
nonce

What Is a Nonce? A No-Nonsense Dive into Proof of Work

An analysis of the role of the nonce in the Bitcoin proof of work mining process, alongside...

Read More
what is nxt

What is Nxt? | Beginner’s Guide

In this Nxt beginner’s guide, you’ll learn how a blockchain is used to create a platform of...

Read More

NEXT ARTICLE

Getting Started Gold Bars.

NEXT ARTICLE

What is BlitzPredict (XBP)? | A Beginners Guide

BlitzPredict is a blockchain sports betting platform which aggregates odds from several markets to provide clients with the best odds when making a bet.

ABOUT THE AUTHOR

Getting Started Gold Bars.

ABOUT THE AUTHOR

Alex is the Editor-in-Chief of CoinCentral. Alex also advises blockchain startups, enterprise organizations, and ICOs on content strategy, marketing, and business development. He also regrets not buying more Bitcoin back in 2012, just like you.