Reaching approximate agreement in the presence of faults
Journal of the ACM (JACM)
Asynchronous byzantine agreement protocols
Information and Computation
Asynchronous approximate agreement
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
Easy impossibility proofs distributed consensus problems
Fault-tolerant distributed computing
Impossibility of distributed consensus with one faulty process
Journal of the ACM (JACM)
Distributed Computing: Fundamentals, Simulations and Advanced Topics
Distributed Computing: Fundamentals, Simulations and Advanced Topics
Optimal Byzantine-resilient convergence in uni-dimensional robot networks
Theoretical Computer Science
Distributed Computing with Mobile Robots: An Introductory Survey
NBIS '11 Proceedings of the 2011 14th International Conference on Network-Based Information Systems
Optimal resilience asynchronous approximate agreement
OPODIS'04 Proceedings of the 8th international conference on Principles of Distributed Systems
Byzantine vector consensus in complete graphs
Proceedings of the 2013 ACM symposium on Principles of distributed computing
Hi-index | 0.00 |
The problem of ε-approximate agreement in Byzantine asynchronous systems is well-understood when all values lie on the real line. In this paper, we generalize the problem to consider values that lie in Rm, for m ≥ 1, and present an optimal protocol in regard to fault tolerance. Our scenario is the following. Processes start with values in Rm, for m ≥ 1, and communicate via message-passing. The system is asynchronous: there is no upper bound on processes' relative speeds or on message delay. Some faulty processes can display arbitrarily malicious (i.e. Byzantine) behavior. Non-faulty processes must decide on values that are: (1) in Rm; (2) within distance ε of each other; and (3) in the convex hull of the non-faulty processes' inputs. We give an algorithm with a matching lower bound on fault tolerance: we require n t(m+2), where n is the number of processes, t is the number of Byzantine processes, and input and output values reside in Rm. Non-faulty processes send O(n2 d log(m/ε max{δ(d): 1 ≤ d ≤ m})) messages in total, where δ(d) is the range of non-faulty inputs projected at coordinate d. The Byzantine processes do not affect the algorithm's running time.