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
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.
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
Slide2Message-Passing
15-Feb-15
2
Distributed Computing through Combinatorial Topology
Slide3Crash Failures
15-Feb-15
3
Distributed Computing through Combinatorial Topology
Slide4Byzantine Failures
15-Feb-15
4
Distributed Computing through Combinatorial Topology
Slide5He said, She said …
15-Feb-15
5
Distributed Computing through Combinatorial Topology
Slide6He said, She said …
15-Feb-15
6
Distributed Computing through Combinatorial Topology
Slide7Identifying Input Values
Distributed Computing through Combinatorial Topology7
sorry
t
Slide8Identifying Input Values
Distributed Computing through Combinatorial Topology
8
!
t+1
Slide9Nothing 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
Slide10means
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
Slide11Strict Tasks
Distributed Computing through Combinatorial Topology11
¢
(
¾0) Å ¢(¾
1) = ¢(
¾0 Å ¾1)
usually require only
µ
Slide12Main 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
Slide13Communication
Distributed Computing through Combinatorial Topology13
message-passing
asynchronous layers
Slide14Messages
Distributed Computing through Combinatorial Topology14
(
P, tag, v)
sender
message type
sequence
of values
cannot be forged
can be forged
Slide15Reliable Broadcast
Distributed Computing through Combinatorial Topology15
RBSend
(P, tag, v)
RBReceive(P, tag, v)
Slide16Non-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
)
Slide17Non-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
)
Slide18Global 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
…
Slide19Global 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
)…
Slide20Summary
Distributed Computing through Combinatorial Topology20
The only way ….
is by sending the
same fake value to everyone
a Byzantine process can misbehave ….
Slide21RBSend Phase 1
Distributed Computing through Combinatorial Topology
21
(
P,
SEND,
v
)
Slide22RBSend Phase 2
Distributed Computing through Combinatorial Topology
22
(
Q
,
P
,
ECHO,
v
)
first
(
P, SEND, v
)
?
background loop
Slide23RBSend 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
Slide24RBSend Phase 4
Distributed Computing through Combinatorial Topology
24
(
Q,
P
,
READY,
v
)
1
st
time received
(
*,
P,READY,v
)
from
t
+1
?
background loop
Slide25RBSend Phase 5
Distributed Computing through Combinatorial Topology
25
deliver (
P,
v
)
1
st
time received
(
*,
P,READY,v
)
from
n-t
+1
?
Slide26Lemma: 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
Slide27Lemma: 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)
Slide28Lemma: 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’.
Slide29Lemma: 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
Slide30Reading 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
Slide31Reading 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)
Slide32getQuorum
(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
Slide33Reading 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
Slide34Reading 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
Slide35Reading 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
Slide36Set Agreement
Distributed Computing through Combinatorial Topology36
SetAgree
(v): value
RBSend(P,INPUT,v)
M: Set of Message :=
getQuorum(INPUT) return min Trusted(M)
Slide37Set 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
Slide38Barycenrtric 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
Slide39Barycentric 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
Slide40Barycentric 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
Slide41Barycentric 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.
Slide42Lemma
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
Slide43Lemma: 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
Slide44All 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.
Slide45Lemma
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
Slide46Byzantine 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
Slide47Map Implies Protocol
Distributed Computing through Combinatorial Topology47
f
: |
skelt I| |
O|
Á: BaryN skelt
I
O
Solve using …
barycentric
agreement
t
-set agreementcarried by
¢.
Slide48Protocol implies Map
Distributed Computing through Combinatorial Topology
48
reduction to crash-failure model
Slide49Lower 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)
Slide50Theorem
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)
Slide51Proof
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
Slide52Proof
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
}
Slide53Proof
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)
Slide54Proof
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
Slide55Proof
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
Slide5656
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
Slide57Distributed Computing through Combinatorial Topology
57