ETH Zurich – Distributed Computing Group
Roger Wattenhofer
What Should We Learn From Nakamoto's Blockchain? Roger Wattenhofer - - PowerPoint PPT Presentation
What Should We Learn From Nakamoto's Blockchain? Roger Wattenhofer ETH Zurich Distributed Computing Group Not Me! Blockchain: The Biggest Story in Distributed Systems Since the Internet?!? Cryptocurrencies Blockchain So What
ETH Zurich – Distributed Computing Group
Roger Wattenhofer
Distributed Systems & Cryptography (1982) (1976)
4 1 5
Persistence NIL Provable NIL Byzantine Fault-Tolerance
Immutable Crash
Eventual Strong Speed
10 tx/s 10m tx/s Throughput Immediate 10k tx/s
10 nodes 100 nodes Scalability
1000 nodes
Hashrate
13 109 GH/s 0.1 J/GH
Market / Energy Value ≈ 19 GW $20k/BTC 12.5 BTC $0.08/kWh 6/h
10 nodes 100 nodes Scalability
Country Server Room Energy 1000 nodes Village
Operator Open PoW
World
Persistence Speed Privacy
Persistence Speed Privacy
Transaction
Block
depth parent
medium quick slow
quick slow medium time wait wait New Transaction: Reaction Time
quick medium slow seen : either deeper or by State Transitions
Self-Healing healthy
Self-Healing
committed
time ack Truncated Paxos *and next propose
Normal Paxos
A Typical Example
similar essentially same goals simple e.g., no explicit leader election silent no msg when no tx, no heartbeat scalable O(1) msgs per node per tx
Persistence NIL Provable NIL Byzantine Fault-Tolerance
Immutable Crash
Eventual Strong Speed
10 tx/s 10m tx/s Throughput Immediate 10k tx/s
10 nodes 100 nodes Scalability
Country Server Room Energy 1000 nodes Village
Payment Network
Hashed Timelocked Contract (HTLC)
HTLC Example ( sells to )
random secret r
hash(r) to
money if r is known at time 4”
money if r is known at time 3”
money if r is known at time 2”
money if r is known at time 1”
secret r to access good
Single Hop in Network
Duplex Micropayment Channels (Example for Smart Contract)
5 5
10
Duplex Micropayment Channel
5 5
10
T=100
5 5
Duplex Micropayment Channel
5 5
10
5 5
Blockchain
T=100
Duplex Micropayment Channel
5 5
10
5 5
Blockchain
T=100
Duplex Micropayment Channel
5 5
10
5 5
Blockchain
T=99
6
4
T=100
Duplex Micropayment Channel
[Decker,W,2015]
5 5
10
5 5
Blockchain
T=99
6
4
T=100
Duplex Micropayment Channel
Channel must be renewed often?
10
5 5
ΔT=99
6
4
ΔT=100
5 5
Blockchain
Duplex Micropayment Channel
Relative timelocks to keep channel alive forever! But only 99 transactions?
ΔT=20 ΔT=19 ΔT=20 ΔT=19 ΔT=20 ΔT=19 ΔT=20 ΔT=19 ΔT=19 ΔT=20 ΔT=20 ΔT=19 ΔT=20 ΔT=19
Duplex Micropayment Channel
[Decker,W,2015]
5 5
10
5 5
Blockchain
T=99
4 5
T=100
HTLC Revisited
1
can be spent by blue with secret r or by green after 3 days
money if r is known at time 3”
5 5
10
5 5
Blockchain
T=99
4 5
T=100
HTLC Revisited
1 4 6
T=98
can be spent by blue with secret r or by green after 3 days
money if r is known at time 3
Solved?
Still Too Many Channels!?
… needs two transactions on blockchain … has locked-in funds by both parties
Each and Every Channel
… needs two transactions on blockchain 200-800M channels only … has locked-in funds by both parties all my bitcoins are locked-in… sad.
Each and Every Channel
Blockchain Space
so far 4 signatures for every channel
Blockchain Space ~ Number of Signatures
Settlement Funding
Locked Funds
? ?
A node wants to make connections… Where does it lock the funds?
? ?
5 5 5 5
T=99
6
4
T=100
5 5 5
T=100 T=99
... ... ... ... ... ... ... ... ... Channel funding layer Payment network layer
Multi Layer Networks
[Burchert, Decker, W 2017]
5 5 5 5 5
ΔT=100 ΔT=99
... ... ... ... ... ... ... ... ...
Multi Layer Networks
...
[Burchert, Decker, W 2017]
5 5 5 5 5
... ... ... ... ... ... ... ... ...
Multi Layer Networks
...
5 5 5 5 5
Settlement Transaction
ΔT=100 ΔT=99 [Burchert, Decker, W 2017]
5 5 5 5 5
... ... ... ... ... ... ... ... ...
Multi Layer Networks
...
5 5 5 5 5
Settlement Transaction Actual channels never reach the blockchain!
ΔT=100 ΔT=99 [Burchert, Decker, W 2017]
5 5 5 5 5 5 5 5 5 5
2 signatures per user independent of channels 4 signatures per channel
Blockchain Transactions
new
Are We Finally Done?!?
Yes, unless you have Bitcoin Cash…
Persistence NIL Provable NIL Byzantine Fault-Tolerance
Immutable Crash
Eventual Strong Speed
10 tx/s 10m tx/s Throughput Immediate 10k tx/s
10 nodes 100 nodes Scalability
Country Server Room Energy 1000 nodes Village
Summary
Questions & Comments?
www.disco.ethz.ch
Thanks to my co-authors Conrad Burchert Christian Decker