The Byzantine Generals Problem - PowerPoint PPT Presentation

About This Presentation
Title:

The Byzantine Generals Problem

Description:

Impossibility Results. A Solution with Oral Messages. A Solution with Signed Messages ... Reaching a consensus amongst distributed ... Impossibility Results ... – PowerPoint PPT presentation

Number of Views:523
Avg rating:3.0/5.0
Slides: 23
Provided by: csU73
Learn more at: http://www.cs.ucf.edu
Category:

less

Transcript and Presenter's Notes

Title: The Byzantine Generals Problem


1
The Byzantine Generals Problem
  • By L Lamport, R Shostak, M Pease
  • COP 6614 Paper Presentation
  • Presented by Aasavari Bhave
  • Sep 20, 2005

2
Outline
  • Introduction
  • Impossibility Results
  • A Solution with Oral Messages
  • A Solution with Signed Messages
  • Observation
  • Communication Paths
  • Conclusion
  • References

3
What is Byzantine Generals Problem
  • Reaching a consensus amongst distributed
    components (Generals of an army) by sending
    information to each other when one or more
    components send conflicting information.
  • Abstraction of fault tolerant distributed system
    having one or more malfunctioning nodes.
  • Details help building a reliable system
    operating reasonably correct in the presence of
    errors.

4
Problem Domain
  • Each division of Byzantine army is directed by a
    general - loyal (most) or traitor (few).
  • Generals communicate with each other using oral
    or signed messages.
  • All generals decide upon plan of action Attack or
    Retreat by looking at messages from others.
  • All loyal generals must decide upon the same
    plan.
  • Few traitors cannot cause loyal generals to opt a
    bad plan.

5
Interactive Consistency Conditions
  • A commanding general orders n-1 lieutenants
    generals.
  • IC1 - All loyal lieutenants obey the same order.
  • IC2 - If the commanding general is loyal then all
    loyal lieutenants obey the order he sends.
  • If commanding general is loyal IC2 -gt IC1.
  • Each commander uses a function Majority
    f(v1,v2,..,v n-1) to make a decision.

6
Impossibility Results
  • No solution exists with oral messages in presence
    of m traitors amongst maximum of 3m generals.

7
Impossibility Results
  • No solution with fewer than 3m1 generals can
    cope with m traitors with oral communication
    Can be proved by contradiction.
  • With signed communication Byzantine generals
    problem can be solved with any number of
    traitors.

8
A Solution With Oral Messages
  • OM(m), m0
  • The commander sends his value to each lieutenant.
  • Each lieutenant uses the value he receives or
    uses a default value if he does not receive any
    value.

9
Solution Cntd
  • OM (m), m gt 0
  • Commander sends his value to every lieutenant.
  • For each i let lieutenant i receives the value Vi
    from commander. Lieutenant i acts as commander in
    call OM(m-1) and sends Vi to n-2 lieutenants.
  • 3. For each i and j ltgt i, Lieutenant i received
    value Vj (from call to OM (m-1) in step 2 ) from
    lieutenant j. Lieutenant i uses function
    Majority(V1,,Vn-1) to make a decision (Default
    value is used if no majority is reached).

10
Example - Oral Messages
  • Majority Achieved

11
Example - Oral Messages
  • Lack of Majority leads to using a default value

12
A Solution With Signed Messages
  • Assumptions
  • A loyal generals signature cannot be forged.
  • Any alteration to the signature can be detected.
  • Anyone can verify the authenticity of a generals
    signature.
  • Notation
  • Message xi value x signed by general i.
  • Message vij value v signed by i and value vi
    signed by j.

13
Solution Cntd
  • SM (m) Vi ?
  • Commander signs and sends his value to every
    lieutenant.
  • For each i
  • If lieutenant i receives message v0 and he has
    not yet received any order then
  • Vi v
  • Lieutenant i sends v0i to all other
    lieutenants.
  • If lieutenant i receives message v0j1..jk and
    v is not in the set Vi then
  • Add v to Vi
  • If k lt m then he sends the message v0j1.jki
    to all lieutenants other than j1jk.
  • For each i when lieutenant i will not receive any
    more messages be obeys the order Choice(Vi).

14
Example Signed Messages
15
Observation
  • Both OM(m) and SM(m) are very expensive in terms
    of number of messages and amount of time
    required.
  • It assumes a complete graph of n generals/nodes
    which is not true in practice.
  • Combining messages will reduce the total number
    of separate messages sent.

16
Observation Cntd
  • In general case (m gt 1) the solution takes m1
    iterations.
  • In each iteration a process sends to a subset of
    other processes the value it received in previous
    iteration.
  • It involves sending O(N m1) messages.
  • Fischer and Lynch 1982 proved that in no less
    than f1 iterations a deterministic solution can
    be obtained.

17
Observation Cntd
  • Dolev and Strong 1983 algorithm uses f1
    iterations but sends only O(N2) messages.
  • The Byzantine generals solution is applicable
    only when there is a great threat.
  • Detailed knowledge of fault model is very useful.
  • A solution without signature(oral messages) is
    impractical.

18
Communication Paths
  • IC2 imposes that a loyal lieutenant must obey
    loyal commander. If every message from commander
    to lieutenant is relayed through a traitor then
    there is no guarantee that lieutenant gets the
    actual commanders order.
  • IC1 imposes that all loyal lieutenants follow the
    same order. Hence if 2 lieutenants communicate
    via a traitorous intermediaries, IC1 cannot be
    guaranteed.
  • Byzantine generals problem is solvable if the
    sub-graph formed by the loyal generals is
    connected.

19
Communication Paths Cntd
  • The Byzantine generals problem is solvable in
    presence of m traitors if the graph of generals
    is 3m-regular.
  • A 3m-regular graph must have 3m1 or more
    generals.
  • A variation of OM(m) - OM(m,p) is proposed for
    graph of generals which is a p-regular graph.

20
Modified Oral Message Solution
  • OM(m,p)
  • Let N be set of p lieutenants, neighbors of
    commander. Commander sends his value to each
    element of N.
  • For each i in N let vi be the value he received
    from commander. Lieutenant i sends vi to each
    other lieutenant k as
  • If m1 , send the value along path i-k.
  • If m gt 1 then act as commander and invoke
  • OM (m-1,p-1). Exclude original commander from G.
  • For each k and i in N (i ltgt k), let vi be the
    value lieutenant k received. . k uses the
    majority value.

21
Conclusion
  • Byzantine generals problem creates an abstraction
    of faulty nodes in a distributed systems.
  • The faulty nodes (due to hardware failure etc.)
    having inconsistent behavior while interactive
    with other components is a typical Byzantine
    fault.
  • Two Solutions to the problem are proposed
  • Exchange of unsigned forgettable oral messages
    Works only when number of faulty elements is less
    than 1/3rd of total number of elements.
  • Exchange of signed messages Works with any
    number of faulty elements.It is more practical.
  • The solutions are costly but implementing them
    ensures extremely reliable distributed system.
  • Variations of solutions can be made even if the
    graph of generals is not a complete graph and
    sub-graph of loyal generals is connected.

22
References
  • L Lamport, R Shokstak, M pease, The Byzantine
    Generals Problem, 1982
  • G Coulouris, J Dollimore, T Kindburg,
    Distributed Systems, Addison Wesley, 3rd
    edition.
Write a Comment
User Comments (0)
About PowerShow.com