Iterative Byzantine Vector Consensus in Incomplete Graphs Nitin Vaidya University of Illinois at...

Preview:

Citation preview

Iterative Byzantine Vector Consensus in

Incomplete Graphs

Nitin Vaidya

University of Illinois at Urbana-Champaign

ICDCN presentation by

Srikanth Sastry

Google

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

Recommended