• Ingen resultater fundet

1. THE BG PROBLEM WITH ORAL

N/A
N/A
Info
Hent
Protected

Academic year: 2022

Del "1. THE BG PROBLEM WITH ORAL"

Copied!
39
0
0

Indlæser.... (se fuldtekst nu)

Hele teksten

(1)

Byzantine Algorithms

Robin Sharp

robin@imm.dtu.dk

Systems Security Group

Informatics and Mathematical Modelling Technical University of Denmark DK-2800 Kgs. Lyngby, Denmark.

(2)

BYZANTINE ALGORITHMS

ALGORITHMS WHICH ALLOW FOR A (FINITE) NUMBER OF ARBITRARY FAULTS, INCLUDING FALSE MESSAGES.

BASIC IDEA: Use redundant messages and majority voting.

NOTE: If arbitrary faults can occur, messages which in principle should be identical may in fact differ!

BASIC PROBLEM: To exchange sufficient information between sufficiently many participants, so that all CORRECTLY

OPERATING systems build up the SAME picture of which message(s) have been sent.

Course 02221/02222, DTU, Spring 2009. – p. 2/1

(3)

THE BYZANTINE GENERALS

A typical example of a Byzantine problem: to achieve so-called INTERACTIVE CONSISTENCY.

Usually formulated as a “military” problem with n “generals”

(One Commander and (n-1) Lieutenants):

A Commander must send a value to all his (n-1) Lieutenants, such that the following rules are obeyed:

IC1: All loyal Lieutenants agree on the SAME value.

IC2: If the Commander is loyal, then all loyal Lieutenants agree on the COMMANDER’S value.

(4)

THE BYZANTINE GENERALS

A typical example of a Byzantine problem: to achieve so-called INTERACTIVE CONSISTENCY.

Usually formulated as a “military” problem with n “generals”

(One Commander and (n-1) Lieutenants):

A Commander must send a value to all his (n-1) Lieutenants, such that the following rules are obeyed:

IC1: All loyal Lieutenants agree on the SAME value.

IC2: If the Commander is loyal, then all loyal Lieutenants agree on the COMMANDER’S value.

NOTE. In a computer system:

LOYAL generals are computers which work correctly, and

ILLOYAL generals are those which may fail in an arbitrary way.

(This includes sending arbitrary incorrect messages.)

Course 02221/02222, DTU, Spring 2009. – p. 3/1

(5)

1. THE BG PROBLEM WITH ORAL

MESSAGES

(6)

ORAL MESSAGES

DEF.: messages whose content is 100% determined by the sender.

This means that sender can give them ARBITRARY CONTENT

without the receiver being able to see this.

How much redundancy is required to solve the BG problem?

First idea: Majority voting among 3 parties, with 1 illoyal.

Course 02221/02222, DTU, Spring 2009. – p. 5/1

(7)

ORAL MESSAGES

DEF.: messages whose content is 100% determined by the sender.

This means that sender can give them ARBITRARY CONTENT

without the receiver being able to see this.

How much redundancy is required to solve the BG problem?

First idea: Majority voting among 3 parties, with 1 illoyal.

HOWEVER:

C

L1

retreat

L2

attack attack

.

(8)

ORAL MESSAGES

DEF.: messages whose content is 100% determined by the sender.

This means that sender can give them ARBITRARY CONTENT

without the receiver being able to see this.

How much redundancy is required to solve the BG problem?

First idea: Majority voting among 3 parties, with 1 illoyal.

HOWEVER:

C

L1

retreat

L2

attack attack

.

L1

C

retreat

L2

attack retreat

These situations look identical, seen from L1.

But if Commander is loyal, L1 must attack

and if Commander is illoyal, L1 should (maybe) retreat.

Course 02221/02222, DTU, Spring 2009. – p. 5/1

(9)

ORAL MESSAGES

DEF.: messages whose content is 100% determined by the sender.

This means that sender can give them ARBITRARY CONTENT

without the receiver being able to see this.

How much redundancy is required to solve the BG problem?

First idea: Majority voting among 3 parties, with 1 illoyal.

GENERAL RESULT:

No solution with ORAL MESSAGES for t illoyal participants, if there are fewer than (3t+1) par- ticipants in total.

NOTE: This is not because we require exact agreement! It is also true for approximate agreement.

(10)

SOLUTION for ORAL MESSAGES

ASSUMPTIONS:

A1. FAULT-TOLERANCE: At most t unreliable/illoyal participants.

A2. NETWORK: Every message sent arrives; receiver knows who sent it.

A3. TIMING: The absence of a message can be detected.

ALGORITHM OM(n,t): t > 0

1. Commander sends his value to all (n-1) Lieutenants.

2. For Lieutenant i, let vi be the value received from his Commander (or vdef if no value was received).

Lieutenant i then acts as Commander in algorithm OM(n-1,t-1), in which he sends vi to the (n-2) other participants.

3. For each i and each j = i, let vj be the value which Lieutenant i received from j in step 2 during OM(n-1,t-1).

Then i chooses the value majority(v1, . . . , vn−1).

ALGORITHM OM(n,0):

1. Commander sends his value to all (n-1) Lieutenants.

2. Each Lieutenant uses the value received from his Commander (or vdef if no value was received). Course 02221/02222, DTU, Spring 2009. – p. 6/1

(11)

ALGORITHM OM IN ACTION

CASE 1: LOYAL COMMANDER.

C

L1 L2 L3

v

v v OM(4,1)

(12)

ALGORITHM OM IN ACTION

CASE 1: LOYAL COMMANDER.

C

L1 L2

v

v v OM(4,1)

x

L3

y v

v

v v

L1, L2 use majority(v,v,*)

OM(3,0)

Course 02221/02222, DTU, Spring 2009. – p. 7/1

(13)

ALGORITHM OM IN ACTION

CASE 1: LOYAL COMMANDER.

C

L1 L2

v

v v OM(4,1)

x

L3

y v

v

v v

L1, L2 use majority(v,v,*)

OM(3,0)

CASE 2: ILLOYAL COMMANDER.

L1 L2 L3

C

x y z "OM(4,1)"

(14)

ALGORITHM OM IN ACTION

CASE 1: LOYAL COMMANDER.

C

L1 L2

v

v v OM(4,1)

x

L3

y v

v

v v

L1, L2 use majority(v,v,*)

OM(3,0)

CASE 2: ILLOYAL COMMANDER.

L1 L2

x

y y

x z

z

L3

C

"OM(4,1)"

x y

OM(3,0) L1, L2, L3 all use majority(x,y,z)

z

Course 02221/02222, DTU, Spring 2009. – p. 7/1

(15)

PROOF of ALGORITHM OM

LEMMA: For arbitrary m, k, OM(n,m) fulfils IC2 if there are:

> 2k + m participants, and k illoyal ones.

(16)

PROOF of ALGORITHM OM

LEMMA: For arbitrary m, k, OM(n,m) fulfils IC2 if there are:

> 2k + m participants, and k illoyal ones.

PROOF BY INDUCTION:

1. Trivially true for OM(n,0).

2. Assume true for (m 1), m > 0. Then:

In step 1, loyal C sends v to all L’s.

In step 2, each loyal L uses OM(n-1,m-1) with (n-1) generals.

Now (n 1) > 2k + (m 1).

It then follows from Assumption that each loyal general receives vj = v from each loyal general j.

But (n 1) > 2k + (m 1) 2k.

So the majority of the (n-1) are loyal!

Thus all loyal generals use majority(v, v, v, . . .), where > 50% of the values are v’s.

Thus all loyal generals use value v.

Course 02221/02222, DTU, Spring 2009. – p. 8/1

(17)

PROOF of ALGORITHM OM

LEMMA: For arbitrary m, k, OM(n,m) fulfils IC2 if there are:

> 2k + m participants, and k illoyal ones.

Corresponding proof for:

THEOREM: For arbitrary m, OM(n,m) fulfils IC1 and IC2 if there are:

> 3m participants, and m illoyal ones.

See Lamport, Shostak & Pease’s paper for details!

(18)

ANALYSIS of ALGORITHM OM

In a system with up to t illoyal generals, OM proceeds in (t+1) rounds:

1. Algorithm OM(n,t) is executed once: C sends to (n-1) lieutenants.

Course 02221/02222, DTU, Spring 2009. – p. 9/1

(19)

ANALYSIS of ALGORITHM OM

In a system with up to t illoyal generals, OM proceeds in (t+1) rounds:

1. Algorithm OM(n,t) is executed once: C sends to (n-1) lieutenants.

2. Each lieutenant acts as commander for OM(n-1,t-1):

Each of the (n 1) lieutenants sends to (n 2) generals.

Thus each general receives (n 2) messages.

(20)

ANALYSIS of ALGORITHM OM

In a system with up to t illoyal generals, OM proceeds in (t+1) rounds:

1. Algorithm OM(n,t) is executed once: C sends to (n-1) lieutenants.

2. Each lieutenant acts as commander for OM(n-1,t-1):

Each of the (n 1) lieutenants sends to (n 2) generals.

Thus each general receives (n 2) messages.

3. For each message received in (2), the receiver acts as commander for OM(n-2,t-2):

Each general sends (n 3)(n 2) messages in total.

Thus each general receives (n 3)(n 2) messages.

4. etc., etc.

Course 02221/02222, DTU, Spring 2009. – p. 9/1

(21)

ANALYSIS of ALGORITHM OM

In a system with up to t illoyal generals, OM proceeds in (t+1) rounds:

1. Algorithm OM(n,t) is executed once: C sends to (n-1) lieutenants.

2. Each lieutenant acts as commander for OM(n-1,t-1):

Each of the (n 1) lieutenants sends to (n 2) generals.

Thus each general receives (n 2) messages.

3. For each message received in (2), the receiver acts as commander for OM(n-2,t-2):

Each general sends (n 3)(n 2) messages in total.

Thus each general receives (n 3)(n 2) messages.

4. etc., etc.

Thus OM(n,t) is executed once.

OM(n-p,t-p) is exec. (n 1)· · ·(n p) times, for successive p ∈ {1..t}.

(22)

ANALYSIS of ALGORITHM OM

In a system with up to t illoyal generals, OM proceeds in (t+1) rounds:

1. Algorithm OM(n,t) is executed once: C sends to (n-1) lieutenants.

2. Each lieutenant acts as commander for OM(n-1,t-1):

Each of the (n 1) lieutenants sends to (n 2) generals.

Thus each general receives (n 2) messages.

3. For each message received in (2), the receiver acts as commander for OM(n-2,t-2):

Each general sends (n 3)(n 2) messages in total.

Thus each general receives (n 3)(n 2) messages.

4. etc., etc.

Thus OM(n,t) is executed once.

OM(n-p,t-p) is exec. (n 1)· · ·(n p) times, for successive p ∈ {1..t}. So total number of messages sent is:

s = (n 1) + (n 1)(n 2) + . . . + (n 1)(n 2)· · ·(n t 1) Thus s is O(nt), i.e. it is exponential in t.

Course 02221/02222, DTU, Spring 2009. – p. 9/1

(23)

ANALYSIS of ALGORITHM OM

In a system with up to t illoyal generals, OM proceeds in (t+1) rounds:

1. Algorithm OM(n,t) is executed once: C sends to (n-1) lieutenants.

2. Each lieutenant acts as commander for OM(n-1,t-1):

Each of the (n 1) lieutenants sends to (n 2) generals.

Thus each general receives (n 2) messages.

3. For each message received in (2), the receiver acts as commander for OM(n-2,t-2):

Each general sends (n 3)(n 2) messages in total.

Thus each general receives (n 3)(n 2) messages.

4. etc., etc.

Thus OM(n,t) is executed once.

OM(n-p,t-p) is exec. (n 1)· · ·(n p) times, for successive p ∈ {1..t}. So total number of messages sent is:

s = (n 1) + (n 1)(n 2) + . . . + (n 1)(n 2)· · ·(n t 1) Thus s is O(nt), i.e. it is exponential in t.

(24)

2. THE BG PROBLEM WITH SIGNED MESSAGES

Course 02221/02222, DTU, Spring 2009. – p. 10/1

(25)

SIGNED MESSAGES

REVISED ASSUMPTIONS:

A1. FAULT-TOLERANCE: At most t unreliable/illoyal participants.

A2. NETWORK: Every message sent is delivered, and receiver knows who sent it.

A3. TIMING: The absence of a message can be detected.

A4. SIGNATURES: A signature cannot be forged, and any changes to a signed message can be seen. Anybody can verify a

signature.

Assumption A4 implies that only possible misbehaviour is to OMIT TO PASS ON a message.

With these assumptions, IC1 and IC2 can be fulfilled for arbitrary number of faults, i.e. n > (t + 1).

(26)

ALGORITHM SM

SM[n, t : N0]

def=Commander[n, t] i∈NS (P[i, t, ∅, N S] T imer[i]) \ up[i]

Commander[n,t : N0]

def= (SAP A?v : M

j∈NS right[j]!(v, {0}) Commander[n, t]) P[i : N S, t : N0, V : M-set, ps : N S0-set]

def= (lef t[i]?(v : M, ss : N S0-set)

(if (cardss < t + 1) (v V ) then

j∈ps−ss right[j]!(v, ss {i}) (if V =

then up[i]!SET P[i, t, {v}, ps] else P[i, t, V ∪ {v}, ps])

else P[i, t, V , ps])

[]up[i]?t : {TIMEOUT} → SAP A[i]!choice(V ) P[i, t,∅, ps] )

Course 02221/02222, DTU, Spring 2009. – p. 12/1

(27)

PROOF of ALGORITHM SM(n,t)

THEOREM 2: For arbitrary t 0, algorithm SM(n,t) solves BG problem for at most t illoyal generals.

(28)

PROOF of ALGORITHM SM(n,t)

THEOREM 2: For arbitrary t 0, algorithm SM(n,t) solves BG problem for at most t illoyal generals.

PROOF FOR IC2: (Assuming loyal Commander)

Loyal Commander all generals get (v, {0}) in first round.

In second round, all loyal P[i, ...] send (v, {0, i}) to everyone except 0, i.

Thus everyone gets two copies of v.

Thus everyone terminates with V = {v}

Course 02221/02222, DTU, Spring 2009. – p. 13/1

(29)

PROOF of ALGORITHM SM(n,t)

THEOREM 2: For arbitrary t 0, algorithm SM(n,t) solves BG problem for at most t illoyal generals.

PROOF FOR IC1: (Only relevant for illoyal Commander) Loyal generals must terminate with same V .

Assume P[i, ...] receives (v, ss) in round k, where v V . Afterwards, v V in i. There are then two cases:

1. j ss: Then j’s V must already contain v. 2. j ss:

(a) cardss < (t + 1) i sends v to j.

(b) cardss = (t + 1) no more rounds.

BUT at least 1 of the (t + 1) must be loyal, and so must have sent v to j when it first received v.

CONCLUSION: If v V in i, then v V in j. So both terminate with the same .

(30)

3. THE BG PROBLEM IN AN INCOMPLETE GRAPH

Course 02221/02222, DTU, Spring 2009. – p. 14/1

(31)

MISSING COMMUNICATION PATHS

Algorithm OM(m,t) assumes all generals can communicate directly with all others. Can this assumption be weakened?

IDEA: Consider communication via p-regular graphs:

1. A set of nodes {i1, i2, . . . , ip} form a REGULAR SET OF NEIGHBOURS to node i if:

(a) Each ij is a neighbour to i.

(b) For each k = i, there are paths γjk from ij to k such that:

No γjk pass through i.

No two γjk, γjk have common nodes except k.

2. A graph G is p-REGULAR if each node in G has a regular set of neighbours consisting of p distinct nodes.

(32)

MISSING COMMUNICATION PATHS

Algorithm OM(m,t) assumes all generals can communicate directly with all others. Can this assumption be weakened?

IDEA: Consider communication via p-regular graphs:

1. A set of nodes {i1, i2, . . . , ip} form a REGULAR SET OF NEIGHBOURS to node i if:

(a) Each ij is a neighbour to i.

(b) For each k = i, there are paths γjk from ij to k such that:

No γjk pass through i.

No two γjk, γjk have common nodes except k.

2. A graph G is p-REGULAR if each node in G has a regular set of neighbours consisting of p distinct nodes.

Course 02221/02222, DTU, Spring 2009. – p. 15/1

(33)

MISSING COMMUNICATION PATHS

Algorithm OM(m,t) assumes all generals can communicate directly with all others. Can this assumption be weakened?

IDEA: Consider communication via p-regular graphs:

1. A set of nodes {i1, i2, . . . , ip} form a REGULAR SET OF NEIGHBOURS to node i if:

(a) Each ij is a neighbour to i.

(b) For each k = i, there are paths γjk from ij to k such that:

No γjk pass through i.

No two γjk, γjk have common nodes except k.

2. A graph G is p-REGULAR if each node in G has a regular set of neighbours consisting of p distinct nodes.

i2 i1

γ2k

γ i3 γ

i i

(34)

ALGORITHM OM’(p,t)

Solves the BG problem for t illoyal generals in a p-regular graph, if p 3t.

NOTE: A 3t-regular graph has at least (3t+1) nodes!

0. Choose regular set N of p neighbours to the Commander.

1. Commander sends his value to all i N.

2. For each i N, let vi be the value which Lieutenant i received from the Commander.

Lieutenant i sends vi to all other generals k as follows:

If t = 1, send along path γik.

(This path always exists in a regular graph.)

If t > 1, then i acts as Commander for OM’(p-1,t-1) in the graph formed by deleting the original Commander from G. (This graph is always at least (p-1)-regular.)

Course 02221/02222, DTU, Spring 2009. – p. 16/1

(35)

ALGORITHM OM’(p,t)

Solves the BG problem for t illoyal generals in a p-regular graph, if p 3t.

NOTE: A 3t-regular graph has at least (3t+1) nodes!

0. Choose regular set N of p neighbours to the Commander.

1. Commander sends his value to all i N.

2. For each i N, let vi be the value which Lieutenant i received from the Commander.

Lieutenant i sends vi to all other generals k as follows:

If t = 1, send along path γik.

(This path always exists in a regular graph.)

If t > 1, then i acts as Commander for OM’(p-1,t-1) in the graph formed by deleting the original Commander from G. (This graph is always at least (p-1)-regular.)

3. For each k, and all i N such that i = k, let vi be the value which k received from i in step 2.

Then Lieutenant k uses value majority(v , . . . , v ), where

(36)

PROOF of ALGORITHM OM’(3t,t)

LEMMA 2: For arbitrary m > 0 and p 2k + m,

OM’(p,m) fulfils IC2 if there are 2k illoyal generals.

PROOF SKETCH (BY INDUCTION):

Course 02221/02222, DTU, Spring 2009. – p. 17/1

(37)

PROOF of ALGORITHM OM’(3t,t)

LEMMA 2: For arbitrary m > 0 and p 2k + m,

OM’(p,m) fulfils IC2 if there are 2k illoyal generals.

PROOF SKETCH (BY INDUCTION):

BASE CASE, m=1:

A general uses value majority(v1, . . . , vp), where each vi is sent via a path from the Commander which is disjoint from the path used by other values.

Since p 2k + 1, at least half of these paths are composed entirely of loyal generals.

So if Commander is loyal, each of the p generals in N gets the same value. So IC2 is fulfilled.

(38)

PROOF of ALGORITHM OM’(3t,t)

LEMMA 2: For arbitrary m > 0 and p 2k + m,

OM’(p,m) fulfils IC2 if there are 2k illoyal generals.

PROOF SKETCH (BY INDUCTION):

INDUCTION STEP:

Assume Lemma holds for (m-1), m > 0.

If Commander is loyal, all p generals in N get same value.

Since p > 2k, the majority are loyal, so they send the correct value to their subordinates.

So each general gets a majority of correct values and so chooses correctly in Step 3. So IC2 is fulfilled.

Course 02221/02222, DTU, Spring 2009. – p. 17/1

(39)

PROOF of ALGORITHM OM’(3t,t)

LEMMA 2: For arbitrary m > 0 and p 2k + m,

OM’(p,m) fulfils IC2 if there are 2k illoyal generals.

THEOREM 3: For arbitrary m > 0 and p 3m,

OM’(p,m) fulfils IC1 and IC2 if there are m illoyal generals.

PROOF: Similar to proof of Lemma 2. Only necessary if the Commander is illoyal – otherwise IC2 is good enough!

Referencer

RELATEREDE DOKUMENTER

A L´evy process {X t } t≥0 is a continuous-time stochastic process with independent, stationary increments: it represents the motion of a point whose successive dis- placements

[r]

.3 (pmdsj ⊆ p ⇔ ∀ t ∈ insterms · Eval NCA (p)(t ) = Eval NCA (pmax )(t )) In the most disjoint concept algebra N CA(cset , aset, pmdsj ) all the inserted terms evaluate to the

In the comparison model it is shown that any randomized algorithm with expected amortized cost t comparisons per Insert and Delete has expected cost at least n/(e2 2t ) − 1

N är det gäller sanningsbegreppet bör, som berörts ovan, påpekas att det i brottm ål inte krävs att resultatet av prövningen av skuldfrågan är objektivt sant, utan man säger

Om man istä lle t fö r att se t ill förekom sten av problem ser t ill frånvaron av problem kan man konstatera att endast 17 procent av alla fångar svarat att de

More specifi- cally, we prove that any parallel algorithm in the fixed degree algebraic decision tree model that solves the decision version of the Knapsack problem requires Ω( √..

The last step is construction of a sound sequent assignment for T ϕ 0 ; that is assign ϕ 0 ` to the root, assign an easily provable sequent to every leaf of T ϕ 0 , and for any