What Should We Learn From Nakamoto's Blockchain? Roger Wattenhofer - - PowerPoint PPT Presentation

what should we learn from nakamoto s blockchain
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

ETH Zurich – Distributed Computing Group

Roger Wattenhofer

What Should We Learn From Nakamoto's Blockchain?

slide-2
SLIDE 2

Not Me!

slide-3
SLIDE 3

Blockchain: The Biggest Story in Distributed Systems Since …

slide-4
SLIDE 4

… the Internet?!?

slide-5
SLIDE 5

Cryptocurrencies

slide-6
SLIDE 6
slide-7
SLIDE 7
slide-8
SLIDE 8

Blockchain

slide-9
SLIDE 9
slide-10
SLIDE 10
slide-11
SLIDE 11

So What Is a Blockchain?

slide-12
SLIDE 12
slide-13
SLIDE 13

Distributed Systems & Cryptography (1982) (1976)

Blockchain

slide-14
SLIDE 14

Blockchain

slide-15
SLIDE 15

Transaction

4 1 5

slide-16
SLIDE 16

Why the Hype?

slide-17
SLIDE 17

Let’s Dig Deeper!

slide-18
SLIDE 18

Persistence NIL Provable NIL Byzantine Fault-Tolerance

Blockchain

Immutable Crash

slide-19
SLIDE 19

Eventual Strong Speed

Blockchain

10 tx/s 10m tx/s Throughput Immediate 10k tx/s

slide-20
SLIDE 20

10 nodes 100 nodes Scalability

Blockchain

1000 nodes

slide-21
SLIDE 21

Energy Consumption

slide-22
SLIDE 22

Hashrate

  • Energy/Hash ≈ 1.3 GW

13 109 GH/s 0.1 J/GH

Proof of Work

slide-23
SLIDE 23

Market / Energy Value ≈ 19 GW $20k/BTC 12.5 BTC $0.08/kWh 6/h

Economic Incentives

slide-24
SLIDE 24

Upper Bound 19 GW Reality? Well… Lower Bound 1,3 GW

slide-25
SLIDE 25

Maybe Around 5 GW

slide-26
SLIDE 26

10 nodes 100 nodes Scalability

Blockchain

Country Server Room Energy 1000 nodes Village

slide-27
SLIDE 27

What About Privacy?

slide-28
SLIDE 28

It’s Complicated.

slide-29
SLIDE 29

Operator Open PoW

Privacy

World

slide-30
SLIDE 30
slide-31
SLIDE 31

The Seven Blockchain Dimensions

Persistence Speed Privacy

slide-32
SLIDE 32

The Seven Blockchain Dimensions

Persistence Speed Privacy

slide-33
SLIDE 33

Plenty of Research Dimensions

slide-34
SLIDE 34

piChain

slide-35
SLIDE 35

piChain: When a Blockchain Meets Paxos

= +

slide-36
SLIDE 36

piChain: When a Blockchain Meets Paxos

= + +

slide-37
SLIDE 37

Transaction

slide-38
SLIDE 38

Block

slide-39
SLIDE 39

depth parent

slide-40
SLIDE 40

medium quick slow

slide-41
SLIDE 41

quick slow medium time wait wait New Transaction: Reaction Time

slide-42
SLIDE 42

quick medium slow seen : either deeper or by State Transitions

slide-43
SLIDE 43

Self-Healing healthy

slide-44
SLIDE 44

Self-Healing

slide-45
SLIDE 45

committed

slide-46
SLIDE 46

time ack Truncated Paxos *and next propose

slide-47
SLIDE 47

Normal Paxos

slide-48
SLIDE 48

A Typical Example

slide-49
SLIDE 49

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

piChain vs. Raft

slide-50
SLIDE 50

Persistence NIL Provable NIL Byzantine Fault-Tolerance

Blockchain

Immutable Crash

slide-51
SLIDE 51

Eventual Strong Speed

Blockchain

10 tx/s 10m tx/s Throughput Immediate 10k tx/s

slide-52
SLIDE 52

10 nodes 100 nodes Scalability

Blockchain

Country Server Room Energy 1000 nodes Village

slide-53
SLIDE 53

Fundamental Problem Every Node Sees Every Transaction

slide-54
SLIDE 54

Payment Networks

slide-55
SLIDE 55

Payment Network

slide-56
SLIDE 56

Hashed Timelocked Contract (HTLC)

slide-57
SLIDE 57

HTLC Example ( sells to )

  • 1. Generate

random secret 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 r to access good

slide-58
SLIDE 58

Single Hop in Network

slide-59
SLIDE 59

Duplex Micropayment Channels (Example for Smart Contract)

slide-60
SLIDE 60

5 5

10

Duplex Micropayment Channel

slide-61
SLIDE 61

5 5

10

T=100

5 5

Duplex Micropayment Channel

slide-62
SLIDE 62

5 5

10

5 5

Blockchain

T=100

Duplex Micropayment Channel

slide-63
SLIDE 63

5 5

10

5 5

Blockchain

T=100

Duplex Micropayment Channel

slide-64
SLIDE 64

5 5

10

5 5

Blockchain

T=99

6

4

T=100

Duplex Micropayment Channel

[Decker,W,2015]

slide-65
SLIDE 65

5 5

10

5 5

Blockchain

T=99

6

4

T=100

Duplex Micropayment Channel

Channel must be renewed often?

slide-66
SLIDE 66

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?

slide-67
SLIDE 67

Δ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]

slide-68
SLIDE 68

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

  • 4. “Send

money if r is known at time 3”

slide-69
SLIDE 69

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

  • 4. Send

money if r is known at time 3

slide-70
SLIDE 70

Solved?

slide-71
SLIDE 71

Still Too Many Channels!?

slide-72
SLIDE 72

… needs two transactions on blockchain … has locked-in funds by both parties

Each and Every Channel

slide-73
SLIDE 73

… 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

slide-74
SLIDE 74

Blockchain Space

so far 4 signatures for every channel

Blockchain Space ~ Number of Signatures

Settlement Funding

slide-75
SLIDE 75

Locked Funds

? ?

A node wants to make connections… Where does it lock the funds?

? ?

slide-76
SLIDE 76

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]

slide-77
SLIDE 77

5 5 5 5 5

ΔT=100 ΔT=99

... ... ... ... ... ... ... ... ...

Multi Layer Networks

...

[Burchert, Decker, W 2017]

slide-78
SLIDE 78

5 5 5 5 5

... ... ... ... ... ... ... ... ...

Multi Layer Networks

...

5 5 5 5 5

Settlement Transaction

ΔT=100 ΔT=99 [Burchert, Decker, W 2017]

slide-79
SLIDE 79

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]

slide-80
SLIDE 80

5 5 5 5 5 5 5 5 5 5

2 signatures per user independent of channels 4 signatures per channel

Blockchain Transactions

  • ld

new

slide-81
SLIDE 81

Are We Finally Done?!?

slide-82
SLIDE 82

Yes, unless you have Bitcoin Cash…

slide-83
SLIDE 83

Persistence NIL Provable NIL Byzantine Fault-Tolerance

Blockchain

Immutable Crash

slide-84
SLIDE 84

Eventual Strong Speed

Blockchain

10 tx/s 10m tx/s Throughput Immediate 10k tx/s

slide-85
SLIDE 85

10 nodes 100 nodes Scalability

Blockchain

Country Server Room Energy 1000 nodes Village

slide-86
SLIDE 86

Summary

slide-87
SLIDE 87

Thank You!

Questions & Comments?

www.disco.ethz.ch

Thanks to my co-authors Conrad Burchert Christian Decker