Download presentation
Presentation is loading. Please wait.
Published byEllen McBride Modified over 9 years ago
1
1 The Byzantine Generals Problem Leslie Lamport, Robert Shostak, Marshall Pease Presented by Radu Handorean
2
2 Byzantine Generals Problem (metaphor)
3
3 GBP – the Generals Loyal Generals Behave according to THE algorithm which should ensure that They decide upon the same plan (A) A small number of traitors shouldn’t be able to force a bad decision (B) Traitorous Generals Try to mess the final decision Send any info they want
4
4 GBP – the Generals (A) => Every loyal general must obtain the same v(1)…v(n) (B) => If the i th general is loyal => v(i) must be used by all (loyal) generals
5
5 Byzantine Generals Problem (formal) 0.. N-1 processes in a complete graph Process 0 needs to send a value v to all others such that (IC1) If process 0 is non faulty then any non faulty process i receives v (IC2) If processes i and j are non faulty, they receive the same value Note: 0 is non faulty, then IC1=>IC2
6
6 Impossibility Results – Oral Msg Oral message – the content is entirely under the control of the sender No solution if more than 1/3 of the generals are traitorous
7
7 Traitorous Lieutenant attack he said “retreat”
8
8 Traitorous General retreat attack he said “retreat”
9
9 Impossibility Results – Generalization No solution with fewer than 3m+1 generals for m traitors Proof by contradiction: reduce the problem to the 3 generals problem Assume 3m (let’s call them Albanians) or fewer generals can cope with m traitors Build the solution with Byzantine generals
10
10 Proof 1 Byzantine simulates ~1/3 Albanians 1 Byzantine simulates 1 Albanian general & m-1 Albanian lieutenants (m, m, respectively) Max m traitor Albanians IC1 & IC2 hold for Albanians (assumed) IC1 & IC2 hold for Byzantine (implied) IMPOSSIBLE SOLUTION
11
11 Solution with Oral Messages A1. Every msg. is delivered correctly A2. The receiver knows where the msg. comes from A3.The absence of a msg. can be detected A1&A2 – a traitor cannot interfere with a msg. between others A3 – a traitor cannot drop msg.
12
12 Oral Messages – Cont. No order from a traitorous commander => RETREAT by default OM(m) – alg. for 3m+1 generals with at most m traitors Use the majority function for decision Majority value if exists or RETREAT Median value if they are an ordered set
13
13 OM(0) (1) The commander sends his value to each lieutenant (2) Each lieutenant uses the value from the commander or RETREAT if the commander is silent
14
14 OM(m) (1) The commander sends his value to each lieutenant (v i ) (2) Each L acts as commander for OM(m-1) and sends V i to the other n-2 (or RETREAT) (3) For each i and j!=i, Li receives v j from Lj in (2) (or RETREAT); Li uses majority(v 1..v n-1 )
15
15 Example m=1, n=4, L traitor v v v v x
16
16 Example m=1, n=4, L traitor x y z x z y y x z
17
17 OM(m) - Proof of Correctness Lemma1: for any m, k, OM(m) has IC2 for more than 2k+m generals and at most k traitors IC2: if the commander is loyal, every loyal general obeys commander’s order Proof: induction on m OM(0) – trivial m>0 Commander sends v to n-1 lieutenants
18
18 OM(m) – Proof - Cont. Each loyal general applies OM(m-1) with n-1 generals (*) n>2k+m => n-1>2k+(m-1) >each loyal Li gets v j =v from each loyal Lj At most k traitors and (*) =>a majotiry of n-1 lieutenants are loyal
19
19 OM(m) – Proof – Cont. Theorem: OM(m) satisfies IC1 and IC2 if there are more than 3m generals and at most m traitors Proof: induction on m OM(0) satisfies IC1 and IC2 (no traitors) Commander = loyal & k=m in Lemma => IC2 => IC1 Commander = traitor => at most m-1 traitorous lieutenants
20
20 OM(m) – Proof – Cont. There are more than 3m generals => more than 3m-1 lieutenants 3m-1>3(m-1) & apply induction (OM(m-1) satisfies IC1 & IC2) => for each j, any 2 loyal Ls get the same value for v j in step 3 => any 2 loyal Ls get the same array (v 1...v n-1 ) in step 3 => the same majority(…) => IC1
21
21 Solution with Written Messages Generals send unforgeable signed messages Add A4 to A1-A3: A loyal G’s signature cannot be forged and any alteration can be detected Anyone can verify the auth of a G’s signature NO assumptions about a traitorous G’s signature
22
22 New Solution C sends signed orders to Ls Each L adds its signature and forwards the message, etc… Use a function choice(…) to obtain a single order choice(V) = v if v if the only elem. in V choice(V) = RETREAT if V is empty Any choice() function must have these properties
23
23 Notations x:i = msg. x signed by G i v:j:i = msg. v signed by Gs j and I G0 = commander (C) Vi = set of properly signed orders received by Li Loyal C => Vi has only 1 element Do NOT confuse with the set of msg. !!! (many different msg can carry the same order)
24
24 SM(m) Initially Vi = empty for each I (1) C signs and send v to each L (2) For each i: (A) if Li receives v:0 and Vi=empty (i) Vi={v} (ii) Send v:0:i to all other Ls (B) if Li receives v:j 1 …:j k and v not in Vi (i) Add v to Vi (ii) if k<m send v:j 1 …:j k :I to all other agents (3) When Li receives no more msg., he obeys choice(Vi)
25
25 SM(1) - Example Attack:0 Retreat:0 Attack:0:1 Retreat:0:2 0 1 2
26
26 SM(1) – Proof Theorem2: SM(m) solves GBP for at most m traitors C = loyal => sends v:0 to all Ls Every loyal L receives v in (2) No loyal L can receive v’:0 in (2B) Vi = {v} for all i Loyal Ls obey choice() in (3) => IC2 => IC1 C = traitorous
27
27 SM(m) – Proof – Cont. C = traitorous Loyal Li and Lj obey the same order in (3) if Vi = Vj from (2) If Li receives v in (2A), it sends it to Lj in (2Aii) If Li adds v to Vi in (2B) => must receive a first message v:j 1 …:j k
28
28 SM(m) – Proof – Cont. If j is one of the j r, v must have already been added to Vi If not (1) k<m : i sends v:j 1 …j k :i to j (2) k=m : since C=traitor= > max m-1 traitor Ls => at least 1 of j 1 …j m is loyal This loyal L must have sent v to j so j has that order
29
29 Missing Communication Paths The Generals’ graph is no longer complete 3-regular graph not 3-regular
30
30 Definitions (a) {i 1,…,i p } is a regular set of neighbors of I if Each i j is a neighbor of I For any k!=i there are paths g j,k from i j to k not passing through i s.t. any 2 such path only have k in common A graph G is p-regular if any node has a set of p regular neighbors Note: a 3m-regular graph has min 3m+1 nodes
31
31 OM(m,p) G must be p-regular (0) N = p-regular set of C’s neighbors C sends the order to every L in N For each i in N, Li receives v i from C or RETREAT; L i sends v i to every other L k as follows:
32
32 OM(m,p) – Cont. (A) if m=1, it sends along g j,k (B) if m>1, it acts as commander for OM(m-1, p-1), after removing C For each k and i in N, k!=i, Lk receives v i from Li, or v i =RETREAT; Lk uses majority(v i1,…, v ip ), where N = {i1,…ip}
33
33 OM(m, 3m) – GBP O(m,3m) solves GBP for at most m traitors (proof below) Lemma1: for any m>0 and any p>=2k+m, OM(m,p) satisfies IC2 for at most m traitors m=1 L obtains majority(v 1..v p ) At most k traitors and p>=2k+1 => more than half of the p paths –> loyal Ls -> if C is loyal then the majority() if his command m>1
34
34 Lemma2 – Cont. m>1 Assume for m-1 If C = loyal, each of the p Ls in N has the correct order p>2k -> a majority are loyal & each sends the correct order Each loyal L gets a majority of correct orders
35
35 GBP – Cont. Theorem 3: for any m>0 and any p>=3m, OM(m,p) solves GBP for max. m traitors Lemma 2 & k=m => IC2 C = loyal then IC2 implies IC1 C = traitorous m=1 => all Ls = loyal and g j,k do not pass through C m>1: induction since p>=3m implies p-1>=3(m-1)
36
36 Comments For 3m+1 generals, 3m-regularity = complete connectivity IC2 cannot be satisfied if a message C->L is “routed” by traitors IC1 cannot be satisfied if L1 and L2 can only communicate via traitors These assumptions are too strong
37
37 SM(m) If the subgraph of loyal Ls is connected =>SM(n-2) is a solution (n=# of Gs) regardless of # of traitors Definition: the diameter of a graph is the smallest # of edges to connect any 2 nodes
38
38 GBP - SM Theorem 4: If there are at most m traitors, and d=the diameter of loyal Ls subgraph, SM(m-d+1) solves GBP Proof: similar to Theorem 2
39
39 SO WHAT ??? Use of redundancy and voting to achieve reliability Majority voting All non faulty processes produce the same result (from the same input - e.g. 2 non faulty processors read a clock) If the input unit (G) is non faulty, all non faulty (loyal) processes (Ls) use the provided value
40
40 SO WHAT – Cont. A1..A3(A4) A1 – every msg. sent by a non faulty proc. Is delivered correctly The failure of a communication line cannot be distinguished from the failure of a component => max m failures Real life effect: lowers connectivity, does not forge information
41
41 SO WHAT – Cont. A1..A3(A4) A2 – a processor can determine the origin of a msg. Most important is that a faulty proc. cannot impersonate a non faulty one In practice we should use IPC over fixed lines rather than fancy network switching A4 obsoletes A2, is satisfied
42
42 SO WHAT – Cont. A1..A3(A4) A3 – the absence of a message can be detected Use of time-outs: Fixed maximum time to produce and deliver a message Sender’s and receiver’s clock’s are reasonably synchronized
43
43 SO WHAT – Cont. A1..A3(A4) A4 – processors sign messages s.t. a non faulty processor cannot forged Signature = redundant info. Message signed by i = (M, S i (M)) S i must satisfy If I is non faulty, no other processor can generate S i (M) – cannot be guaranteed Random multiplication Malicious intelligence Given M and X, any processor can verify X=S i (M)
44
44 DO YOU STILL HAVE QUESTIONS? raduh@cse.wustl.edu
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.