excellent. can you elaborate a bit?
consensus involves building upon the longest chain and measuring the amount of "work" done by that chain. can you relate that to the generals and their messengers w/o going into the math?
Everyone wants to take everyone's else bitcoin and block reward.
Yet at the end of the day, everyone trusts the majority of the network that each of them is biased towards collective positive action that yields greater benefits.
Bitcoin can resist adversary attacks of less than 50% strength, it can withstand a minority of the network going offline or rogue, and it helps everyone achieve consensus given the above. Each peer accepts the next valid block in his chain and looks for the following block again. Consensus is reached based on valid work.
Now a quote:
Byzantine fault tolerance can be achieved, if the loyal (non-faulty) generals have a unanimous agreement on their strategy. Note that if the source general is correct, all loyal generals must agree upon that value. Otherwise, the choice of strategy agreed upon is irrelevant.
Now with bitcoin keywords:
Bitcoin blockchain fault tolerance can be achieved, if the loyal (non-faulty) peers have a unanimous agreement on their transactions. Note that if the block structure and hash is correct, all loyal peers must agree upon that block. Otherwise, the choice of blocks agreed upon is irrelevant.
If and when a 51% attack happens, an error in the transaction tree will be inserted, such as a valid double-spend, invalid coin generation, etc. This is hardly possible though, as the bitcoin clients are all loyal, so the 51% attack must rely on faulty clients to propagate the disloyal orders. However meanwhile the loyal generals will side with the loyal decision maker that demonstrated the most value.
An example of this was the 0.8 blockchain fork, where two independent blockchains formed, each one adding blocks that they considered valid. The solution to the disloyal event was not resolved with the general's problem though.
You can not have bitcoin without complete connectivity coverage, the same algorithms on each peer, and an incentive to hash new blocks.
This explanation is completely messed up and might miss the point...