5 ms·
Could this be solved by sending lots of messages to synchronize between the two parties. Even if most messages are lost, its possible to have a state where you
by FrozenVoid 8y ago
Could this be solved by sending lots of messages to synchronize between the two parties.
Even if most messages are lost, its possible to have a state where you have both the same goal: if both receive the same message they sent they're on the same page.
A sends "Attack?Send your plan"
B sends "Retreat,Send your plan"
A sends "Retreat,Send your plan"
B sends "Retreat,Send your plan"
A sends "Retreat,Send your plan"
B sends "Retreat,Send your plan"
- humbledrone 8y agoEve could defeat this strategy by dropping all messages.
- nevi-me 8y agoI had a similar comment re. eventual consistency; and I think this is a case of eventual consistency. I think it doesn't work because the problem becomes "when to retreat". It actually introduces a third state (attack; retreat; do nothing), where I might retreat today, and you do nothing. Out of interest, if you set a time/date on when to retreat, how would the message look like, and how would you define confirmation for both parties?
- FrozenVoid 8y agoContinuous synchronization is a solved problem: https://en.wikipedia.org/wiki/Network_Time_Protocol https://en.wikipedia.org/wiki/Network_Time_Protocol
- zzzcpan 8y agoIt's possible to have a state where both reach consensus, but not possible to guarantee such state to happen in bounded time. Here's another example: Alice asks Bob to attack in the morning. Bob accepts. But Eve doesn't let Bob's acceptance message to get to Alice. Alice waits for some time and asks Bob again to attack in the morning. Bob accepts. But message still doesn't reach Alice. If message does reach Alice before the attack, it's a win. If not, i.e. Eve holds messages past the attack time, only Bob attacks, as Alice won't know if he will.
- FrozenVoid 8y agoSynchronization can involve any data. A sends "Attack at 5:00, send your plan" B sends "Attack at 5:00, send your plan" A sends "Attack at 5:00, send your plan" B sends "Attack at 5:00, send your plan" A sends "Attack at 5:00, send your plan" B sends "Attack at 5:00, send your plan" Repeat until you got 3-4 confirmations of same data being sent back to you and the plan will work.
- mdonahoe 8y agoIs it 3 or 4? Is 2 enough? Let’s say the last message in your example is dropped B would have 3 acks from A while A only has 2 acks from B. Will A attack? If not, B is left attacking on their own. Similarly, what if none of Bs messages make it back to A? How does B know to attack?
- gnopgnip 8y agoThe problem is that thou never know if they received the last message. Without it there will be uncertainty from at least one of the generals