Journal of the ACM · 1980 · 2.4K citations · 5 references
ComputingComputer EngineeringComputer ScienceAlgorithmsFault-tolerant ComputingFault-tolerant SystemsConsensus ProtocolsDistributed AlgorithmsDistributed ComputingDistributed ConsensusFault-tolerant CommunicationReliable Distributed SystemsConsensus Under FaultsDistributed ComplexityFault-tolerant Consensus ProtocolsProcessor Faults
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 ≥ 3 m + 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 n ≥ m ≥ 0. This weaker assumption can be approximated in practice using cryptographic methods.
5
New directions in cryptography
Whitfield Diffie, Martin E. Hellman · IEEE Transactions on Information Theory · 1976 · 14.4K citations
Synchronization and Matching in Redundant Systems
Davies, Wakerly · IEEE Transactions on Computers · 1978 · 78 citations