>>537825757
In computer science, the Two Generals' Problem is as follows:
>There are two generals, each leading their own army, positioned on two sides of a castle
>They can only communicate via messengers
>All messengers must pass through enemy territory and therefore risk failing to deliver their message
>If the two armies assault the castle at the same time, they will be victorious
>But if only one army assaults at a time, it will end in defeat
>Is there a scheme by which the generals can reliably coordinate a shared time to attack at? (Or, failing that, do nothing?)
As it turns out, the answer to the problem is "No". No such scheme exists. No matter what communication scheme the generals use to come up with a shared attack time, there must exist a failure mode where one army attacks without the other. You are encouraged to try to come up with a communication scheme yourself and then see why it fails.
This issue persists in all communication systems. Most notably for us is the following variation of the problem:
>There is a client and a server, separated by the internet
>The client wishes that the server perform an operation
>If the operation is performed, the client wishes to log a success
>Otherwise, the client wishes to log an error
>Is there a scheme to accomplish this?
And again, the answer is no. All such systems must admit at least one of two failure modes:
>The operation is performed and the client logs an error
>The operation is not performed and the client logs a success
Evidently, the protocol 4chan uses must be of the first category. Surely, you must've experienced many such communication failures in your life. Be assured that it is not because engineers are stupid, but because it's literally impossible to prevent.
Though in the case of 4chan, 99% of the problem could be prevented by just disallowing users from making the same post twice in a row.