Reaching agreement in the presence of faults

M Pease, R Shostak, L Lamport - Journal of the ACM (JACM), 1980 - dl.acm.org
M Pease, R Shostak, L Lamport
Journal of the ACM (JACM), 1980dl.acm.org
The problem addressed here concerns a set of isolated processors, some unknown subset
of which may be faulty, that communicate only by means of two-party messages. Each
nonfaulty processor has a private value of information that must be communicated to each
other nonfaulty processor. Nonfaulty processors always communicate honestly, whereas
faulty processors may lie. The problem is to devise an algorithm in which processors
communicate their own values and relay values received from others that allows each …
The problem addressed here concerns a set of isolated processors, some unknown subset of which may be faulty, that communicate only by means of two-party messages. Each nonfaulty processor has a private value of information that must be communicated to each other nonfaulty processor. Nonfaulty processors always communicate honestly, whereas faulty processors may lie. The problem is to devise an algorithm in which processors communicate their own values and relay values received from others that allows each nonfaulty processor to infer a value for each other processor. The value inferred for a nonfaulty processor must be that processor's private value, and the value inferred for a faulty one must be consistent with the corresponding value inferred by each other nonfaulty processor.
It is shown that the problem is solvable for, and only for, n ≥ 3m + 1, where m is the number of faulty processors and n is the total number. It is also shown that if faulty processors can refuse to pass on information but cannot falsely relay information, the problem is solvable for arbitrary nm ≥ 0. This weaker assumption can be approximated in practice using cryptographic methods.
ACM Digital Library