Presentation is loading. Please wait.

Presentation is loading. Please wait.

Byzantine-Resilient Colorless Computaton

Similar presentations


Presentation on theme: "Byzantine-Resilient Colorless Computaton"— Presentation transcript:

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


Download ppt "Byzantine-Resilient Colorless Computaton"

Similar presentations


Ads by Google