"Before the Bitcoin protocol was invented, most computer scientists thought a system like Bitcoin was impossible because of a famous problem in computer science called the Byzantine Generals Problem." ... wait what?
To elaborate a little more, because there seems to be tons of discussion about this when there really shouldn't be.
Here is a probabilistic solution to the problem.
1) Each General sends n messages to all the other generals.
2) After a time period y all the generals count their messages and decide how to act.
3) This is not a "solution" to the original problem. If we lose sufficient messages we may "attack" at the wrong time. However it is a probabilistic solution because as n & y increase we are less likely to make the wrong decision.
There are lots of known probabilistic solutions and while I'm a fan of the Bitcoin Protocol the existence of another doesn't change anything for computer scientists.