Reputation: 2841
In case you don't know the problem, see this.
Brief introduction:
Processes communicate by reliable and timely messages. Traitors lie, also cheat on forwarding messages, they try to confuse loyals. Loyals try to agree on non-trivial actions (attack, retreat, only 2 actions). There is only one commander. If the commander is loyal and gives orders, loyals follow otherwise loyals agree on arbitrary actions.
My problem:
I don't understand this case: assume that there are 4 processes, only 1 process is commander, and the commander is a traitor. How can the system tolerate this? The commander can send 3 different messages to the 3 loyals. Each loyal forwards messages to the other 2 loyals. So each loyal will receive 3 different actions. How can the loyals decide to act uniformly?
The general result is: 3f + 1
processes needed to tolerate f
traitors.
Upvotes: 2
Views: 139
Reputation: 46323
The Byzantine fault tolerance problem deals with a scenario where 2 possible actions exist and must be agreed upon.
The problem described can't happen, because between 2 possible actions (2 "messages"), there can't exist "3 different messages".
Upvotes: 4