The Byzantine generals problem is one of the most famous problems in computer science. The problem is for processes to reach agreement on some value despite the malicious effects of faulty processes. This paper presents a solution for a variant of this problem in which agreement is defined as all nonfaulty processes being within some previously defined bound. A solution is given for both the synchronous and asynchronous cases. The basic idea of the solution is to discard enough values from a set of messages that the range of responses is within the range generated by the nonfaulty processes.
The most interesting aspect of this paper is the solid theoretical basis presented for the algorithms. This theoretical basis allows the authors to generate solutions for both asynchronous and synchronous communications without substantial changes to the algorithm itself. The only weakness of this paper is a lack of examples, which could clarify the theory and the algorithms. Otherwise, it is a strong paper that serves as a good example of solid techniques for solving distributed problems.