# How is the double-spend problem related to the Byzantine generals problem?

I’ve read that Bitcoin’s key innovation is solving the double-spend problem. I’ve also read that Bitcoin solves the Byzantine generals problem.

Are the double-spend and the Byzantine generals problem related somehow? If yes, how?

The Byzantine generals problem (BGP) refers to a situation where independent actors need to agree on a common strategy but can't know which actors or information they can trust.

In Bitcoin terms, participants need to verify that a transaction they receive is indeed valid and that the inputs of that transaction are not already spent by a different transaction. The relation between double-spend and BGP lies in the fact that there can be multiple valid parallel chains, and there is no central authority signing off on which is the valid chain. Without knowing which chain everyone else is using, it's impossible to agree on which outputs have already been spent and thus validate your transaction.

Bitcoin's approach to probabilistically solving this problem is to use Proof of Work, which makes it very expensive to produce multiple valid chains. With every additional block added to the chaintip, it becomes more expensive and thus less rewarding to double-spend a transaction.

• You mention that PoW solves the BGP by helping us know which chain everyone is using. Then you add that without knowing such chain, it's impossible to agree on outputs spent (agreeing on this solves the double-spend problem). You lastly say that agreeing on outputs is necessary to validate a transaction. But PoW is actually not needed to validate transactions. So I'm now confused on the order of events you outline. Commented Aug 21, 2022 at 23:47
• @StatsScared how you describe it is not how I structured my answer, though. The order is important. Let me know what still does not make sense in the correct order and I'd be happy to revise where necessary. In short: in order to validate, we need to agree on a valid chain. With PoW it becomes very expensive to create multiple valid (longest) chains, so with each added block we get more confidence. Commented Aug 22, 2022 at 13:48

Are the double-spend and the Byzantines general problem related somehow? If yes, how?

They are the same problem. If you can solve one, you can solve the other.

Imagine you had a solution to the double spend problem. You could then solve the BGP as follows:

1. One general submits a first transaction to the system that can solve the double spend problem.
2. The general waits the time the system needs to solve the problem.
3. The general submits a second transaction to the system that can solve the double spend problem that is a double spend of the first transaction.
4. If the first transaction wins, the generals attack. If the second transaction wins, the generals do not attack.

If the system solves the double spend problem such that one and only one transaction confirms, then either both generals will attack or neither will attack, so the system can also solve the BGP.

Bitcoin does not solve the Byzantines General problem. Point.

Bitcoin purchases the temporary solution )))

• This is a technically correctly but completely useless answer. Commented Aug 21, 2022 at 13:51