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 2
This Paper 3 Which directed graphs can solve iterative Byzantine vector consensus?
Vector Consensus Input: d-dimensional vector of reals Output: Vector in convex hull of inputs at fault-free nodes 4
Exact Vector Consensus in 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] 5
This Paper Incomplete directed graphs Iterative approximate consensus Synchronous system … similar results can be obtained for asynchronous 6
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 8
Necessary Condition on Network Graph 9
Notation A B if there exists a node in B with c+1 incoming edges from A 10 c
A Necessary Condition 11
A Necessary Condition Proof by contradiction … omitted Do not know if this condition is tight 12
A Sufficient Condition 13
A Sufficient Condition 14 Partition nodes into 4 sets F L C R ≥ df+1 i j
A Sufficient Condition potential fault set ≥ df+1 i j L, R non-empty
A Sufficient Condition 16 ≥ df+1 i j i or j exists
Sufficiency Proof Algorithm & its correctness under the sufficient condition 17
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 18
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] 19
Proof of Correctness V i [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 20
Proof of Correctness For a given execution, always possible to find a row stochastic matrix M[t] such that V[t] = M[t] V[t-1] Row stochastic: All elements non-negative Each row adds to 1 21
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 22
Summary Vector consensus Using simple iterative structure Minimal state Sufficient condition ≠ Necessary condition 23
Open Problem Finding conditions such that Sufficient condition = Necessary condition 24
Thanks ! 25