Section 2.1
Networks & �Synchrony
Synchronous, and partially synchronous, and asynchronous networks... oh my!
0x171
0x2a2
0x3f3
0xbc1
Network Models
0x6e2
0x171
0x2a2
0x3f3
0xbc1
0x6e2
Network Models
0x171
0x2a2
0x3f3
0xbc1
0x6e2
Network Models
0x171
0x2a2
0x3f3
0xbc1
0x6e2
Network Models
0x171
0x2a2
0x3f3
0xbc1
0x6e2
Network Models
0x171
0x2a2
0x3f3
0xbc1
0x6e2
Network Models
0x171
0x2a2
0x3f3
0xbc1
0x6e2
Network Models
0x171
0x2a2
0x3f3
0xbc1
0x6e2
Network Models
0x171
0x2a2
0x3f3
0xbc1
0x6e2
Network Models
Network Models
Network Models
Network Models
Network Models
Network Models
Network Models
Network Models
Network Models
Network Models
Network Models
Network Models
Network Models
Time to propagate message + time to process message
Network Models
Network Models
5 seconds
Network Models
=
Network latency �+ �Processing time
0
Network Models
5 seconds
=
Network latency �+ �Processing time
1
Network Models
5 seconds
=
Network latency �+ �Processing time
2
5 seconds
Network latency �+ �Processing time
=
Network Models
3
5 seconds
=
Network latency �+ �Processing time
Network Models
4
5 seconds
=
Network latency �+ �Processing time
Network Models
5
5 seconds
=
Network latency �+ �Processing time
Network Models
Network Models
Latency = ∞ seconds
Network Models
0
Latency = ∞ seconds
Network Models
1
Latency = ∞ seconds
Network Models
2
Latency = ∞ seconds
Network Models
4
Latency = ∞ seconds
Network Models
8
Latency = ∞ seconds
Network Models
16
Latency = ∞ seconds
Network Models
128
Latency = ∞ seconds
Network Models
999
Latency = ∞ seconds
Network Models
99999999
Latency = ∞ seconds
Network Models
...99999999999999...
Latency = ∞ seconds
Network Models
...99999999999999...
Latency = ∞ seconds
DROPPED PACKET
Network Models
...99999999999999...
Latency = ∞ seconds
DROPPED PACKET
Network Models
...99999999999999...
Latency = ∞ seconds
DROPPED PACKET
Network Models
...99999999999999...
Latency = ∞ seconds
DROPPED PACKET
Network Models
...99999999999999...
Latency = ∞ seconds
DROPPED PACKET
Network Models
Network Models
Network Models
Messages
0
10
5
Network Models
Hello World!
My name isn’t World! It’s Bob!
Messages
0
10
5
Network Models
Hello World!
My name isn’t World! It’s Bob!
Messages
0
10
5
Network Models
Hello World!
My name isn’t World! It’s Bob!
Messages
0
10
5
Network Models
Hello World!
My name isn’t World! It’s Bob!
Messages
0
10
5
Network Models
Hello World!
My name isn’t World! It’s Bob!
Messages
0
10
5
Network Models
Hello World!
My name isn’t World! It’s Bob!
Messages
0
10
5
Network Models
Hello World!
My name isn’t World! It’s Bob!
Messages
0
10
5
Network Models
Hello World!
My name isn’t World! It’s Bob!
Messages
0
10
5
Network Models
Hello World!
My name isn’t World! It’s Bob!
Messages
0
10
5
Network Models
Hello World!
My name isn’t World! It’s Bob!
Messages
0
10
5
Network Models
Hello World!
My name isn’t World! It’s Bob!
Messages
0
10
5
Network Models
Hello World!
My name isn’t World! It’s Bob!
Messages
0
10
5
Network Models
Hello World!
My name isn’t World! It’s Bob!
Messages
0
10
5
Network Models
Hello World!
My name isn’t World! It’s Bob!
Messages
0
10
5
Network Models
Hello World!
My name isn’t World! It’s Bob!
5 seconds!
Messages
0
10
5
Network Models
Hello World!
My name isn’t World! It’s Bob!
5 seconds!
Messages
0
10
5
Network Models
Hello World!
My name isn’t World! It’s Bob!
??? seconds
??? seconds
Messages
0
10
5
Network Models
Hello World!
My name isn’t World! It’s Bob!
??? seconds
Messages
0
10
5
Network Models
Hello World!
My name isn’t World! It’s Bob!
??? seconds
Messages
0
10
5
Network Models
Hello World!
My name isn’t World! It’s Bob!
Synchronous
<5
seconds
??? seconds
Messages
0
10
5
Network Models
Hello World!
My name isn’t World! It’s Bob!
Synchronous
seconds
<?
seconds
Partially Synchronous
<5
??? 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
<?
??? 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
Messages
0
10
5
Synchronous Network
Hello World!
My name isn’t World! It’s Bob!
Messages
0
10
5
Hello World!
My name isn’t World! It’s Bob!
Synchronous Network
Messages
0
10
5
Hello World!
My name isn’t World! It’s Bob!
Synchronous Network
Messages
0
10
5
Hello World!
My name isn’t World! It’s Bob!
3
Synchronous Network
Messages
0
10
5
Hello World!
My name isn’t World! It’s Bob!
4
Synchronous Network
Messages
0
10
5
Hello World!
My name isn’t World! It’s Bob!
1
Synchronous Network
Messages
0
10
5
Hello World!
My name isn’t World! It’s Bob!
??
Synchronous Network
Messages
0
10
5
Hello World!
My name isn’t World! It’s Bob!
Synchronous Network
Messages
0
10
5
Hello World!
My name isn’t World! It’s Bob!
Received!
Synchronous Network
Messages
0
10
5
Hello World!
My name isn’t World! It’s Bob!
Synchronous Network
Messages
0
10
5
Hello World!
My name isn’t World! It’s Bob!
Synchronous Network
Messages are received by all interested parties
Messages
0
10
5
Hello World!
My name isn’t World! It’s Bob!
Synchronous Network
Messages are received by all interested parties
Messages
0
10
5
Hello World!
My name isn’t World! It’s Bob!
Synchronous Network
Messages are received by all interested parties
Messages
0
10
5
My name isn’t World! It’s Bob!
Synchronous Network
Messages are received by all interested parties
Hello World!
Messages
0
10
5
My name isn’t World! It’s Bob!
Synchronous Network
Messages are received by all interested parties
Hello World!
Messages
0
10
5
My name isn’t World! It’s Bob!
Synchronous Network
Messages are received by all interested parties
Hello World!
Messages
0
10
5
My name isn’t World! It’s Bob!
Synchronous Network
Messages are received by all interested parties
Hello World!
Messages
0
10
5
My name isn’t World! It’s Bob!
Synchronous Network
Messages are received by all interested parties
Hello World!
Messages
0
10
5
My name isn’t World! It’s Bob!
Synchronous Network
Messages are received by all interested parties
Hello World!
Messages
0
10
5
My name isn’t World! It’s Bob!
Synchronous Network
Messages are received by all interested parties
Hello World!
Messages
0
10
5
My name isn’t World! It’s Bob!
Synchronous Network
Messages are received by all interested parties
Hello World!
Messages
0
10
5
My name isn’t World! It’s Bob!
Synchronous Network
Hello World!
Messages
0
10
5
My name isn’t World! It’s Bob!
Synchronous Network
Hello World!
Synchronous
seconds
seconds
seconds
Partially Synchronous
<5
<?
Asynchronous
Messages
0
10
5
My name isn’t World! It’s Bob!
Synchronous Network
Hello World!
Synchronous
seconds
seconds
seconds
Partially Synchronous
<5
<?
Asynchronous
Messages
0
10
5
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Messages
0
10
5
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Messages
0
???
???
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Messages
0
???
???
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Messages
0
???
???
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Messages
0
???
???
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Don’t fear!
Messages
0
???
???
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Messages
0
???
???
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Upper bound on message propagation
Messages
0
???
???
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Upper bound on message propagation
Δ=
Messages
0
???
???
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Δ=???
Messages
0
???
???
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Δ=5?
Messages
0
???
???
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Δ=10?
Messages
0
???
???
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Δ=9999999?
Messages
0
???
???
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Δ=???
Messages
0
???
???
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Δ=???
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Δ=???
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Δ=???
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Δ=???
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Δ=???
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Pretty realistic
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
We are guaranteed that eventually our messages will go through
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
We are guaranteed that eventually our messages will go through
Liveness
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Synchronous
Asynchronous
seconds
seconds
seconds
Partially Synchronous
<5
<?
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Partially Synchronous Network
Hello World!
Synchronous
Asynchronous
seconds
seconds
seconds
Partially Synchronous
<5
<?
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Asynchronous Network
Hello World!
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Asynchronous Network
Hello World!
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Asynchronous Network
Hello World!
Messages
0
2Δ
Δ
My name isn’t World! It’s Bob!
Asynchronous Network
Hello World!
Messages
0
2Δ
Δ
Asynchronous Network
Hello World!
Messages
0
2Δ
Δ
Asynchronous Network
Hello World!
Messages
0
2Δ
Δ
Asynchronous Network
Hello World!
Messages
0
2Δ
Δ
Asynchronous Network
Hello World!
Messages
0
2Δ
Δ
Asynchronous Network
Hello World!
Messages
0
2Δ
Δ
Asynchronous Network
Hello World!
Messages
0
2Δ
Δ
Asynchronous Network
Hello World!
Messages
0
2Δ
Δ
Asynchronous Network
Hello World!
Messages
0
2Δ
Δ
Asynchronous Network
Hello World!
Messages
0
2Δ
Δ
Asynchronous Network
Hello World!
Messages
0
2Δ
Δ
Asynchronous Network
Hello World!
Messages
0
2Δ
Δ
Asynchronous Network
Hello World!
Messages
0
2Δ
Δ
Asynchronous Network
Hello World!
Messages
0
2Δ
Δ
Asynchronous Network
Hello World!
Messages
0
2Δ
Δ
Asynchronous Network
Hello World!
Messages
0
2Δ
Δ
Asynchronous Network
Hello World!
Messages
0
2Δ
Δ
Asynchronous Network
Hello World!
Messages
0
2Δ
Δ
Asynchronous Network
Hello World!
Messages
0
2Δ
Δ
Asynchronous Network
Hello World!
MOST REALISTIC
Messages
0
2Δ
Δ
Asynchronous Network
Hello World!
MOST REALISTIC
Messages
0
2Δ
Δ
Asynchronous Network
Hello World!
MOST REALISTIC
In reality, messages may never arrive...
Messages
0
2Δ
Δ
Asynchronous Network
Hello World!
MOST REALISTIC
In reality, messages may never arrive...
Synchronous
Asynchronous
seconds
seconds
seconds
Partially Synchronous
<5
<?
Messages
0
2Δ
Δ
Asynchronous Network
Hello World!
MOST REALISTIC
Synchronous
Asynchronous
seconds
Partially Synchronous
In reality, messages may never arrive...
seconds
<?
seconds
<5
Messages
0
2Δ
Δ
Asynchronous Network
Hello World!
MOST REALISTIC
Synchronous
Asynchronous
Partially Synchronous
In reality, messages may never arrive...
seconds
<5
seconds
seconds
<?
Messages
0
2Δ
Δ
Asynchronous Network
Hello World!
MOST REALISTIC
Synchronous
Asynchronous
Partially Synchronous
In reality, messages may never arrive...
seconds
<5
seconds
seconds
<?
Messages
0
2Δ
Δ
Asynchronous Network
Hello World!
MOST REALISTIC
Synchronous
Asynchronous
Partially Synchronous
In reality, messages may never arrive...
seconds
<5
seconds
seconds
<?
Messages
0
2Δ
Δ
Asynchronous Network
Hello World!
MOST REALISTIC
Synchronous
Asynchronous
Partially Synchronous
In reality, messages may never arrive...
seconds
<5
seconds
seconds
<?
Next up...
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!
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!