Byzan&ne Fault Tolerance
CS 425: Distributed Systems Fall 2011
1
Material drived from slides by I. Gupta and N.Vaidya
Byzan&ne Fault Tolerance CS 425: Distributed Systems Fall 2011 - - PowerPoint PPT Presentation
Byzan&ne Fault Tolerance CS 425: Distributed Systems Fall 2011 Material drived from slides by I. Gupta and N.Vaidya 1 Reading List L. Lamport, R. Shostak, M. Pease, The Byzan&ne Generals Problem, ACM ToPLaS 1982. M.
1
Material drived from slides by I. Gupta and N.Vaidya
2
v v
5
value v Faulty peer
v v
6
value v v
v v
7
value v v
v v
8
value v
v
v
v v
9
value v
v v ? v ? [v,v,?] [v,v,?]
v v
10
value v
v v ? v ? v v
Majority vote results in correct result at good peers
v w
11
Faulty source
v w x
12
w w
v w
13
w w v x v
v w
14
w w v x v
[v,w,x] [v,w,x] [v,w,x]
v w
15
w w v x v
[v,w,x] [v,w,x] [v,w,x] Vote result iden&cal at good peers
16
17
18
19
Request A Request B Client Client
20
21
2: Request B 1: Request A Client Client
22
2: Request B 1: Request A 2: Request B 1: Request A 2: Request B 1: Request A 2: Request B 1: Request A Client Client
23
Client Client 2: Request B 1: Request A
24
Primary: Replica 0 Replica 1 Replica 2 Replica 3 Request: m {PRE‐PREPARE, v, n, m}σ0 Fail
25
Request: m PRE‐PREPARE Primary: Replica 0 Replica 1 Replica 2 Replica 3 Fail Accepted PRE‐PREPARE
26
Request: m PRE‐PREPARE Primary: Replica 0 Replica 1 Replica 2 Replica 3 Fail {PREPARE, v, n, D(m), 1}σ1 Accepted PRE‐PREPARE
27
Request: m PRE‐PREPARE Primary: Replica 0 Replica 1 Replica 2 Replica 3 Fail {PREPARE, v, n, D(m), 1}σ1 Accepted PRE‐PREPARE Collect PRE‐PREPARE + 2f matching PREPARE
28
Request: m PRE‐PREPARE Primary: Replica 0 Replica 1 Replica 2 Replica 3 Fail PREPARE {COMMIT, v, n, D(m)}σ2
29
Request: m PRE‐PREPARE Primary: Replica 0 Replica 1 Replica 2 Replica 3 Fail PREPARE COMMIT Collect 2f+1 matching COMMIT: execute and reply
30
31
Quorum for Commifed Cer&ficate (m, v, n) At least one correct replica has Prepared Cer&ficate (m, v, n) View Change Quorum
32
Fault Tolerance Fail Stop Fault Tolerance Paxos 1989 (TR) VS Replica&on PODC 1988 Byzan&ne Fault Tolerance Byzan&ne Agreement Rampart TPDS 1995 SecureRing HICSS 1998 PBFT OSDI ‘99 BASE TOCS ‘03 Byzan&ne Quorums Malkhi‐Reiter JDC 1998 Phalanx SRDS 1998 Fleet ToKDI ‘00 Q/U SOSP ‘05 Hybrid Quorum HQ Replica&on OSDI ‘06
33