1 of 192

Section 2.1

Networks & �Synchrony

Synchronous, and partially synchronous, and asynchronous networks... oh my!

2 of 192

0x171

0x2a2

0x3f3

0xbc1

Network Models

0x6e2

3 of 192

0x171

0x2a2

0x3f3

0xbc1

0x6e2

Network Models

4 of 192

0x171

0x2a2

0x3f3

0xbc1

0x6e2

Network Models

5 of 192

0x171

0x2a2

0x3f3

0xbc1

0x6e2

Network Models

6 of 192

0x171

0x2a2

0x3f3

0xbc1

0x6e2

Network Models

7 of 192

0x171

0x2a2

0x3f3

0xbc1

0x6e2

Network Models

8 of 192

0x171

0x2a2

0x3f3

0xbc1

0x6e2

Network Models

9 of 192

0x171

0x2a2

0x3f3

0xbc1

0x6e2

Network Models

10 of 192

0x171

0x2a2

0x3f3

0xbc1

0x6e2

Network Models

11 of 192

Network Models

12 of 192

Network Models

13 of 192

Network Models

14 of 192

Network Models

15 of 192

Network Models

16 of 192

Network Models

17 of 192

Network Models

18 of 192

Network Models

19 of 192

Network Models

20 of 192

Network Models

21 of 192

Network Models

22 of 192

Network Models

23 of 192

Time to propagate message + time to process message

Network Models

24 of 192

Network Models

25 of 192

5 seconds

Network Models

=

Network latency �+ �Processing time

26 of 192

0

Network Models

5 seconds

=

Network latency �+ �Processing time

27 of 192

1

Network Models

5 seconds

=

Network latency �+ �Processing time

28 of 192

2

5 seconds

Network latency �+ �Processing time

=

Network Models

29 of 192

3

5 seconds

=

Network latency �+ �Processing time

Network Models

30 of 192

4

5 seconds

=

Network latency �+ �Processing time

Network Models

31 of 192

5

5 seconds

=

Network latency �+ �Processing time

Network Models

32 of 192

Network Models

33 of 192

Latency = ∞ seconds

Network Models

34 of 192

0

Latency = ∞ seconds

Network Models

35 of 192

1

Latency = ∞ seconds

Network Models

36 of 192

2

Latency = ∞ seconds

Network Models

37 of 192

4

Latency = ∞ seconds

Network Models

38 of 192

8

Latency = ∞ seconds

Network Models

39 of 192

16

Latency = ∞ seconds

Network Models

40 of 192

128

Latency = ∞ seconds

Network Models

41 of 192

999

Latency = ∞ seconds

Network Models

42 of 192

99999999

Latency = ∞ seconds

Network Models

43 of 192

...99999999999999...

Latency = ∞ seconds

Network Models

44 of 192

...99999999999999...

Latency = ∞ seconds

DROPPED PACKET

Network Models

45 of 192

...99999999999999...

Latency = ∞ seconds

DROPPED PACKET

Network Models

46 of 192

...99999999999999...

Latency = ∞ seconds

DROPPED PACKET

Network Models

47 of 192

...99999999999999...

Latency = ∞ seconds

DROPPED PACKET

Network Models

48 of 192

...99999999999999...

Latency = ∞ seconds

DROPPED PACKET

Network Models

49 of 192

Network Models

50 of 192

Network Models

51 of 192

Messages

0

10

5

Network Models

Hello World!

My name isn’t World! It’s Bob!

52 of 192

Messages

0

10

5

Network Models

Hello World!

My name isn’t World! It’s Bob!

53 of 192

Messages

0

10

5

Network Models

Hello World!

My name isn’t World! It’s Bob!

54 of 192

Messages

0

10

5

Network Models

Hello World!

My name isn’t World! It’s Bob!

55 of 192

Messages

0

10

5

Network Models

Hello World!

My name isn’t World! It’s Bob!

56 of 192

Messages

0

10

5

Network Models

Hello World!

My name isn’t World! It’s Bob!

57 of 192

Messages

0

10

5

Network Models

Hello World!

My name isn’t World! It’s Bob!

58 of 192

Messages

0

10

5

Network Models

Hello World!

My name isn’t World! It’s Bob!

59 of 192

Messages

0

10

5

Network Models

Hello World!

My name isn’t World! It’s Bob!

60 of 192

Messages

0

10

5

Network Models

Hello World!

My name isn’t World! It’s Bob!

61 of 192

Messages

0

10

5

Network Models

Hello World!

My name isn’t World! It’s Bob!

62 of 192

Messages

0

10

5

Network Models

Hello World!

My name isn’t World! It’s Bob!

63 of 192

Messages

0

10

5

Network Models

Hello World!

My name isn’t World! It’s Bob!

64 of 192

Messages

0

10

5

Network Models

Hello World!

My name isn’t World! It’s Bob!

65 of 192

Messages

0

10

5

Network Models

Hello World!

My name isn’t World! It’s Bob!

5 seconds!

66 of 192

Messages

0

10

5

Network Models

Hello World!

My name isn’t World! It’s Bob!

5 seconds!

67 of 192

Messages

0

10

5

Network Models

Hello World!

My name isn’t World! It’s Bob!

??? seconds

68 of 192

??? seconds

Messages

0

10

5

Network Models

Hello World!

My name isn’t World! It’s Bob!

69 of 192

??? seconds

Messages

0

10

5

Network Models

Hello World!

My name isn’t World! It’s Bob!

70 of 192

??? seconds

Messages

0

10

5

Network Models

Hello World!

My name isn’t World! It’s Bob!

Synchronous

<5

seconds

71 of 192

??? seconds

Messages

0

10

5

Network Models

Hello World!

My name isn’t World! It’s Bob!

Synchronous

seconds

<?

seconds

Partially Synchronous

<5

72 of 192

??? seconds

Messages

0

10

5

Network Models

Hello World!

My name isn’t World! It’s Bob!

Synchronous

Asynchronous

seconds

seconds

seconds

Partially Synchronous

<5

<?

73 of 192

??? seconds

Messages

0

10

5

Network Models

Hello World!

My name isn’t World! It’s Bob!

Synchronous

Asynchronous

seconds

?

seconds

seconds

Partially Synchronous

<5

74 of 192

Messages

0

10

5

Synchronous Network

Hello World!

My name isn’t World! It’s Bob!

75 of 192

Messages

0

10

5

Hello World!

My name isn’t World! It’s Bob!

Synchronous Network

76 of 192

Messages

0

10

5

Hello World!

My name isn’t World! It’s Bob!

Synchronous Network

77 of 192

Messages

0

10

5

Hello World!

My name isn’t World! It’s Bob!

3

Synchronous Network

78 of 192

Messages

0

10

5

Hello World!

My name isn’t World! It’s Bob!

4

Synchronous Network

79 of 192

Messages

0

10

5

Hello World!

My name isn’t World! It’s Bob!

1

Synchronous Network

80 of 192

Messages

0

10

5

Hello World!

My name isn’t World! It’s Bob!

??

Synchronous Network

81 of 192

Messages

0

10

5

Hello World!

My name isn’t World! It’s Bob!

Synchronous Network

82 of 192

Messages

0

10

5

Hello World!

My name isn’t World! It’s Bob!

Received!

Synchronous Network

83 of 192

Messages

0

10

5

Hello World!

My name isn’t World! It’s Bob!

Synchronous Network

84 of 192

Messages

0

10

5

Hello World!

My name isn’t World! It’s Bob!

Synchronous Network

Messages are received by all interested parties

85 of 192

Messages

0

10

5

Hello World!

My name isn’t World! It’s Bob!

Synchronous Network

Messages are received by all interested parties

86 of 192

Messages

0

10

5

Hello World!

My name isn’t World! It’s Bob!

Synchronous Network

Messages are received by all interested parties

87 of 192

Messages

0

10

5

My name isn’t World! It’s Bob!

Synchronous Network

Messages are received by all interested parties

Hello World!

88 of 192

Messages

0

10

5

My name isn’t World! It’s Bob!

Synchronous Network

Messages are received by all interested parties

Hello World!

89 of 192

Messages

0

10

5

My name isn’t World! It’s Bob!

Synchronous Network

Messages are received by all interested parties

Hello World!

90 of 192

Messages

0

10

5

My name isn’t World! It’s Bob!

Synchronous Network

Messages are received by all interested parties

Hello World!

91 of 192

Messages

0

10

5

My name isn’t World! It’s Bob!

Synchronous Network

Messages are received by all interested parties

Hello World!

92 of 192

Messages

0

10

5

My name isn’t World! It’s Bob!

Synchronous Network

Messages are received by all interested parties

Hello World!

93 of 192

Messages

0

10

5

My name isn’t World! It’s Bob!

Synchronous Network

Messages are received by all interested parties

Hello World!

94 of 192

Messages

0

10

5

My name isn’t World! It’s Bob!

Synchronous Network

Messages are received by all interested parties

Hello World!

95 of 192

Messages

0

10

5

My name isn’t World! It’s Bob!

Synchronous Network

Hello World!

96 of 192

Messages

0

10

5

My name isn’t World! It’s Bob!

Synchronous Network

Hello World!

Synchronous

seconds

seconds

seconds

Partially Synchronous

<5

<?

Asynchronous

97 of 192

Messages

0

10

5

My name isn’t World! It’s Bob!

Synchronous Network

Hello World!

Synchronous

seconds

seconds

seconds

Partially Synchronous

<5

<?

Asynchronous

98 of 192

Messages

0

10

5

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

99 of 192

Messages

0

10

5

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

100 of 192

Messages

0

???

???

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

101 of 192

Messages

0

???

???

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

102 of 192

Messages

0

???

???

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

103 of 192

Messages

0

???

???

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Don’t fear!

104 of 192

Messages

0

???

???

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

105 of 192

Messages

0

???

???

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Upper bound on message propagation

106 of 192

Messages

0

???

???

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Upper bound on message propagation

Δ=

107 of 192

Messages

0

???

???

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Δ=???

108 of 192

Messages

0

???

???

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Δ=5?

109 of 192

Messages

0

???

???

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Δ=10?

110 of 192

Messages

0

???

???

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Δ=9999999?

111 of 192

Messages

0

???

???

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Δ=???

112 of 192

Messages

0

???

???

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Δ=???

113 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Δ=???

114 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Δ=???

115 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Δ=???

116 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Δ=???

117 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

118 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

119 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

120 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

121 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

122 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

123 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

124 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

125 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

126 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

127 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

128 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

129 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

130 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

131 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

132 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

133 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

134 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

135 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

136 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

137 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

138 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

139 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

140 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

141 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

142 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

143 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

144 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

145 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

146 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

147 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

148 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

149 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

150 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

151 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

152 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

153 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Pretty realistic

154 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

We are guaranteed that eventually our messages will go through

155 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

We are guaranteed that eventually our messages will go through

Liveness

156 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

157 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Synchronous

Asynchronous

seconds

seconds

seconds

Partially Synchronous

<5

<?

158 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Partially Synchronous Network

Hello World!

Synchronous

Asynchronous

seconds

seconds

seconds

Partially Synchronous

<5

<?

159 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Asynchronous Network

Hello World!

160 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Asynchronous Network

Hello World!

161 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Asynchronous Network

Hello World!

162 of 192

Messages

0

Δ

My name isn’t World! It’s Bob!

Asynchronous Network

Hello World!

163 of 192

Messages

0

Δ

Asynchronous Network

Hello World!

164 of 192

Messages

0

Δ

Asynchronous Network

Hello World!

165 of 192

Messages

0

Δ

Asynchronous Network

Hello World!

166 of 192

Messages

0

Δ

Asynchronous Network

Hello World!

167 of 192

Messages

0

Δ

Asynchronous Network

Hello World!

168 of 192

Messages

0

Δ

Asynchronous Network

Hello World!

169 of 192

Messages

0

Δ

Asynchronous Network

Hello World!

170 of 192

Messages

0

Δ

Asynchronous Network

Hello World!

171 of 192

Messages

0

Δ

Asynchronous Network

Hello World!

172 of 192

Messages

0

Δ

Asynchronous Network

Hello World!

173 of 192

Messages

0

Δ

Asynchronous Network

Hello World!

174 of 192

Messages

0

Δ

Asynchronous Network

Hello World!

175 of 192

Messages

0

Δ

Asynchronous Network

Hello World!

176 of 192

Messages

0

Δ

Asynchronous Network

Hello World!

177 of 192

Messages

0

Δ

Asynchronous Network

Hello World!

178 of 192

Messages

0

Δ

Asynchronous Network

Hello World!

179 of 192

Messages

0

Δ

Asynchronous Network

Hello World!

180 of 192

Messages

0

Δ

Asynchronous Network

Hello World!

181 of 192

Messages

0

Δ

Asynchronous Network

Hello World!

MOST REALISTIC

182 of 192

Messages

0

Δ

Asynchronous Network

Hello World!

MOST REALISTIC

183 of 192

Messages

0

Δ

Asynchronous Network

Hello World!

MOST REALISTIC

In reality, messages may never arrive...

184 of 192

Messages

0

Δ

Asynchronous Network

Hello World!

MOST REALISTIC

In reality, messages may never arrive...

Synchronous

Asynchronous

seconds

seconds

seconds

Partially Synchronous

<5

<?

185 of 192

Messages

0

Δ

Asynchronous Network

Hello World!

MOST REALISTIC

Synchronous

Asynchronous

seconds

Partially Synchronous

In reality, messages may never arrive...

seconds

<?

seconds

<5

186 of 192

Messages

0

Δ

Asynchronous Network

Hello World!

MOST REALISTIC

Synchronous

Asynchronous

Partially Synchronous

In reality, messages may never arrive...

seconds

<5

seconds

seconds

<?

187 of 192

Messages

0

Δ

Asynchronous Network

Hello World!

MOST REALISTIC

Synchronous

Asynchronous

Partially Synchronous

In reality, messages may never arrive...

seconds

<5

seconds

seconds

<?

188 of 192

Messages

0

Δ

Asynchronous Network

Hello World!

MOST REALISTIC

Synchronous

Asynchronous

Partially Synchronous

In reality, messages may never arrive...

seconds

<5

seconds

seconds

<?

189 of 192

Messages

0

Δ

Asynchronous Network

Hello World!

MOST REALISTIC

Synchronous

Asynchronous

Partially Synchronous

In reality, messages may never arrive...

seconds

<5

seconds

seconds

<?

190 of 192

Next up...

191 of 192

Next up...

Section 1.2

Payment Processor Implementation

Implementing a payment processor using the account model. Learn about state & state transitions and reply protection.

Section 2.2

The Double�Spend

Inconsistent state in a distributed network of nodes, and the mischief which can ensue!

192 of 192

Next up...

Section 1.2

Payment Processor Implementation

Implementing a payment processor using the account model. Learn about state & state transitions and reply protection.

Section 2.2

The Double�Spend

Inconsistent state in a distributed network of nodes, and the mischief which can ensue!