Download presentation
Presentation is loading. Please wait.
1
Byzantine-Resilient Colorless Computaton
Companion slides for Distributed Computing Through Combinatorial Topology Maurice Herlihy & Dmitry Kozlov & Sergio Rajsbaum TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAA 1
2
Distributed Computing through Combinatorial Topology
Message-Passing 20-Sep-18 Distributed Computing through Combinatorial Topology
3
Distributed Computing through Combinatorial Topology
Crash Failures 20-Sep-18 Distributed Computing through Combinatorial Topology
4
Distributed Computing through Combinatorial Topology
Byzantine Failures 20-Sep-18 Distributed Computing through Combinatorial Topology
5
Distributed Computing through Combinatorial Topology
He said, She said … 20-Sep-18 Distributed Computing through Combinatorial Topology
6
Distributed Computing through Combinatorial Topology
He said, She said … 20-Sep-18 Distributed Computing through Combinatorial Topology
7
Identifying Input Values
sorry t Distributed Computing through Combinatorial Topology
8
Identifying Input Values
! t+1 Distributed Computing through Combinatorial Topology
9
Nothing Learned … t t t (dim I + 1) t each input reported by only t
t are silent … t t t No input learned if n+1 · (dim I+2) t (dim I + 1) t Distributed Computing through Combinatorial Topology
10
Requirement n+1 > (dim I + 2) t requirement that:
means t is “pretty small” Byzantine is harder! dim I irrelevant for crash failures Distributed Computing through Combinatorial Topology
11
Distributed Computing through Combinatorial Topology
Strict Tasks ¢(¾0) Å ¢(¾1) = ¢(¾0 Å ¾1) usually require only µ Distributed Computing through Combinatorial Topology
12
Distributed Computing through Combinatorial Topology
Main Result (I,O,¢) has a wait-free Byzantine protocol … if and only if … there is a continuous map f: |skelt I| |O| carried by ¢. where n+1 > (dim I + 2) t Distributed Computing through Combinatorial Topology
13
Distributed Computing through Combinatorial Topology
Communication message-passing asynchronous layers Distributed Computing through Combinatorial Topology
14
Distributed Computing through Combinatorial Topology
Messages (P, tag, v) can be forged cannot be forged message type sender sequence of values Distributed Computing through Combinatorial Topology
15
Distributed Computing through Combinatorial Topology
Reliable Broadcast RBSend(P, tag, v) RBReceive(P, tag, v) Distributed Computing through Combinatorial Topology
16
Non-Faulty Integrity If non-faulty P never broadcasts (P,tag,v) …
via RBSend(P, tag, v) Non-faulty Q never receives (P,tag,v) via RBReceive(P, tag, v) Distributed Computing through Combinatorial Topology
17
Non-Faulty Liveness If non-faulty P does broadcast (P,tag,v) …
via RBSend(P, tag, v) Every non-faulty Q receives (P,tag,v) via RBReceive(P, tag, v) Distributed Computing through Combinatorial Topology
18
Global Uniqueness If non-faulty Q,R reliably receive…
(P,tag,v), (P,tag’,v’) respectively … then tag = tag’ and v = v’ even if P is faulty Distributed Computing through Combinatorial Topology
19
Global Liveness for non-faulty Q,R … if Q reliably receives (P,tag,v)…
then R reliably receives (P,tag,v)… even if P is faulty Distributed Computing through Combinatorial Topology
20
Summary The only way …. a Byzantine process can misbehave ….
is by sending the same fake value to everyone a Byzantine process can misbehave …. Distributed Computing through Combinatorial Topology
21
Distributed Computing through Combinatorial Topology
RBSend Phase 1 (P, SEND, v) Distributed Computing through Combinatorial Topology
22
Distributed Computing through Combinatorial Topology
RBSend Phase 2 first (P, SEND, v) ? (Q, P, ECHO, v) background loop Distributed Computing through Combinatorial Topology
23
Distributed Computing through Combinatorial Topology
1st time received (*,P, ECHO,v) from n+1-t? RBSend Phase 3 (Q, P, READY, v) background loop Distributed Computing through Combinatorial Topology
24
Distributed Computing through Combinatorial Topology
RBSend Phase 4 1st time received (*,P,READY,v) from t+1? (Q, P, READY, v) background loop Distributed Computing through Combinatorial Topology
25
Distributed Computing through Combinatorial Topology
RBSend Phase 5 1st time received (*,P,READY,v) from n-t+1? deliver (P, v) Distributed Computing through Combinatorial Topology
26
Lemma: Non-Faulty Integrity
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-2t non-faulty processes sent (*,ECHO,Q,v) Let R be the first R must have received (Q,SEND,v) from Q Distributed Computing through Combinatorial Topology
27
Lemma: Non-Faulty Liveness
Non-faulty P broadcasts (P,SEND,v) eventually received by n+1-t non-faulty processes each 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) Distributed Computing through Combinatorial Topology
28
Lemma: Global Uniqueness
The uniqueness tests ensure that any process that broadcasts (*,ECHO,P,v) or (*,READY,P,v) will not broadcast (*,ECHO,P,v') or (*,READY,P,v) where v v’. Distributed Computing through Combinatorial Topology
29
Lemma: Global Liveness
Non-faulty Q reliably receives (P, v) … R another non-faulty process Q received ¸ n+1-t (*,READY,P,v) ¸ n+1-2t from non-faulty if ¸ t+1 non-faulty send (*,READY,P,v) every non-faulty will receive & rebroadcast every non-faulty eventually receives n+1-t and delivers Distributed Computing through Combinatorial Topology
30
Distributed Computing through Combinatorial Topology
Reading a Value 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 Distributed Computing through Combinatorial Topology
31
Reading a Value 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) Distributed Computing through Combinatorial Topology
32
Reading a Value 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 to hear from all but t Distributed Computing through Combinatorial Topology
33
Distributed Computing through Combinatorial Topology
Reading a Value 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 Distributed Computing through Combinatorial Topology
34
Reading a Value 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 Distributed Computing through Combinatorial Topology
35
Reading a Value 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 Distributed Computing through Combinatorial Topology
36
Distributed Computing through Combinatorial Topology
Set Agreement SetAgree(v): value RBSend(P,INPUT,v) M: Set of Message := getQuorum(INPUT) return min Trusted(M) Distributed Computing through Combinatorial Topology
37
Set Agreement SetAgree(v): value RBSend(P,INPUT,v)
M: Set of Message := getQuorum(INPUT) return min Trusted(M) at most t lower values missing Distributed Computing through Combinatorial Topology
38
Barycenrtric Agreement
Ri[j] = messages received by Pi from Pj Ri:= (;,…, ;) Mi:= ; Bi:= ; Mi = messages received by Pi Bi = Pi ‘s buddies: processes that reported same set of vertices Distributed Computing through Combinatorial Topology
39
Barycentric Agreement (1)
reliably broadcast my input vertex RBSend(Pi,INPUT,v) Mi := getQuorum(INPUT) reliably receive others’ input vertices Distributed Computing through Combinatorial Topology
40
Barycentric Agreement (2)
record newly-learned input vertices background // run forever upon RBReceive(Pj,INPUT,u) do Mi := Mi [ {u} RBSend(Pi,REPORT,Mi) forward set of vertices with REPORT tag Distributed Computing through Combinatorial Topology
41
Barycentric Agreement
until I have n+1-t buddies… while |Bi| < n+1-t do upon RBReceive(Pj,REPORT,Mj) do Ri[j] := Mj Bi := {P: Ri[l] = Mi, 0 · l · n} return trusted(Mi) accumulate new reports … return set of trusted input vertices. Distributed Computing through Combinatorial Topology
42
Lemma Sequence of Mi vertex sets reliably broadcast by Pi
are monotonically increasing as sent & as received When sent, by construction … when received, because FIFO message channels Distributed Computing through Combinatorial Topology
43
Lemma: Protocol Terminates
Suppose BWOC Pi runs forever … Eventually Mi assumes final value M … Non-faulty Pj, with Mj, receives M Pj must have sent Mj to Pi Mj ½ M OR Mj = M Pi will sent M to Pj Pj has sent M to Pi Distributed Computing through Combinatorial Topology
44
All Mi, Mj Totally Ordered
If Pi broadcasts M(0), …, M(k), then M(i) ½ M(i+1) To decide … Pi received Mi from X, |X| ¸ n+1-t Pj received Mj from Y, |Y| ¸ n+1-t some Pk 2 X Å Y sent both Mi, Mj so Mi, Mj are ordered. Distributed Computing through Combinatorial Topology
45
Lemma Non-faulty Pi and Pj have |Mi Å Mj| ¸ n+1-t trusted(Mi Å Mj) ;
Mi µ Mj or Mj µ Mi proof in book Distributed Computing through Combinatorial Topology
46
Byzantine Computability
if n+1 > (dim I + 2) t (I,O,¢) has a wait-free Byzantine protocol … if and only if … there is a continuous map f: |skelt I| |O| carried by ¢. Distributed Computing through Combinatorial Topology
47
Distributed Computing through Combinatorial Topology
Map Implies Protocol f: |skelt I| |O| carried by ¢. Á: BaryN skelt I O Solve using … Solvability theorems for the other models are pretty much the same, except for the conditions under which we can solve barycentric and t-set agreement barycentric agreement t-set agreement Distributed Computing through Combinatorial Topology
48
Distributed Computing through Combinatorial Topology
Protocol implies Map reduction to crash-failure model Solvability theorems for the other models are pretty much the same, except for the conditions under which we can solve barycentric and t-set agreement Distributed Computing through Combinatorial Topology
49
Lower Bound Á: I O carried by ¢. A strict colorless task (I,O,¢)
is trivial if there is a simplicial map Á: I O carried by ¢. (A trivial task can be solved without communication) Distributed Computing through Combinatorial Topology
50
Theorem 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) Distributed Computing through Combinatorial Topology
51
Proof Let ¾ = {v0, …, vd} be a d-simplex of I
consider an execution where … Pi has input vi mod d+1 no failures Distributed Computing through Combinatorial Topology
52
Proof … … S = {P0, …, Pn-t} T = {Pn+1-t, …, Pn}
Si = {P| P in S has input vi} no communication Pi decides ui Distributed Computing through Combinatorial Topology
53
Proof If ui 2 ¢(¾i) and … ui 2 ¢(¾i’) then … ui 2 ¢(¾i Å ¾i’) so …
there is a unique minimal ¾i such that ui 2 ¢(¾i) Distributed Computing through Combinatorial Topology
54
Proof If all ¾i = {vi} then the task is trivial.
so some minimal ¾i = {vi ,vj} Every simplex ¿ such that ui 2 ¢(¿) contains vj Distributed Computing through Combinatorial Topology
55
Proof … … T have input vi Sj change input to vi
Sj are Byzantine, still claim vj no communication Pi still decides ui ui 2 ¢(¾i n {vj}) contradiction Distributed Computing through Combinatorial Topology
56
Distributed Computing through Combinatorial Topology
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 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
57
Distributed Computing through Combinatorial Topology
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.