Upcoming SlideShare
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Standard text messaging rates apply

# 7th Seminar Report

261

Published on

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

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

Published in: Education
0 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

Views
Total Views
261
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
1
0
Likes
0
Embeds 0
No embeds

No notes for slide

### Transcript

• 1. Synchronous Mortal Byzantine A Fault Tolerant Mechanism For Distributed SystemsSeminar Report By:Bibaswann BandyopadhyayCSE, 7th SemesterRoll No. 20081017University Institute of Technology
• 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. 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. 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. 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. 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. Option 1: Loyal Commander commander attack attack L1 L2 retreatWhat must L1 do?By IC2: L1 must obey commander and attack
• 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. 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. 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. 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. 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. Three phase protocol(contd.)
• 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. Thank you