260 likes | 391 Views
Iterative Byzantine Vector Consensus in Incomplete Graphs Nitin Vaidya University of Illinois at Urbana-Champaign ICDCN presentation by Srikanth Sastry Google. Byzantine Fault Model. Faulty nodes may misbehave arbitrarily, including sending inconsistent messages to neighbors. This Paper.
E N D
Iterative Byzantine Vector Consensus in Incomplete Graphs Nitin Vaidya University of Illinois at Urbana-ChampaignICDCN presentation by SrikanthSastryGoogle
Byzantine Fault Model • Faulty nodes may misbehave arbitrarily,including sending inconsistent messagesto neighbors
This Paper • Which directed graphs can solveiterative Byzantine vectorconsensus?
Vector Consensus • Input: d-dimensional vector of reals • Output: Vector in convex hull of inputs at fault-free nodes
Exact Vector Consensusin Complete Graphs Necessary and sufficient condition for a complete graph of N nodes tolerating f faults • Synchronous: N ≥ max(3f, (d+1)f+1) • Asynchronous: N ≥ (d+2)f+1 [STOC13: Mendes-Herlihy PODC13: Vaidya-Garg]
This Paper • Incomplete directed graphs • Iterative approximate consensus • Synchronous system … similar results can be obtained for asynchronous
Iterative Structure • Each node maintains a state: initial state = input vector • Each iteration … communicate with neighbors … update state • Output= state at termination
Correctness Conditions • Termination after finite number of iterations • Validity: State of a fault-free node always in convex hull of input at fault-free nodes (“Minimal state”) • ε-Agreement: Corresponding elements of output vectors at fault-free nodes within ε at termination
Notation A B if there exists a node in B with c+1 incoming edges from A c
A Necessary Condition • Proof by contradiction … omitted • Do not know if this condition is tight
A Sufficient Condition Partitionnodes into4 sets F LCR ≥ df+1 i ≥ df+1 j
A Sufficient Condition potentialfault set L, R non-empty ≥ df+1 i ≥ df+1 j
A Sufficient Condition i or j exists ≥ df+1 i ≥ df+1 j
Sufficiency Proof • Algorithm & its correctness under the sufficient condition
Iterative Algorithm • Obtain current state of all neighbors • Find Tverberg point for each subset of(d+1)f+1 states (own & neighbors) • New state = average of all Tverberg points Terminate after number of rounds that depends on εand the input domain
Tverberg Point for a Multiset S • Partition S into f+1 non-empty subsets such that the intersection of their convex hull is non-empty • Any point in the intersection is a Tverberg point • Intersection is non-empty if |S| ≥ (d+1)f+1 [Tverberg Theorem]
Proof of Correctness • Vi [t] = state of fault-free node i at the end of iteration t • Think of the vector state as a point in Euclidean space • V[t] = Vector of states of fault-free nodes
Proof of Correctness • For a given execution, always possible to find arow stochastic matrix M[t] such that V[t] = M[t] V[t-1] • Row stochastic: All elements non-negative Each row adds to 1
Proof of Correctness • Rest follows from the previous matrix equation … proof structure used in our prior work too … borrowed from work on non-fault-tolerant consensus (decentralized consensus [Tsitsiklis]) • Our main contribution is to prove that the matrix form holds with Byzantine faults … proof omitted
Summary • Vector consensus • Using simple iterative structure • Minimal state • Sufficient condition ≠ Necessary condition
Open Problem • Finding conditions such that Sufficient condition = Necessary condition