Byzantine Agreement Consensus in the Presence of Uncertainties - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

Byzantine Agreement Consensus in the Presence of Uncertainties

Description:

But...they can only affect the system components over which they are supposed to ... graph G, tolerating f faults, if and only if the following conditions hold: ... – PowerPoint PPT presentation

Number of Views:103
Avg rating:3.0/5.0
Slides: 26
Provided by: misc4
Category:

less

Transcript and Presenter's Notes

Title: Byzantine Agreement Consensus in the Presence of Uncertainties


1
Byzantine AgreementConsensus in the Presence of
Uncertainties
  • CoCoA Talk 28 9 May 2003

2
The Consensus/Agreement Problem
  • Each process in the network begins with an
    initial value and is supposed to output a value
    of the same type.
  • All processes must agree outputs must be the
    same even though the inputs can be arbitrary.
  • The problem arises in many distributed computing
    applications, e.g processes attempting to reach
    agreement, or identifying a component as faulty.

3
Lets attack!
Lets retreat!
4
Byzantine Agreement Problem
  • Process might exhibit arbitrary behavior.
  • Butthey can only affect the system components
    over which they are supposed to have control
  • Sample problem

5
We take all this for granted
  • The network is an n-node connected undirected
    graph with processes 1,,n, where each process
    knows the entire graph.
  • Every message that is sent is delivered
    correctly.
  • The receiver of a message knows who sent it.
  • There can be at most f failures.

6
Correctness Conditions
  • AgreementNo two processes decide on different
    values.
  • ValidityIf all processes start with the same
    initial value v ? V then v is the only possible
    decision value.
  • TerminationAll processes eventually decide.

7
Conditions in the presence of failures
  • AgreementNo two non-faulty processes decide on
    different values.
  • ValidityIf all non-faulty processes start with
    the same initial value v ? V then v is the only
    possible decision value for a non-faulty
    process.
  • TerminationAll non-faulty processes eventually
    decide.

8
attack
attack
attack
retreat
he said retreat
he said retreat
9
Impossibility Result
0
0
1
0
1
1
10
a
a1
11
a2
a
12
0
a
1
a3
13
Byzantine Agreement in General Graphs
  • Condition for complete graphs
  • Byzantine agreement in a tree?
  • ConnectivityThe connectivity of a graph G,
    conn(G), is defined to be the minimum number of
    nodes whose removal results in either a
    disconnected graph or a trivial 1-node graph.

14
Connectivity
  • c-connectivityA graph G is said to be
    c-connected if conn(G) c.
  • Mengers Theorem A graph is c-connected if and
    only if every pair of nodes in G is connected by
    at least c node-disjoint paths.

15
  • The Byzantine agreement problem can be solved in
    an n-node network graph G, tolerating f faults,
    if and only if the following conditions hold
  • n gt 3f
  • conn(G) gt 2f

16
1
2
4
3
17
3
4
1
2
4
2
3
1
18
0
0
0
19
1
1
1
20
1
0
0
21
Exponential Information Gathering
22
Algorithm EIGByz
  • Round 1 Process i broadcasts val(l) to all
    processes, including i itself. Then process i
    records the incoming information.
  • 1. If a message with value v ? V arrives at i
    from j, then i sets its val(j) to v
  • If no message with a value in V arrives from i to
    j, then i sets val(j) to null.
  • Round k, 2 k f 1Process i broadcasts all
    pairs (x,v) and processes the incoming
    information.
  • If xj is a level k node label in T, where x is a
    string of process indices and j is a single
    index, and a message saying that val(x) v ? V
    arrives at I from j, then I sets val(xj) to v.
  • If xj is a level k node label and no message with
    a value in V for val(x) arrives at I from j, then
    I sets val(xj) to null.

23
EIGByz continued
  • At the end of f1 rounds, process i adjusts its
    val assignment so that any null value is replaced
    by the default v0
  • Process i works from the leaves up decorating
    each node with an additional newval.
  • For each leaf labeled x, newval(x) val(x). For
    each non-leaf node labeled x, newval(x) is
    defined to be the newval held by a strict
    majority of the children node of x.
  • Process is final decision is newval(l)

24
Invariant Assertions
  • Lemma 1 After f1 rounds of the EIGByz
    algorithm, the following holds. If i,j, and k are
    all nonfaulty processes, with i?j, then val(x)i
    val(x)j for every label x ending in k
  • All nonfaulty processes agree on the value
    relayed directly form nonfaulty processes.

25
  • Lemma 2 After f1 rounds of the EIGByz
    algorithm, the following holds. Suppose that x is
    a label ending with the index of a nonfaulty
    process. Then there is a value v ?V such that
    val(x)i newval(x)i v for all nonfaulty
    processes i.
  • All nonfaulty processes agree on the newvals
    computed for nodes whose labels end with
    nonfaulty process indices
Write a Comment
User Comments (0)
About PowerShow.com