Iterative Byzantine Vector Consensus in
Incomplete Graphs
Nitin Vaidya
University of Illinois at Urbana-Champaign
ICDCN presentation by
Srikanth Sastry
Byzantine Fault Model
g Faulty nodes may misbehave arbitrarily,
including sending inconsistent messages to neighbors
2
This Paper
3
g Which directed graphs can solve
iterative Byzantine vector consensus?
Vector Consensus
g Input: d-dimensional vector of reals
g Output:
Vector in convex hull of inputs atfault-free nodes
4
Exact Vector Consensusin Complete Graphs
Necessary and sufficient condition for a complete graph of N nodes tolerating f faults
g Synchronous: N ≥ max(3f, (d+1)f+1)
g Asynchronous: N ≥ (d+2)f+1
[STOC13: Mendes-Herlihy PODC13: Vaidya-Garg]
5
This Paper
g Incomplete directed graphs
g Iterative approximate consensus
g Synchronous system
… similar results can be obtained for asynchronous
6
Iterative Structure
g Each node maintains a state: initial state = input vector
g Each iteration
… communicate with neighbors
… update state
g Output = state at termination
Correctness Conditions
g Termination after finite number of iterations
g Validity: State of a fault-free node always in convex hull of input at fault-free nodes
(“Minimal state”)
g ε-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
g Proof by contradiction … omitted
g Do not know if this condition is tight
12
A Sufficient Condition
13
A Sufficient Condition
14
Partitionnodes into
4 sets
F L C R ≥ df+1
≥ df+1
i
j
A Sufficient Condition
potentialfault set
≥ df+1
≥ df+1
i
j
L, R non-empty
A Sufficient Condition
16
≥ df+1
≥ df+1
i
j
i or j
exists
Sufficiency Proof
g Algorithm &
its correctness under the sufficient condition
17
Iterative Algorithm
g Obtain current state of all neighbors
g Find Tverberg point for each subset of(d+1)f+1 states (own & neighbors)
g 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
g Partition S into f+1 non-empty subsets such that the intersection of their convex hull is non-empty
g Any point in the intersection is a Tverberg point
g Intersection is non-empty if |S| ≥ (d+1)f+1
[Tverberg Theorem]
19
Proof of Correctness
g Vi [t] = state of fault-free node i at the end of iteration t
g Think of the vector state as a point in Euclidean space
g V[t] = Vector of states of fault-free nodes
20
Proof of Correctness
g For a given execution, always possible to find arow stochastic matrix M[t] such that
V[t] = M[t] V[t-1]
g Row stochastic: All elements non-negative Each row adds to 1
21
Proof of Correctness
g 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])
g Our main contribution is to prove that the matrix form holds with Byzantine faults
… proof omitted
22
Summary
g Vector consensus
g Using simple iterative structure
g Minimal state
g Sufficient condition ≠ Necessary condition
23
Open Problem
g Finding conditions such that
Sufficient condition = Necessary condition
24
Thanks !
25