Zyzzyva: Speculative Byzantine Fault Tolerance
- R. Kotla, L. Alvisi, M.Dahlin, A. Clement, E. Wong
Sajjad Rahnama, November 1st
1
Zyzzyva : Speculative Byzantine Fault Tolerance R. Kotla, L. - - PowerPoint PPT Presentation
Zyzzyva : Speculative Byzantine Fault Tolerance R. Kotla, L. Alvisi, M.Dahlin, A. Clement, E. Wong Sajjad Rahnama, November 1st 1 Agenda Introduction Zyzzyva System Model Protocol Overview Node State and Checkpoints
Sajjad Rahnama, November 1st
1
2
Byzantine Fault Tolerant State Machine Replication
3
4
Make sure that I didn’t receive two same sequence number I know That nobody receive two same sequence number Everyone know that nobody receive two same sequence number
5
6
Speculative Response History
History and response are Stable?
Client uses the reply Wait until converge
7
8
9
10
11
12
13
14
15
3f+1
Gracious execution
16
Faulty nodes
2f+1
17
Faulty nodes
2f+1 2f+1
18
Faulty nodes
2f+1 2f+1 2f+1
19
History of executed requests
CC seen by node with the largest seq number History up to seq number of max commit certificate History follows the committed history
20
Reach checkpoint interval Sign and send CP message to all replicas
1) Highest #seq of requests 2) digest of current CP Collect f+1 CP message and done
21
22
1 2 3 4 4d 4c 4a 4b
23
1 2 3 4 4d 4c 4a 4b
24
1 2 3 4 4d 4c 4a 4b
25
1 2 3 4 4d 4c 4a 4b
26
1 2 3 4 4d 4c 4a 4b
n <= maxn +1
Discard the request
n > maxn +1
The replica has some gap in its history
27
1 2 3 4 4d 4c 4a 4b
28
1 2 3 4 4d 4c 4a 4b
Based on number of speculative response and OR four case could happen
29
1 2 3 4 4d 4c 4a 4b
30
1 2 3 4 4d 4c 4a 4b
31
1 2 3 4 4d 4c 4a 4b
1) It already has executed request
Send Commit Local
3) Replica has holes in its history
Fill the hole as previously discussed
2) It hasn’t execute request
Update max sequence number and execute
32
1 2 3 4 4d 4c 4a 4b
33
1 2 3 4 4d 4c 4a 4b
34
1 2 3 4 4d 4c 4a 4b
35
1 2 3 4 4d 4c 4a 4b
36
37
1 2 3 4 5
longer participating in the current view
38
1 2 3 4 5
39
1 2 3 4 5
40
1 2 3 4 5
41
1 2 3 4 5
42
view change message
response in their view change message
43
happen
replicas
request will complete
definitely receive 2f+1 local commit
44