distributed computing set 3 - topics of non-byzantine consensus

14
SLIDES BY OSAMA ASKOURA EECS 6117 Distributed Computing Set 3

Upload: osama-askoura

Post on 22-Jan-2018

292 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Distributed Computing Set 3 - Topics of non-Byzantine Consensus

SLIDES BY OSAMA ASKOURA

EECS 6117

Distributed Computing Set 3

Page 2: Distributed Computing Set 3 - Topics of non-Byzantine Consensus

Consensus Agreement

Page 3: Distributed Computing Set 3 - Topics of non-Byzantine Consensus

Slide

2

Imagine a Byzantine agreement problem

where processes cannot be malicious (lie or

cheat or behave inconsistently)

Instead, processes can only behave

consistently or die (fail.)

This is what we define as a consensus

agreement with halting failures

Consensus in

Model

Synchronous

Non Anonymous Processes

Message-Passing system

Page 4: Distributed Computing Set 3 - Topics of non-Byzantine Consensus

Slide

2

Consensus algorithm 1:

• Pref : v (your input)

• Round 1: send your input to all

• Round 2:

for i = 1 to f+1

• Keep sending input to all

• Pref = max value received in round

• Output pref

This means that we can tolerate any number

of failures (unlike Byzantine), but we need f+1

rounds!

Model

Synchronous

Non Anonymous Processes

Message-Passing system

Page 5: Distributed Computing Set 3 - Topics of non-Byzantine Consensus

Slide

2

CLAIM:

We cannot solve consensus in less than f+1 rounds

PROOF (Contradiction):

Suppose, exists algorithm that uses < f + 1 rounds

If α1 and α2 are 2 executions of the algorithm,

α1 ~ α2 means some correct processes get same sequence of

messages in both executions

If α1 ~ α2 then some processes will output same result in both

executions

α1 ~~ α2 if α1 ~ β1 ~ β2 ~ βn ~ α2

If α1 ~~ α2 then they have same output.

Model

Synchronous

Non Anonymous Processes

Message-Passing system

Page 6: Distributed Computing Set 3 - Topics of non-Byzantine Consensus

Proof (continued):

Let α1 be failure-free execution where p1..pi have input 0 and

pi+1….. Pn have input 1

Inputs

P1 P2 P3 P4 …. Pn

α0 1 1 1 1 ….. 1 Outputs 1

α1 0 1 1 1 ….. 1

α2 0 0 1 1 ….. 1

α3 0 0 0 1 ….. 1

α4 0 0 0 0 ….. 1

αn 0 0 0 0 ….. 0 Outputs 0

Page 7: Distributed Computing Set 3 - Topics of non-Byzantine Consensus

Slide

2

PROOF (continued):

To contradict, prove:

α0 (no failure) ~ β1 ~ α1 no failure

We know that α0 outputs 0 and αn outputs 1.

We will show that for each I αi ~~ αi+1 up to αn, so proc will

Output same result in α0 and αn; but we know they don’t!

(Contradiction)

Model

Synchronous

Non Anonymous Processes

Message-Passing system

Proc 1 fails

immediately

Page 8: Distributed Computing Set 3 - Topics of non-Byzantine Consensus

Slide

2

PROOF (continued):

Lemma:

Suppose ψ is an execution with ≤ 1 failure per round (failure-sparse)

And is same as execution γ up to end of first r rounds and ψ has

No failures in round r+1 or later. ( 0 ≤ r ≤ f )

Then ψ ~~ γ

Model

Synchronous

Non Anonymous Processes

Message-Passing system

Page 9: Distributed Computing Set 3 - Topics of non-Byzantine Consensus

Slide

2

PROOF (continued):

Proof of Lemma (By reverse induction on r):

Base step: r = f

Then ψ & γ are identical in first f rounds,

Since the algorithm uses f rounds (ψ ~~ γ)

Inductive step

Assume claim is true for r+1; Prove claim for r

If γ has no failures in round r+1, then (ψ ~~ γ) by inductive

hypothesis

We use fact that r ≥ f+1 when we kill q.

Model

Synchronous

Non Anonymous Processes

Message-Passing system

Page 10: Distributed Computing Set 3 - Topics of non-Byzantine Consensus

Summary for Synchronous

Conensus & Byzantine

Page 11: Distributed Computing Set 3 - Topics of non-Byzantine Consensus

Slide

2

Byzantine agreement is solvable iff n > 3f and

connectivity > 2f in an arbitrary graph

Halting failures (Consensus) is solvable iff connectivity >

f in an arbitrary graph and must take f + 1 rounds

Page 12: Distributed Computing Set 3 - Topics of non-Byzantine Consensus

How About

Byzantine/Consensus in

Asynchronous systems?

Page 13: Distributed Computing Set 3 - Topics of non-Byzantine Consensus

Slide

2

In Asynchronous systems,

1 halting failure makes the problem of agreement

insolvable. This is remains true even if you solve the

Halting Problem.

Impossibility for halting failures implies impossibility

for Byzantine failures as well in asynchronous systems

Page 14: Distributed Computing Set 3 - Topics of non-Byzantine Consensus

Slide

18

EECS 6117 notes FW15-16, Instructor: Eric Ruppert

Hagit Attiya and Jennifer Welch. Distributed Computing: Fundamentals, Simulations and Advanced

Topics, 2nd edition. Wiley, 2004.

Nancy A. Lynch. Distributed Algorithms. Morgan Kaufmann, 1996.

References