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 Is a Blockchain?
Blockchain Distributed Systems & Cryptography (1982) (1976)
Blockchain
Transaction 4 5 1
Why the Hype?
Let’s Dig Deeper!
Blockchain Persistence Fault-Tolerance NIL NIL Immutable Crash Provable Byzantine
Blockchain Speed Throughput Eventual 10 tx/s Strong 10k tx/s Immediate 10m tx/s
Blockchain Scalability 10 nodes 100 nodes 1000 nodes
Energy Consumption
Proof of Work � Energy/Hash ≈ 1.3 GW Hashrate 13 � 10 9 GH/s 0.1 J/GH
Economic Incentives Market / Energy Value ≈ 19 GW $20k/BTC 12.5 BTC $0.08/kWh 6/h
Upper Bound 19 GW Reality? Well… Lower Bound 1,3 GW
Maybe Around 5 GW
Blockchain Scalability Energy 10 nodes Country 100 nodes Village 1000 nodes Server Room
What About Privacy?
It’s Complicated.
Privacy Operator World Open PoW
The Seven Blockchain Dimensions Speed Persistence Privacy
The Seven Blockchain Dimensions Speed Persistence Privacy
Plenty of Research Dimensions
piChain
piChain: When a Blockchain Meets Paxos = +
piChain: When a Blockchain Meets Paxos = + +
Transaction
Block
parent depth
slow medium quick
New Transaction: Reaction Time wait wait quick medium slow time
State Transitions quick medium slow seen : either deeper or by
Self-Healing healthy
Self-Healing
committed
Truncated Paxos ack time *and next propose
Normal Paxos
A Typical Example
piChain vs. Raft 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
Blockchain Persistence Fault-Tolerance NIL NIL Immutable Crash Provable Byzantine
Blockchain Speed Throughput Eventual 10 tx/s Strong 10k tx/s Immediate 10m tx/s
Blockchain Scalability Energy 10 nodes Country 100 nodes Village 1000 nodes Server Room
Fundamental Problem Every Node Sees Every Transaction
Payment Networks
Payment Network
Hashed Timelocked Contract (HTLC)
HTLC Example ( sells to ) 3. “Send 6. “Send money if r money if r is known at time 4” is known at time 1” 7. Use 1. Generate secret r random to access 4. “Send secret r good 5. “Send money if r money if r is known 2. Send is known at time 3” hash( r ) to at time 2”
Single Hop in Network
Duplex Micropayment Channels (Example for Smart Contract)
Duplex Micropayment Channel 5 10 5
Duplex Micropayment Channel 5 T=100 5 5 10 5
Duplex Micropayment Channel Blockchain 5 T=100 5 5 10 5
Duplex Micropayment Channel Blockchain 5 T=100 5 5 10 5
Duplex Micropayment Channel Blockchain 5 T=100 5 5 10 5 6 T=99 4 [Decker,W,2015]
Duplex Micropayment Channel Blockchain 5 T=100 5 5 10 5 6 T=99 4 Channel must be renewed often?
Duplex Micropayment Channel Blockchain 5 Δ T=100 5 5 10 5 6 Δ T=99 4 Relative timelocks to keep channel alive forever! But only 99 transactions?
Duplex Micropayment Channel Δ T=20 ΔT =20 ΔT =20 Δ T=19 Δ T=20 ΔT =19 Δ T=19 Δ T=20 ΔT =19 ΔT =20 Δ T=19 Δ T=20 ΔT =19 Δ T=19 [Decker,W,2015]
HTLC Revisited 5 Blockchain T=100 5 5 4 T=99 10 5 can be spent 5 by blue with secret r or 1 by green after 3 days 4. “Send money if r is known at time 3”
HTLC Revisited 5 Blockchain T=100 5 5 4 T=99 10 5 can be spent 5 by blue with secret r or 1 by green after 3 days 4 T=98 4. Send 6 money if r is known at time 3
Solved?
Still Too Many Channels!?
Each and Every Channel … 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.
Blockchain Space Blockchain Space ~ Number of Signatures so far 4 signatures for every channel Funding Settlement
Locked Funds ? ? ? ? A node wants to make connections… Where does it lock the funds?
Multi Layer Networks 5 T=100 5 T=100 ... 6 T=99 ... 4 5 ... 5 ... 5 [Burchert, Decker, W 2017] ... T=99 5 ... 5 ... ... ... Channel funding layer Payment network layer
Multi Layer Networks ... Δ T =100 ... ... 5 ... 5 ... 5 ... Δ T =99 5 [Burchert, Decker, W 2017] ... 5 ... ... ...
Multi Layer Networks ... Δ T =100 ... ... 5 ... 5 ... 5 ... Δ T =99 5 [Burchert, Decker, W 2017] ... 5 ... 5 ... 5 ... Settlement 5 Transaction 5 5
Multi Layer Networks ... Δ T =100 ... ... 5 ... 5 ... 5 ... Δ T =99 5 [Burchert, Decker, W 2017] ... 5 ... 5 ... 5 ... Settlement 5 Transaction Actual channels never reach the 5 blockchain! 5
Blockchain Transactions 4 signatures per old channel 5 5 2 signatures per user 5 5 new 5 5 independent of 5 5 channels 5 5
Are We Finally Done?!?
Yes, unless you have Bitcoin Cash…
Blockchain Persistence Fault-Tolerance NIL NIL Immutable Crash Provable Byzantine
Blockchain Speed Throughput Eventual 10 tx/s Strong 10k tx/s Immediate 10m tx/s
Blockchain Scalability Energy 10 nodes Country 100 nodes Village 1000 nodes Server Room
Summary
Thank You! Questions & Comments? Thanks to my co-authors Conrad Burchert Christian Decker www.disco.ethz.ch
Recommend
More recommend