• Keine Ergebnisse gefunden

The goal of this exercise is to prove correct the asynchronous safe broadcast algorithm by Bracha. It tolerates f < n/3 Byzantine faults, so we will assume that this condition holds.

N/A
N/A
Protected

Academic year: 2021

Aktie "The goal of this exercise is to prove correct the asynchronous safe broadcast algorithm by Bracha. It tolerates f < n/3 Byzantine faults, so we will assume that this condition holds."

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Exercise 4: Extreme Democracy

Task 1: Everyone Gets exactly one Vote. . . (3 + 3 + 3 + 2)

The goal of this exercise is to prove correct the asynchronous safe broadcast algorithm by Bracha. It tolerates f < n/3 Byzantine faults, so we will assume that this condition holds.

Algorithm 1 Code of the safe broadcast algorithm at node v. The input message M is given to the designated source node s; every node knows s. Any applied thresholds require messages from different nodes; duplicate messages from the same sender are dropped.

1: if v = s then

2: send init(M ) to all nodes (including self)

3: end if

4: Stage 1: wait until received

• one init(M

0

) message from s,

• n − f echo(M

0

) messages, or

• n − 2f ready(M

0

) messages for some M

0

5: send echo(M

0

) to all nodes (including self)

6: Stage 2: wait until received

• n − f echo(M

0

) messages, or

• n − 2f ready(M

0

) messages

for some M

0

(including those from stage 1)

7: send ready(M

0

) to all nodes (including self)

8: Stage 3: wait until received

• n − f ready(M

0

) messages

for some M

0

(including those from earlier stages)

9: output M

0

a) Show that if s is correct, eventually all correct nodes output M !

Hint: Argue that faulty nodes cannot make correct nodes send a “non-M ” message.

Conclude that all nodes pass all stages for M .

b) Show that if a correct node broadcasts a ready(M

0

) message, no correct node broad- casts a ready(M

00

) message for M

00

6= M

0

!

Hint: Use that correct nodes broadcast only one echo(·) message, but the first nodes broadcasting ready(·) messages must do so because of receiving many echoes!

c) Show that if a correct node outputs a message M

0

, eventually all correct nodes output M

0

!

Hint: Use b) to show that no correct node can pass stage 2 for M

00

6= M

0

. Then argue that eventually nodes get “pulled” through the first two stages because they receive sufficiently many ready(M

0

) messages.

d) Conclude that the algorithm correctly implements safe broadcast!

(2)

Task 2: . . . and then a Random Decision is Taken! (3 + 3 + 3 + 2 + 2)

Consider the following shared coin.

Algorithm 2 Simple weak shared coin (code at node v).

1: flip an unbiased coin

2: send the result to everyone (also self)

3: wait until received bits from n − f different senders

4: output the majority value (0 in case of a draw)

The goal of this exercise is to demonstrate how straight-forward it is to translate strong guarantees about f into strong defiance.

a) Show that if f < n/3, this algorithm implements a weak shared coin with defiance 2

−n

.

b) Show that if f ∈ O( √

n), this algorithm implements a weak shared coin with constant defiance.

Hint: By the central limit theorem, the binomial distribution converges to a normal distribution for n → ∞, in the sense that the relative error of approximating it by the normal distribution goes to 0. Check the standard deviation of the binomial distribution and make use of this connection.

c) Show that if f = α √

n for α ∈ [1, √

n/3], then this algorithm implements a weak shared coin with defiance 2

−O(α2)

.

Hint: Check out the section on tail bounds of the binomial distribution on Wiki- pedia.

d) Use this to show that for every f < n/4, there is an asynchronous consensus algorithm tolerating up to f faults that terminates in expected time 2

O(df2/ne)

.

e) Can this approach be used to create an algorithm that tolerates any number of f < n/4 faults, but terminates faster if the actual number of faults is small? (An educated guess suffices, you don’t need to prove your answer correct here.)

Task 3*: Lecturing the Lecturer (1 + 1 + 1)

a) Find out why Byzantine failures are called Byzantine!

b) Conclude that the lecturer is biased towards always pointing at the same person.

Which celebrities of distributed computing could/should be featured instead?

1

c) Tell the tale of how Byzantine faults have been named and the heroes that have

fought them throughout the decades in the exercise session!

1

And anyway, shouldn’t he stop asking vague questions?

Referenzen

ÄHNLICHE DOKUMENTE

I am especially indebted to three teachers and scholars, all lately of Columbia University: Sir George Sansom, under whom I was privileged to study and who first suggested the

(Hint: Figure out a solution sorting two values and then plug it into a sorting network to get the general circuit!. You don’t have to (re)invent sorting networks, you may just point

b) Modify the game arena such that it becomes deadlock free such that the correctness of the tree acceptance game (Lemma 8.13 in the lecture notes) is preserved.. c) How can one

The position of Syria prepared it for this role, and its configuration permitted north-south as well as west-east routes to develop as to serve the interests of caravans and other

Karlsruher Institut f¨ ur Technologie Institut f”ur Theoretische Festk¨ orperphysik Ubungen zur Modernen Theoretischen Physik I ¨ SS14.. -

In other words, weak-SO-HORN differs from SO-HORN in the fact that only atomic or negated atomic first-order formulas are allowed in the clauses (instead of arbitrary

In this exercise we want to show that the classical “Łoś-Tarski Theorem” does not hold if we restrict to finite structures. Recall that this theorem says the following: for a

In this exercise we want to show that the model construction for FO 2 -formulae from the lecture is optimal in the following sense: in general it does not suffice to take only