1

After reading the Two Generals' Problem, I am wondering as to why there isn't any solution and please correct me if I am missing something.

What if, the generals decide that they will attack if they receive at least two confirmations from each other. They number their messages. They continue communication up to more than 2 confirmations, e.g., let's say up to number 10. Even if they don't the last message, they both have at least 2 confirmations, and know that the other has at least 2 confirmations, as long as they get the 3rd confirmation, which, as decided beforehand, should be enough to coordinate the attack.

2 Answers2

2

Let's say $a$ has gotten its second confirmation while $b$ only has one confirmation. $a$ sends an ack to $b$ to tell $b$ it has received the second message. Now, by your rule $a$ should start attacking but what if $b$ doesn't get the message?

This problem will always exist because consider some point just before consensus. Then the consensus would depend on one more message being sent. But we cannot know if that message is sent successfully.

0

Your logic when you state

they both have at least 2 confirmations, and know that the other has at least 2 confirmations

is incorrect.

As said, the protocol is ambiguous. Do I send 10 confirmations no matter what message is received (i.e., just to indicate that I am ready for war)? Or do I send the $k$-th message, as an acknowledgement of getting some other message? Either is not a solution.

In the former case, there is an $\varepsilon^{10}$ probability that all my 10 messages failed to transmit, where $\varepsilon$ is the probability of failure.

In the latter case, unless I receive that message, I would never even send my $k$-th signal, which spoils the logic of what remains.

Lisa E.
  • 555
  • 1
  • 18