CS6100: Topics in Design and Analysis of Algorithms
Fault Tolerant Consensus
CS6100 (Even 2012): Fault Tolerant Consensus
CS6100: Topics in Design and Analysis of Algorithms Fault Tolerant - - PDF document
CS6100: Topics in Design and Analysis of Algorithms Fault Tolerant Consensus CS6100 (Even 2012): Fault Tolerant Consensus Models Failure Types 1. Clean Crash Failure completely fail 2. (Unclean) Crash Failure fail after some messages
CS6100 (Even 2012): Fault Tolerant Consensus
CS6100 (Even 2012): Fault Tolerant Consensus 1
CS6100 (Even 2012): Fault Tolerant Consensus 2
j Sj.
CS6100 (Even 2012): Fault Tolerant Consensus 3
CS6100 (Even 2012): Fault Tolerant Consensus 4
CS6100 (Even 2012): Fault Tolerant Consensus 5
CS6100 (Even 2012): Fault Tolerant Consensus 6
CS6100 (Even 2012): Fault Tolerant Consensus 7
k and αi+1 k
k
k.
CS6100 (Even 2012): Fault Tolerant Consensus 8
0/1 1-valent βk 0−-valent γk 1-valent αi
k
0-valent αi+1
k
(node p sends to all nodes) (node p fails to send to (q1, . . . , qi)) (node p fails to send to (q1, . . . , qi, qi+1)) (node p fails to send to (q1, . . . , qi, qi+1, . . . , qm))
k and
k
CS6100 (Even 2012): Fault Tolerant Consensus 9
1-valent βf 0−-valent γf
δf
p sends to pj p sends to pk p fails to send to pj p sends to pk p fails to send to pj p might send to pk
CS6100 (Even 2012): Fault Tolerant Consensus 10
1We don’t allow bad nodes to spoof other nodes. CS6100 (Even 2012): Fault Tolerant Consensus 11
1: vote = inputi 2: L = (5n/8) + 1 3: H = (3n/4) + 1 4: G = 7n/8 5: for all rounds do 6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
CS6100 (Even 2012): Fault Tolerant Consensus 12
18:
19:
20:
21:
22:
23: end for
CS6100 (Even 2012): Fault Tolerant Consensus 13
CS6100 (Even 2012): Fault Tolerant Consensus 14
CS6100 (Even 2012): Fault Tolerant Consensus 15