The Two Generals Paradox
A computational thought experiment, illustrated by two generals and their armies, explains succinctly why we could not develop decentralized systems in the past.
While an entire library could be filled with the literature that has tackled this concept, your humble author will try, as concisely as possible and in laymen terms, to explain this paradox.
Imagine, if you will, a valley between two mountaintops, and two generals with their armies on the hilltops of both sides. The generals have decided both will attack a city beneath, but have yet to agree on the time of the attack. They must attack the city at the same time, or risk a lone attack where their army will face defeat. Any messages sent between the generals must pass through the city, and that message is therefore vulnerable to being intercepted or even altered by the defenders of the city.
{Positions of the armies. Armies A1 and A2 need
to communicate but their messengers may be
captured by army B (Source: Wikipedia)}
So what can the generals do? How can they solve the dilemna?
What would you do?
Let's say that one general can send a message to the second saying 'Attack at 5 am'. How can he know that the message was received unaltered?. Well then, how about the second general sends a reply saying 'Confirmed. Attack at 5 am', how can he know that the message is not intercepted? And so, there will always be the need for one more message, and no matter how many messages are sent, one general, in the end, will be left unsure if the other general will indeed attack at the same time.
Now you might say, what in the world does that have to do with anything that matters. This is all just a computational trust thought experiment. The truth is, this paradox is the reason we have always had centralized systems of control. Decentralized authoritarian systems of any kind were not possible without first solving this dilemna of trust.
It is the reason certain organizations can charge nearly 10% simply for the mere privilege of using their centralized systems to transfer currency. (Western Union, Money Gram, etc…) We had no possible way in the past to transact directly with one another, we always needed a third entity that both parties can trust. It is also the reason elections can be rigged in a centralized location, where no peering eyes will see. On a public distributed and decentralized system, there can be no stuffing of the ballot box.
Enter, Satoshi Nakamoto.
-------------
Follow my blog for the complete book which will be uploaded one chapter at a time, exclusively on steemit for the next 3 months.