ETH Zurich – Distributed Computing Group
Roger Wattenhofer
What Should We Learn From Nakamoto's Blockchain?
Not Me!
Blockchain: The Biggest Story in Distributed Systems Since …
… the Internet?!?
Cryptocurrencies
Blockchain
So What Is a Blockchain?
Distributed Systems & Cryptography(1982) (1976)
Blockchain
Blockchain
Transaction
4
1
5
Why the Hype?
Let’s Dig Deeper!
Persistence
NIL
Provable
NIL
Byzantine
Fault-Tolerance
Blockchain
Immutable Crash
Eventual
Strong
Speed
Blockchain
10 tx/s
10m tx/s
Throughput
Immediate
10k tx/s
10 nodes
100 nodes
Scalability
Blockchain
1000 nodes
Energy Consumption
Hashrate � Energy/Hash ≈ 1.3 GW13 � 109 GH/s 0.1 J/GH
Proof of Work
Market / Energy Value ≈ 19 GW$20k/BTC12.5 BTC $0.08/kWh
6/h
Economic Incentives
Upper Bound 19 GW
Reality? Well…
Lower Bound 1,3 GW
Maybe Around 5 GW
10 nodes
100 nodes
Scalability
Blockchain
Country
Server Room
Energy
1000 nodes
Village
What About Privacy?
It’s Complicated.
Operator
Open PoW
Privacy
World
The Seven Blockchain Dimensions
Persistence
Spee
d
Privacy
The Seven Blockchain Dimensions
Persistence
Spee
d
Privacy
Plenty of Research Dimensions
piChain
piChain: When a Blockchain Meets Paxos
= +
piChain: When a Blockchain Meets Paxos
= + +
Transaction
Block
depth
parent
mediumquick
slow
quick slowmedium
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 goalssimple e.g., no explicit leader election
silent no msg when no tx, no heartbeatscalable O(1) msgs per node per tx
piChain vs. Raft
Persistence
NIL
Provable
NIL
Byzantine
Fault-Tolerance
Blockchain
Immutable Crash
Eventual
Strong
Speed
Blockchain
10 tx/s
10m tx/s
Throughput
Immediate
10k tx/s
10 nodes
100 nodes
Scalability
Blockchain
Country
Server Room
Energy
1000 nodes
Village
Fundamental Problem Every Node Sees Every Transaction
Payment Networks
Payment Network
Hashed Timelocked Contract (HTLC)
HTLC Example ( sells to )
1. Generate randomsecret r
2. Send hash(r) to
3. “Send money if r is known
at time 4”
4. “Send money if r is known
at time 3”
5. “Send money if r is known
at time 2”
6. “Send money if r is known
at time 1”7. Use
secret rto 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
1can be spent
by blue with secret r orby green after 3 days
4. “Send 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 spentby blue with secret r orby green after 3 days
4. Send 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
SettlementFunding
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
[Bur
cher
t, De
cker
, W 2
017]
5
5
5
5
5
ΔT=100
ΔT=99
...
...
...
...
...
...
...
...
...
Multi Layer Networks
...
[Bur
cher
t, De
cker
, W 2
017]
5
5
5
5
5
...
...
...
...
...
...
...
...
...
Multi Layer Networks
...
5
5
5
5
5
SettlementTransaction
ΔT=100
ΔT=99
[Bur
cher
t, De
cker
, W 2
017]
5
5
5
5
5
...
...
...
...
...
...
...
...
...
Multi Layer Networks
...
5
5
5
5
5
SettlementTransaction Actual channels never reach the
blockchain!
ΔT=100
ΔT=99
[Bur
cher
t, De
cker
, W 2
017]
5
5
5
5
5
5
5
5
5
5
2 signatures per user
independent of channels
4 signatures per channel
Blockchain Transactions
old
new
Are We Finally Done?!?
Yes, unless you have Bitcoin Cash…
Persistence
NIL
Provable
NIL
Byzantine
Fault-Tolerance
Blockchain
Immutable Crash
Eventual
Strong
Speed
Blockchain
10 tx/s
10m tx/s
Throughput
Immediate
10k tx/s
10 nodes
100 nodes
Scalability
Blockchain
Country
Server Room
Energy
1000 nodes
Village
Summary
Thank You!Questions & Comments?
www.disco.ethz.ch
Thanks to my co-authorsConrad BurchertChristian Decker