Hacker News new | ask | show | jobs
by another-one-off 2895 days ago
So, always attack?

But if we don't know that the other army is in position, and if Eve burns every message, then the problem is clearly unsolvable.

2 comments

The point of the Two Generals problem is that it's impossible to solve. No matter how many acknowledgements you send or receive over a lossy medium you can never be sure that both parties will agree on whether to attack. It's a fairly infamous restriction on distributed system design.

Working distributed systems have to work around this (and other) restrictions that are implicit to the properties of a distributed system. So TCP still works perfectly fine even though a perfect version of TCP (that didn't have timeouts) would be mathematically impossible to implement.

Yes, either start with always attack, or always retreat.

Another (practical) solution could be to spoof a message, making it appear as if from Eve. Some kind of steganography might work as well (or alternative forms of communication such as pigeons or smoke signals). And if all communications between Alice and Bob is discarded, this would worry either one of them to send a personal messenger who is human. This person could be captured and tortured, sure. But if they get "burned" as well, that'd be an act of war. Plus, if they are able to predetermine that if they don't hear from each other after X time, they attack after X + Y time (e.g. 3 months and 1 month [to prepare]) then the problem can be solved. If they cannot create a clear way of predetermined action based on actions then they'll always retreat.

Actually now that I gave it some further thought this "two general problem" can be observed in the cold war as well via (the nuclear threat of both parties). The nuclear threat from both sides created an equilibrium akin to what could happen in the described situation.