/
Byzantine-Resilient Colorless Byzantine-Resilient Colorless

Byzantine-Resilient Colorless - PowerPoint Presentation

backbays
backbays . @backbays
Follow
342 views
Uploaded On 2020-06-23

Byzantine-Resilient Colorless - PPT Presentation

Computaton TexPoint fonts used in EMF Read the TexPoint manual before you delete this box A A A A Companion slides for Distributed Computing Through Combinatorial Topology Maurice ID: 784165

computing combinatorial tag distributed combinatorial computing distributed tag faulty topology input set received trusted message rbsend rbreceive ready return

Share:

Link:

Embed:

Download Presentation from below link

Download The PPT/PDF document "Byzantine-Resilient Colorless" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Byzantine-Resilient Colorless

Computaton

TexPoint

fonts used in EMF.

Read the TexPoint manual before you delete this box.: AAAA

Companion slides

forDistributed ComputingThrough Combinatorial TopologyMaurice Herlihy & Dmitry Kozlov & Sergio Rajsbaum

1

Slide2

Message-Passing

15-Feb-15

2

Distributed Computing through Combinatorial Topology

Slide3

Crash Failures

15-Feb-15

3

Distributed Computing through Combinatorial Topology

Slide4

Byzantine Failures

15-Feb-15

4

Distributed Computing through Combinatorial Topology

Slide5

He said, She said …

15-Feb-15

5

Distributed Computing through Combinatorial Topology

Slide6

He said, She said …

15-Feb-15

6

Distributed Computing through Combinatorial Topology

Slide7

Identifying Input Values

Distributed Computing through Combinatorial Topology7

sorry

t

Slide8

Identifying Input Values

Distributed Computing through Combinatorial Topology

8

!

t+1

Slide9

Nothing Learned

Distributed Computing through Combinatorial Topology9

t

t

t

each input reported by only

t

t

are silent

(dim

I

+ 1) t

No input learned if

n

+1

·

(dim

I

+2)

t

Slide10

means

t

is “pretty small”

Byzantine is harder!

requirement that:

RequirementDistributed Computing through Combinatorial Topology

10n+1 > (dim I + 2) t

dim

I

irrelevant for crash failures

Slide11

Strict Tasks

Distributed Computing through Combinatorial Topology11

¢

(

¾0) Å ¢(¾

1) = ¢(

¾0 Å ¾1)

usually require only

µ

Slide12

Main Result

Distributed Computing through Combinatorial Topology12

(

I

,O,¢) has a wait-free Byzantine protocol

if and only if …there is a continuous map

f

: |

skel

t

I

|

|O

|carried by

¢.where

n+1 > (dim I + 2) t

Slide13

Communication

Distributed Computing through Combinatorial Topology13

message-passing

asynchronous layers

Slide14

Messages

Distributed Computing through Combinatorial Topology14

(

P, tag, v)

sender

message type

sequence

of values

cannot be forged

can be forged

Slide15

Reliable Broadcast

Distributed Computing through Combinatorial Topology15

RBSend

(P, tag, v)

RBReceive(P, tag, v)

Slide16

Non-Faulty Integrity

Distributed Computing through Combinatorial Topology16

If non-faulty

P

never broadcasts (P,tag,v) …

Non-faulty

Q never receives (P,tag,v)via

RBSend

(

P, tag, v

)

via

RBReceive

(

P, tag, v

)

Slide17

Non-Faulty Liveness

Distributed Computing through Combinatorial Topology17

If non-faulty

P

does broadcast (P,tag,v) …

Every non-faulty

Q receives (P,tag,v)via

RBSend

(

P, tag, v

)

via

RBReceive

(

P, tag, v

)

Slide18

Global Uniqueness

Distributed Computing through Combinatorial Topology18

If non-faulty

Q,R

reliably receive…then tag

= tag’ and v

= v’even if P is faulty

(

P,tag,v

), (

P,tag’,v

)

respectively

Slide19

Global Liveness

Distributed Computing through Combinatorial Topology19

for non-faulty

Q,R

…then R

reliably receives (P,tag,v

)…even if P is faulty

if

Q

reliably receives

(

P,tag,v

)…

Slide20

Summary

Distributed Computing through Combinatorial Topology20

The only way ….

is by sending the

same fake value to everyone

a Byzantine process can misbehave ….

Slide21

RBSend Phase 1

Distributed Computing through Combinatorial Topology

21

(

P,

SEND,

v

)

Slide22

RBSend Phase 2

Distributed Computing through Combinatorial Topology

22

(

Q

,

P

,

ECHO,

v

)

first

(

P, SEND, v

)

?

background loop

Slide23

RBSend Phase 3

Distributed Computing through Combinatorial Topology

23

(

Q

,

P

,

READY,

v

)

1

st

time received

(

*,

P,

ECHO,v

)

from

n+1

-

t

?

background loop

Slide24

RBSend Phase 4

Distributed Computing through Combinatorial Topology

24

(

Q,

P

,

READY,

v

)

1

st

time received

(

*,

P,READY,v

)

from

t

+1

?

background loop

Slide25

RBSend Phase 5

Distributed Computing through Combinatorial Topology

25

deliver (

P,

v

)

1

st

time received

(

*,

P,READY,v

)

from

n-t

+1

?

Slide26

Lemma: Non-Faulty Integrity

Distributed Computing through Combinatorial Topology26

Suppose non-faulty

P

reliably receives(Q,v) from non-faulty Q

P

must have received n+1-t(*, READY, Q, v) messages

At least

n

+1-2

t

non-faulty

processes sent (

*,

ECHO,Q,v

)

Let R be the first

R must have received (Q,SEND,v) from Q

Slide27

Lemma: Non-Faulty Liveness

Distributed Computing through Combinatorial Topology27

Non-faulty

P

broadcasts (P,SEND,v)

eventually received by n+1-

tnon-faulty processeseach sends (*,ECHO,P,v)

eventually receives

n

+1-

t

(

*,

ECHO,P,v

)

each sends (

*,READY,P,v)

eventually receives n+1-

t (*,READY,P,v)

Slide28

Lemma: Global Uniqueness

Distributed Computing through Combinatorial Topology28

The

uniqueness tests

ensure that any processthat broadcasts (*,ECHO,P,v) or

(*,READY,P,v

)will not broadcast (*,ECHO,P,v') or (*,

READY,P,v

)

where

v

v’.

Slide29

Lemma: Global Liveness

Distributed Computing through Combinatorial Topology29

Non-faulty

Q

reliably receives (P, v) …

R another non-faulty process

Q received ¸ n+1-t (

*,

READY,P,v

)

if

¸

t

+1

non-faulty send (

*,READY,P,v)every non-faulty will receive & rebroadcast

every non-faulty eventually receives n+1-

t¸ n+1-2

t from non-faultyand delivers

Slide30

Reading a Value

Distributed Computing through Combinatorial Topology30

getQuorum

(Tag: tag):

Set of Message M := ;

while |M| <

n+1-t or trusted(M) =

;

do

upon

RBReceive

(

Q,tag,v

) do

M := M [ {(

Q,tag,v)} return M

Slide31

Reading a Value

Distributed Computing through Combinatorial Topology31

getQuorum

(Tag: tag):

Set of Message M := ;

while |

M| < n+1-t or trusted(M

) =

;

do

upon

RBReceive

(

Q,tag,v

) do M :=

M [ {(Q,tag,v

)} return M

returns set of messages (values)

Slide32

getQuorum

(Tag: tag): Set of Message

M :=

; while |M

| < n+1-

t or trusted(M) = ;

do

upon

RBReceive

(

Q,tag,v

) do

M := M

[ {(Q,tag,v)}

return MReading a ValueDistributed Computing through Combinatorial Topology32

wait to hear from all but t

Slide33

Reading a Value

Distributed Computing through Combinatorial Topology33

getQuorum

(Tag: tag): Set of Message

M := ;

while |M

| < n+1-t or trusted(M

)

=

;

do

upon

RBReceive

(

Q,tag,v) do M

:= M [ {(Q,tag,v

)} return M

values reported by t+1

Slide34

Reading a Value

Distributed Computing through Combinatorial Topology34

getQuorum

(Tag: tag): Set of Message

M := ;

while |M

| < n+1-t or trusted(M

) =

;

do

upon

RBReceive

(

Q,tag,v) do

M := M

[ {(Q,tag,v)}

return M

wait until you learn a trusted value

Slide35

Reading a Value

Distributed Computing through Combinatorial Topology35

getQuorum

(Tag: tag): Set of Message

M := ;

while |

M| < n+1-t or trusted(M

) =

;

do

upon

RBReceive

(

Q,tag,v) do

M := M

[ {(Q,tag,v)}

return M

safe to wait for both (why?)returns ¸

1 trusted values

Slide36

Set Agreement

Distributed Computing through Combinatorial Topology36

SetAgree

(v): value

RBSend(P,INPUT,v)

M: Set of Message :=

getQuorum(INPUT) return min Trusted(M)

Slide37

Set Agreement

Distributed Computing through Combinatorial Topology37

SetAgree

(v): value

RBSend(P,INPUT,v)

M: Set of Message :=

getQuorum(INPUT) return min Trusted(M)

at most

t

lower values missing

Slide38

Barycenrtric Agreement

Distributed Computing through Combinatorial Topology

38

Ri

:= (;,…, ;)M

i:= ;

Bi:= ;

R

i

[j]

= messages received by

P

i

from

P

j

M

i = messages received by Pi

Bi = Pi ‘s buddies

: processesthat reported same set of vertices

Slide39

Barycentric Agreement (1)

Distributed Computing through Combinatorial Topology

39

RBSend(

Pi,INPUT,v) M

i := getQuorum

(INPUT)reliably broadcast my input vertex

reliably receive others’ input vertices

Slide40

Barycentric Agreement (2)

Distributed Computing through Combinatorial Topology

40

background

// run forever upon RBReceive(P

j,INPUT,u)

do Mi := Mi

[

{u}

RBSend

(

Pi,REPORT,M

i

)

record newly-learned input vertices

forward set of vertices with REPORT tag

Slide41

Barycentric Agreement

Distributed Computing through Combinatorial Topology

41

while

|Bi| < n+1-t do

upon RBReceive

(Pj,REPORT,Mj) do Ri[j

] :=

M

j

B

i

:= {

P: Ri[l

] = Mi, 0 ·

l · n}return

trusted(Mi)

until I have n+1-t buddies…

accumulate new reports …

return set of trusted input vertices.

Slide42

Lemma

Distributed Computing through Combinatorial Topology42

Sequence of

M

i vertex sets reliably broadcast by Pi are monotonically increasing as sent & as received

When sent, by construction …

when received, because FIFO message channels

Slide43

Lemma: Protocol Terminates

Distributed Computing through Combinatorial Topology43

Suppose BWOC

P

i runs forever …Eventually

Mi assumes final value

M …Non-faulty Pj

,

with

M

j

,

receives

M

P

j must have sent

Mj to Pi

Mj ½ M

Mj = M

ORP

i will sent M to Pj

P

j has sent M to Pi

Slide44

All Mi

, Mj Totally Ordered

Distributed Computing through Combinatorial Topology

44

If Pi broadcasts M(0

), …, M(k

), then M(i) ½ M

(i+1

)

To decide …

P

i

received

M

i

from X, |X|

¸ n+1-t

Pj received Mj from

Y, |Y| ¸ n+1-t

some Pk 2 X Å Y sent both

M

i, Mjso

Mi, Mj are ordered.

Slide45

Lemma

Distributed Computing through Combinatorial Topology45

Non-faulty

P

i and Pj have|M

i Å

Mj| ¸ n+1-ttrusted(

M

i

Å

M

j

)

 ;Mi

µ Mj or Mj

µ Mi

proof in book

Slide46

Byzantine Computability

Distributed Computing through Combinatorial Topology46

(

I

,O,¢) has a

wait-free Byzantine protocol …

if and only if …there is a continuous map

f

: |

skel

t

I

|

|

O|carried

by ¢.if

n+1 > (dim I + 2) t

Slide47

Map Implies Protocol

Distributed Computing through Combinatorial Topology47

f

: |

skelt I|  |

O|

Á: BaryN skelt

I

O

Solve using …

barycentric

agreement

t

-set agreementcarried by

¢.

Slide48

Protocol implies Map

Distributed Computing through Combinatorial Topology

48

reduction to crash-failure model

Slide49

Lower Bound

Distributed Computing through Combinatorial Topology49

Á

:

I  O

carried

by ¢.A strict colorless task (I

,

O

,

¢

)

is

trivial

if ther

e is a simplicial map

(A trivial task can be solved without communication)

Slide50

Theorem

Distributed Computing through Combinatorial Topology50

If a strict colorless task

(

I,O,¢)has a protocol, where

n+1 ·

(dim I + 2) t then that task is trivial(A trivial task can be solved without communication)

Slide51

Proof

Distributed Computing through Combinatorial Topology51

Let

¾

= {v0, …, vd}

be a d-simplex of I

consider an execution where …Pi

has input

v

i

mod d+1

no failures

Slide52

Proof

Distributed Computing through Combinatorial Topology52

S = {

P

0

, …,

P

n

-t

}

T = {

P

n+1-t

, …,

P

n

}

no communication

P

i

decides

u

i

S

i

= {

P

|

P

in

S

has input

v

i

}

Slide53

Proof

Distributed Computing through Combinatorial Topology53

If

u

i 2 ¢(¾i

) and …

there is a unique minimal ¾i such that

u

i

2

¢

(

¾

i’) then …

ui 2 ¢

(¾i Å ¾i

’) so …ui

2 ¢(¾i)

Slide54

Proof

Distributed Computing through Combinatorial Topology54

If all

¾

i = {vi} then the task is trivial.

so some minimal

¾i = {vi ,vj

}

Every simplex

¿

such that

u

i

2

¢(

¿) contains vj

Slide55

Proof

Distributed Computing through Combinatorial Topology55

T

have input

v

i

no communication

P

i

still

decides

u

i

S

j

change inpu

t to

v

i

S

j

are Byzantine, still claim

v

j

u

i

2

¢

(

¾

i

n

{

v

j

})

contradiction

Slide56

56

 

        This work is licensed under a

Creative Commons Attribution-ShareAlike 2.5 License.

You are free:

to Share — to copy, distribute and transmit the work to Remix — to adapt the work Under the following conditions:Attribution. You must attribute the work to

“Distributed Computing through Combinatorial Topology”

(but not in any way that suggests that the authors endorse you or your use of the work).

Share Alike

. If you alter, transform, or build upon this work, you may distribute the resulting work only under the same, similar or a compatible license.

For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to

http://creativecommons.org/licenses/by-sa/3.0/.

Any of the above conditions can be waived if you get permission from the copyright holder.

Nothing in this license impairs or restricts the author's moral rights.

Distributed Computing through Combinatorial Topology

Slide57

Distributed Computing through Combinatorial Topology

57