Synchronous Mortal Byzantine        A Fault Tolerant Mechanism For Distributed                                          Sy...
Introduction   Several divisions of the Byzantine army are camped outside an    enemy city, each division commanded by it...
Faults   Deviation from expected behavior   Variety of factors       hardware       software       operator       Ne...
What is a Byzantine Failure?   Three primary differences from Fail-Stop Failure    1)   Component can produce arbitrary o...
Motivation   Build reliable systems in the presence of faulty components   Common approach:       Have multiple (potent...
Key StepA commanding general must send an order to his n-1 lieutenantgenerals such thatIC1. All loyal lieutenants obey the...
Option 1: Loyal Commander                               commander                                             attack      ...
Option 2: Loyal L2                                  commander                                                     retreat ...
Oral Message Algorithm   OM(0)       Commander sends his value to every lieutenant   OM(m), m>0       Commander sends ...
Example: Bad Lieutenant     Scenario: m=1, n=4, traitor = L3                         A           C            AOM(1):    ...
Example: Bad Commander     Scenario: m=1, n=4, traitor = C                          A           C                AOM(1): ...
Three Phase Protocol   state of each replica is stored in a message log.   Primary p receives a client request m , it st...
Three phase protocol(contd.)
Conclusion   The algorithm works correctly in asynchronous system like the internet.   Previous algorithms are too slow ...
Thank you
Upcoming SlideShare
Loading in …5
×

7th Seminar Report

428 views

Published on

This was my B.E 7th Semester seminar report on byzantine fault

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
428
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

7th Seminar Report

  1. 1. Synchronous Mortal Byzantine A Fault Tolerant Mechanism For Distributed SystemsSeminar Report By:Bibaswann BandyopadhyayCSE, 7th SemesterRoll No. 20081017University Institute of Technology
  2. 2. Introduction Several divisions of the Byzantine army are camped outside an enemy city, each division commanded by its own general. However, some of the generals may be traitors. Since the Byzantine Empire ceased to exists, we observe that Byzantines were mortal, their traitors doubly so. In what follows, we treat them as such.
  3. 3. Faults Deviation from expected behavior Variety of factors  hardware  software  operator  Network Three categories  transient faults  intermittent faults  permanent faults Any fault may be  fail-silent (fail-stop)  Byzantine
  4. 4. What is a Byzantine Failure? Three primary differences from Fail-Stop Failure 1) Component can produce arbitrary output • Fail-stop: produces correct output or none 2) Cannot always detect output is faulty • Fail-stop: can always detect that component has stopped 3) Components may work together maliciously • No collusion across components
  5. 5. Motivation Build reliable systems in the presence of faulty components Common approach:  Have multiple (potentially faulty) components compute same function  Perform majority vote on outputs to get “right” result C1 C2 majority(v1,v2,v3) C3 f faulty, f+1 good components ==> 2f+1 total
  6. 6. Key StepA commanding general must send an order to his n-1 lieutenantgenerals such thatIC1. All loyal lieutenants obey the same order.IC2. If the commanding general is loyal, then every loyallieutenant obeys the order he sends.
  7. 7. Option 1: Loyal Commander commander attack attack L1 L2 retreatWhat must L1 do?By IC2: L1 must obey commander and attack
  8. 8. Option 2: Loyal L2 commander retreat attack L1 L2 retreat What must L1 do?By IC1: L1 and L2 must obey same order --> L1 must retreatProblem: L1 can’t distinguish between 2 scenarios
  9. 9. Oral Message Algorithm OM(0)  Commander sends his value to every lieutenant OM(m), m>0  Commander sends his value to every lieutenant  For each i, let vi be value Lieutenant i receives from commander; act as commander for OM(m-1) and send vi to n-2 other lieutenants  For each i and each j i, let vj be value Lieutenant i received from Lieutenant j. Lieutenant i computes majority(v1,...,vn-1)
  10. 10. Example: Bad Lieutenant  Scenario: m=1, n=4, traitor = L3 A C AOM(1): A L1 L2 L3 COM(0):??? A L2 L3 L1 R A RDecision?? L1 = m (A, A, R); L2 = m (A, A, R); Both attack!
  11. 11. Example: Bad Commander  Scenario: m=1, n=4, traitor = C A C AOM(1): R L1 L2 L3 AOM(0):??? A R L1 L2 L3 A R ADecision?? L1=m(A, R, A); L2=m(A, R, A); L3=m(A,R,A); Attack!
  12. 12. Three Phase Protocol state of each replica is stored in a message log. Primary p receives a client request m , it starts a three-phase protocol. Three phases are: pre-prepare, prepare, commit. Pre-prepare and prepare phases is used to totally order requests. In pre-prepare phase  Primary assigns sequence number n to request.  Multicast pre-prepare msg. to all backups and appends the msg. to its log.
  13. 13. Three phase protocol(contd.)
  14. 14. Conclusion The algorithm works correctly in asynchronous system like the internet. Previous algorithms are too slow to be used in practical (proportional to the number of faulty nodes vs. number of phases) One reason why Byzantine fault tolerant algorithms is important in future is that they allow the system to work correctly even when there are software errors.  not all, software errors that occur in all replicas  It can mask errors that occur independently at different replicas  Non-deterministic software errors  Persistent errors
  15. 15. Thank you

×