Before we can really dive into some of the newer Byzantine Fault Tolerance Protocols, such as Proof of Stake, or NEO’s Delegate Byzantine Fault Tolerance. We need to really examine and understand the one that came first with regard to Fault Tolerance protocols. Of course, I am speaking of Proof of Work, specifically as it relates to solving the Byzantine Generals Problem.
If you can't trust a General, who can you trust???
The 2 Generals Problem is an experiment that represents an issue of computer networking over an unreliable link. In this problem, we’ll call these 2 connected ‘nodes’, Generals. In this situation, both Generals and their armies have come upon a city they wish to attack. Each General’s army on its own is not enough to defeat the enemies army successfully, thus they need to cooperate and attack in a coordinated effort. The problem in coordinating this effort is that the Generals are separated by a significant distance (you can think of this as 1 on either side of a massive castle, with a moat). In this example, General 1 is considered to be the Leader, and General 2 is 2nd in command. In order for them to coordinate the time of the attack, General 1 has to send a messenger across enemy territory, to deliver a message to General 2. Using this method, there are many possible points of failure. The messenger could get captured by the enemy while en route to deliver the message, this would result in General 2 not receiving the message and General 1 attacking while General and his army hold their ground. If the message is successfully delivered by the messenger, General 2 still needs to acknowledge that he received the message. You guessed it, this is done the same way, General 2 now sending the message with the messenger back to General 1. Obviously, the same problem exists on the 2nd message and any subsequent message. Thus, creating a loop where each General is just sending messages without knowing if they have been or will be received by the other General. The essence of the 2 generals problem is if General 1 sends a message, how can General 2 confirm receipt without sending an additional confirmation message? If this sounds confusing to you? Don’t worry, you are not alone, as there is currently no solution to this problem. The reason I provide you the background on the 2 Generals Problem, is a newer problem has been iterated off of this problem, and its stuck its roots into the Blockchain space.
Someone who knows what they're talking about! Hope to see more posts from you like this. Thanks for spreading the word on actual important topics in the blockchain space.
Wow man! This is my first post, and this means a lot. Always nice to start on a platform with some positive feedback. Much different than the Reddit community. I have much more content, as you can see this article is a heavy read so I didn't want to post the whole thing. I just wrote an article on Ripple that takes a 10,000 foot view and also gets into some granular aspects of their XRP product. If you are interested it is here, I will try to post later. https://www.achainofblocks.com/feed/what-is-ripple-how-does-it-use-xrp-to-leverage-instant-liquidity-ripple-explained-2018
Wow, your articles are very underrecognized. I hope steemit and other social medias get you some traction. I think we both suffer from the same problem; detailed, practical, and informative posts have a small target audience.