| This is a classic problem in fault-tolerant
system design. Through the replication of services (computations) a
system attempts to continue to operate in a reasonably correct manner in
the presents of errors (e.g., faults).
The situation:
 | Four commanders are ready to either attack or retreat, but they
must all perform the same operation to be successful; |
 | They have direct
and perfect communication lines among them: that is, there are
neither mistakes nor cut communication lines; |
 | All commanders must make the same final decision; |
 | Every commander must base his decision on the correct information
from every loyal commander. |
The Problem:
 | One commander maybe a traitor, who will obey orders, but send out
false ones to his fellow commanders. |
 | Every commander must use the same procedure to make his decision. |
The Solution:
 | Since every commander has direct and reliable communications with
every other commander, and considering the case of only one
traitor, each commander should:
 | Send the command to all other commanders; |
 | Review the commands sent by the other commanders and use a
majority voting scheme to decide. |
 | While the traitor can send false orders, he too must obey the
majority scheme, thus, all commanders will execute the same order. |
|
Questions:
 | Does this work for 3, 5, 6, or 7 commanders, argue your points. |
|