In the previous post, we explain the concept of consensus with one very basic example. You can refer the below link to read about more on that.
In this post, we will talk about Two General problem, which is the starting point of consensus to understand.
What is Two General Problem ?
This problem seems to be very simple, but this is unsolved as of today. So, let’s understand this in detail.
This problem states a scenario where two generals are attacking a common enemy, both the generals has its own army and they will be able to defeat the enemy only if they both attack at same time, if any one of them does not attack then they will not be able to win this battle.
Now the problem here is the communication between two generals, for them to communicate they need to exchange the messages.
First general sends a messenger across the enemy camp that need to share the time of the attack to second general, now there may be chance that messenger is captured by enemy army and they distort the message and the correct timing details is not passed to second general as shown in above example.
Once the information is received by second general then acknowledgement of that need to be send to first general and again that messenger can be captured by army and messenger share some other timing of the attack and this acknowledgement cycle will keep on going. So, this problem seems to be unsolved.