Problema de los dos generales

Este ejercicio mental implica tener en cuenta cómo se llega efectivamente a dicho consenso.

En principio, y según lo expuesto, es bastante sencillo para los generales llegar a un acuerdo en lo que se refiere al momento de atacar.

Sin embargo, una vez enviado, el primer general no tiene la certeza de si el mensajero llegó al otro lado.

Si los generales no atacan coordinados, la guarnición de la ciudad rechazará la vanguardia, y disminuirá considerablemente sus fuerzas.

Se hace evidente que no importa cuántas veces se confirme la información, no hay forma de garantizar -según este planteamiento- que ambos generales manejan la misma información.

Considérese el último de estos mensajes entregados con éxito en dicha secuencia mínima.

Desde el punto de vista del último remitente, sin embargo, la secuencia de mensajes enviada y recibida es exactamente la misma que habría sido antes, cuando el mensaje se hubiese recibido.

El bosque vacío representa el protocolo que termina antes de enviar ningún mensaje.

Un enfoque pragmático para hacer frente al problema de los dos generales es utilizar esquemas que acepten la incertidumbre del canal de comunicaciones y no intente eliminarla, sino mitigarla hasta un grado aceptable.

Además, el primer general puede enviar una marca en cada mensaje diciendo que es el mensaje número 1, 2, 3...o n. Este método permitiría al segundo general saber cuán seguro es el canal y enviar un número apropiado de mensajes de vuelta para asegurar una alta probabilidad de que al menos uno sea recibido.

Jim Gray dio a este problema el nombre «La paradoja de los dos generales»[4]​ en 1978 en Notes on Data Base Operating Systems[5]​ desde la página 465.