In the land of crypto we hear this a lot. What’s it about? Imagine there’s a siege and three generals from the Byzantine empire are surrounding a big city, ready to attack. If they all attack together, they will surely win. But if only some of them do it, those could lose. So, to achieve the best result, they have to agree on if and when to attack. That’s how this problem relates to our consensus problem. It’s the same.
To communicate between them, the generals send messages between them saying things like: “I think we should attack tonight” “I agree with attacking tonight.” “Yeah, let’s do it tonight.”
If they all end up agreeing, it’ll look like victory is ensured. The night comes, but only two of them attack, and get crushed. The remaining one was left untouched. He was a traitor and he was lying.
When it comes to our money, the equivalent thing to “attack tonight” would be “this is the true list with the right transactions”. We need to design the system in such a way that it penalizes the traitors and makes it not worth it to cheat. In the case of generals, you could make it so every other general takes each other’s sons to battle with them, so you have an incentive not to get them all killed. In the case of our cryptographic money, we use mining and the usage of electricity to make it not profitable, the spread of lists in nodes to make it impractical, and the chained blocks to make stuff irreversible.