I've read various descriptions of the TGP, most of which seem vague or conflicting on the precise constraints of the problem. Specifically:

  • is it always or sometimes impossible to reach consensus
  • finite/infinite messages required
  • given unreliable communication, is actual message loss important or not.

As another point, the depiction of the problem seems inadequate, as there's no need for the generals to always require acknowledgement for their last message if they regard previous ones:

0 A ----time info--> B

1 A <---AckForA0---- B

2 A ----AckforB0---> B

3 A <---AckforA1---- B

1... A knows B received his time info and is ok with it but might not attack if he doesn't receive confirmation for his ack.

2... B knows A received his ack because he responded.

3... A knows B got his ack because he responded

Can anyone give a better example which illustrates this specific need to rely on acks of the respective last messages.

  • 1
    $\begingroup$ Have you seen any formal description of the problem? This should clear out all difficulties. $\endgroup$ Dec 9 '20 at 7:18
  • $\begingroup$ What I'm trying to do here is to have an accessible summary so others don't have to wade through abstract academic drivel which doesn't address most of the above points in a clear way, at least the accounts I've found. $\endgroup$
    – bumble
    Dec 9 '20 at 13:28
  • $\begingroup$ Regarding your example: B doesn't know that A knows that B got his ack. So for all B knows, A might think B didn't get his ack, and thus A might not attack. Meaning B will not attack. And this goes on forever. $\endgroup$
    – Tassle
    Dec 9 '20 at 17:15
  • $\begingroup$ That's what I tried to explain: A might think B didn't get his last ack, but A knows B got the ack before, which is sufficient for a general.Thus a better illustration for the problem wouldn't allow for this. $\endgroup$
    – bumble
    Dec 9 '20 at 17:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.