177
ETH Zurich – Distributed Computing Group Roger Wattenhofer Blockchains Overview & Applications

Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

ETH Zurich – Distributed Computing Group

Roger Wattenhofer

BlockchainsOverview & Applications

Page 2: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks
Page 3: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

2008

Page 4: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Blockchain

Page 5: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks
Page 6: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Blockchain Basics

Page 7: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Transaction

Page 8: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Transaction

Page 9: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Transaction

Page 10: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Transaction

Page 11: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Block

Page 12: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Blockchain

Page 13: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Blockchain is Replicated

Page 14: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Distributed Systems & Cryptography

(1982) (1976)

Blockchain

Page 15: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Distributed Systems & Cryptography

Fault-Tolerance & Digital Signatures

Blockchain

Page 16: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Rule of Thumb

Blockchains* may disrupt your business if you use signatures.

*or blockchain-like tech

Page 17: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Blockchain Variants

Page 18: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks
Page 19: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Permissionless / Open

Page 20: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Permissioned / Closed

Page 21: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Multiple Participants?

Writers Known?

No Blockchain(use Database)

PermissionlessBlockchain

Permissioned Blockchain

yes

yes

no

no

Page 22: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

The Seven Blockchain Dimensions

Persistence

Privacy

Energy

Page 23: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Persistence

Database

Provable

Correct

Byzantine

Fault-Tolerance

Blockchain

Immutable Crash

Page 24: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

1 hour

1 minute

Speed

Blockchain

10 tx/s

10m tx/s

Throughput

1 second

10k tx/s

Page 25: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

10 nodes

100 nodes

Scalability

Blockchain

1000 nodes

Page 26: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Energy Consumption

Page 27: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks
Page 28: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Market / Energy Value ≈ 12 GW$1M/h $0.08/kWh

Economic Incentives

Page 29: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Hashrate ∙ Energy/Hash ≈ 1.3 GW13 ∙ 109 GH/s 0.1 J/GH

Proof of Work

Page 30: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

The Seven Blockchain Dimensions

Persistence

Privacy

Energy

Page 31: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

What About Privacy?

Page 32: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

It’s Complicated.

Page 33: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Anonymity/Public Identity/Private

Privacy

Page 34: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Applications

Page 35: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

eMoney

Page 36: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Bitcoin

Anonymity

Open/Anarchic

Blockchain

Eventual Consistency

Proof-of-Work

eMoney

Accountability

Closed/Private

Paxos, PBFT, …

Strong Consistency

Central Banks

Page 37: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Permissioned Blockchain

&

Payment Network

Page 38: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Permissioned Blockchain

Page 39: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Payment Network

Page 40: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

eVoting

Page 41: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

What’s Wrong with Paper?

Page 42: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Cost

Page 43: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Verifiability

Page 44: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Identity Swapper

Identity Mixer

Anonymity

Page 45: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Election Help

Page 46: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Democracy Beyond Yes or No

2025

Wie viel sollen die SRG-Gebühren pro Jahr kosten? 42.-

Page 47: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Don’t bring a Blockchainto a Gunfight

Page 48: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Thank You!Questions & Comments?

www.disco.ethz.ch

Page 49: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

ETH Zurich – Distributed Computing – www.disco.ethz.ch

Roger Wattenhofer

TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA

Scaling BitcoinMicropayment Channel Networks

Page 50: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks
Page 51: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Can Bitcoin be a Real Currency?

Page 52: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Transaction

Transaction

Transaction

Transaction

...

Transaction

Transaction

Transaction

Transaction

...

Transaction

Transaction

Transaction

Transaction

...

10 min 10 min

1 MB

The Blockchain

Page 53: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Avg Tx Fee in Dec 2017: > $50!

Page 54: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Just Change Parameters?

Page 55: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

0 10 20 30 40 50 60Time since first observation [s]

0.00

0.02

0.04

0.06

0.08

0.10

0.12

PD

F

Block propagation

50th percentile

95th percentile

[Dec

ker,W

,201

3]

Propagation Speed

Page 56: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

TX

TX

Block

Block

Blockchain Forks

Page 57: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Small network diameter

Just verify block headers before passing on

Reuse transactions already known

Increasing Propagation Speed?

Page 58: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Does it Help?

Page 59: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Still less than (roughly) 100 tx/s

Visa: 56 000 tx/s

Micropayments?

Not Really

Page 60: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Fundamental Scalability Problem:Every Node Sees Every Single Transaction

Page 61: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Payment Networks

Page 62: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Payment Network

Page 63: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Hashed Timelocked Contract (HTLC)

Page 64: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

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

Page 65: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Single Hop in Network

Page 66: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Duplex Micropayment Channels(Example for Smart Contract)

Page 67: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

5

5

10

Duplex Micropayment Channel

Page 68: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

5

5

10

T=100

5

5

Duplex Micropayment Channel

Page 69: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

5

5

10

5

5

Blockchain

T=100

Duplex Micropayment Channel

Page 70: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

5

5

10

5

5

Blockchain

T=100

Duplex Micropayment Channel

Page 71: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

5

5

10

5

5

Blockchain

T=99

6

4

T=100

Duplex Micropayment Channel

[Decker,W,2015]

Page 72: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

5

5

10

5

5

Blockchain

T=99

6

4

T=100

Duplex Micropayment Channel

Channel must be renewed often?

Page 73: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

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?

Page 74: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

T=99 T=100 T=100

T=99 T=100

T=99

ΔT=19

ΔT=20

ΔT=19

ΔT=20

ΔT=20

ΔT=19

ΔT=20

ΔT=19

ΔT=20

ΔT=19

ΔT=20

ΔT=19

ΔT=20

ΔT=19

Duplex Micropayment Channel

[Decker,W,2015]

Page 75: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

T=99 T=100 T=100

T=99 T=100

T=99

ΔT=19

ΔT=20

ΔT=19

ΔT=20

ΔT=20

ΔT=19

ΔT=20

ΔT=19

ΔT=20

ΔT=19

ΔT=20

ΔT=19

ΔT=20

ΔT=19

Duplex Micropayment Channel

Settlement Transaction

Page 76: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

5

5

10

5

5

Blockchain

T=99

4

5

T=100

HTLC Revisited

1can be spentby blue with secret r orby green after 3 days

4. Send money if r is known at time 3

Page 77: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

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

Page 78: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Lightning Network

Page 79: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

5 to green after 500 blocks or5 to blue instantly with secret s

g

5

5

5 to blue after 500 blocks or5 to green instantly with secret s

b

Owned by

Owned by

Lightning Network Channel

[Poon,Dryja,2015+]

Page 80: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

5 to green after 500 blocks or5 to blue instantly with secret s

g

5

5

5 to blue after 500 blocks or5 to green instantly with secret s

b

Owned by

Owned by

Lightning Network Channel

4 to green after 500 blocks or4 to blue instantly with secret s

g’

6

4

6 to blue after 500 blocks or6 to green instantly with secret s

b’

Owned by

Owned by[Poon,Dryja,2015+]

Page 81: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

5 to green after 500 blocks or5 to blue instantly with secret s

g

5

5

5 to blue after 500 blocks or5 to green instantly with secret s

b

Owned by

Owned by

Lightning Network Channel

4 to green after 500 blocks or4 to blue instantly with secret s

g’

6

4

6 to blue after 500 blocks or6 to green instantly with secret s

b’

Owned by

Owned by[Poon,Dryja,2015+]

Page 82: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

5

5

5

5

Owned by

Owned by

Lightning Network Channel

4 to green after 500 blocks or4 to blue instantly with secret s

g’

6

4

6 to blue after 500 blocks or6 to green instantly with secret s

b’

Owned by

Owned by[Poon,Dryja,2015+]

Page 83: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Solved?

Page 84: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Still Too Many Channels!?

Page 85: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

… needs two transactions on blockchain

… has locked-in funds by both parties

Each and Every Channel

Page 86: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

… needs two transactions on blockchain

200-800M channels only

… has locked-in funds

all my bitcoins are locked-in… sad.

Each and Every Channel

Page 87: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Blockchain Space

so far 4 signatures for every channel

Blockchain space ≅ number of signatures

SettlementFunding

Page 88: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Locked Funds

?

?

A node wants to make connections…

Where does it lock the funds?

?

?

Page 89: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

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

[Bu

rch

ert,

W, 2

017]

Page 90: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

5

5

5

5

5

ΔT=100

ΔT=99

...

...

...

...

...

...

...

...

...

Multi Layer Networks

[Bu

rch

ert,

W, 2

017]

...

Page 91: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

5

5

5

5

5

...

...

...

...

...

...

...

...

...

Multi Layer Networks

[Bu

rch

ert,

W, 2

017]

...

5

5

5

5

5

SettlementTransaction

ΔT=100

ΔT=99

Page 92: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

5

5

5

5

5

...

...

...

...

...

...

...

...

...

Multi Layer Networks

[Bu

rch

ert,

W, 2

017]

...

5

5

5

5

5

SettlementTransaction Actual channels never reach the

blockchain!

ΔT=100

ΔT=99

Page 93: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

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

Page 94: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

What Else is Needed?

Page 95: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Spending from Unsigned Transactions

5

5

10

5

5

Blockchain

T=100

Reference by Transaction ID: Hash of previous transaction…

...includes signatures!

Page 96: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Spending from Unsigned Transactions

5

5

10

5

5

Blockchain

T=100

Reference by Transaction ID: Hash of previous transaction…

...includes signatures!

We need to move the signatures out of the transaction ID!

Page 97: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Are We Finally Done?!?

Page 98: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

“Addressing Transaction Malleability: MtGox has detected unusual activityon its Bitcoin wallets and performed investigations during the pastweeks. This confirmed the presence of transactions which need to be examinedmore closely

Page 99: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

The MtGox Incident

• July 2010: First trade on MtGox• 2011: Transaction malleability identified as low priority issue• February 7, 2014: MtGox halts withdrawals• February 10, 2014: MtGox cites transaction malleability as root cause• February 28, 2014: MtGox files for bankruptcy

MtGox claims that 850,000 bitcoins (620 million USD) were lost due totransaction malleability.

Page 100: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Signatures

There are multiple ways to serialize a signature:• Multiple push operations (1 byte, 2 byte, 4 byte)• Non-canonical DER encodings• Padding• . . .

0000 61afbb4de9f8b874861e

Page 101: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Transaction Malleability Attack

TX

TX

TX

TX

TX

Refund

TX

TX

Page 102: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Transaction Malleability Attack

TX

TX

TX

TX

TX

Red!

Refund

Page 103: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Transaction Malleability Attack

TX

TX

TX

TX

TX

TX?

Refund

Refund

Page 104: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Feb 10 2014

Feb 07 2014

Incident Timeline

Feb 01 20140

50000

100000

150000

200000

250000

300000

350000

bitc

oins

0

5000

10000

15000

20000

25000

30000

transactions

Cumulative malleable doublespends

valuenumber

[Decker,W,2014]

Feb 04 2014

Feb 13 2014

Feb 16 2014

Feb 19 2014

Feb 22 2014

Feb 25 2014

Feb 28 2014

386 BTC

1st P

ress

Rel

ease

2nd P

ress

Rel

ease

Page 105: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Malleability

5

5

10

5

5

T=100

Page 106: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Malleability

5

5

10

5

5

T=100

10

Green puts another signature on the transaction…...new transaction ID!

Page 107: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Malleability

5

5

10

5

5

Blockchain

T=100

10

Green puts another signature on the transaction…...new transaction ID!

Page 108: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

How is this fixed?

Page 109: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Segregated Witness

Introduce a new type of transaction

Signatures are separated from the rest

Softfork compatible

Became active as BIP 141 in August 2017

Page 110: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Summary

Page 111: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Thank you!

Questions?

ETH Zurich – Distributed Computing Group – www.disco.ethz.ch

Thanks toChristian DeckerConrad Burchert

Page 112: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Softforks vs Hardforks

Softfork

● Old miners accept blocks of the new miners● New miners reject some blocks

-> If new miners are majority, everyone mines on the same chain

Hardfork

● New miners reject old blocks● Old miners reject new blocks

-> Two blockchains exist

Page 113: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

SoftforksOld miners accept blocks of the new miners

Old miners are majority

old old

new

old

new

Everyone switches here

New miners are majority

old old

new newnew

Everyone switches here

Page 114: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

ETH Zurich – Distributed Computing Group

Roger Wattenhofer

Economy and Other Problems

(Thanks to Maurice Herlihy for some colorful slides)

Page 115: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks
Page 116: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

3

Classical Adversary

timing

crashes

omission

Byzantine

Hello World!

Now solve

consensus

Page 117: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

4Modern Adversary

meltdown

spectre

re-entrancy

zero-day

Здравствуйте!

Now hold

an election

Page 118: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

The Market

• Cryptocurrencies are a new asset class, worth >$100B– Hundreds of currencies

• $1.4B invested in startups, as of Jan 2017

• Billions of value in ICOs

• Black Hats Meet White Hats – Dark net market operators & Bank of England at the same conferences

• Social movement– Hodlgang!

Page 119: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Hype … and Criticism

“First practical solution to a longstanding problem in computer science, Byzantine Generals.”

“Satoshi solved a problem that academic computer scientists thought was impossible”

“Bitcoin is digital gold, it will put us back onto a sound monetary policy”

“Bitcoin will end wars”

“A non-deliberate Ponzi scheme”

“It’s yet another eventually consistent database”

“Flawed technology, inherently limited in scale and performance”

“Unlikely to impact the finance sector”

Page 120: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

What is Money?

Page 121: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

BTC in USD

Page 122: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks
Page 123: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks
Page 124: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks
Page 125: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks
Page 126: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks
Page 127: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks
Page 128: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Fungibility

=?

Page 129: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Inflation

Page 130: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

17

Magic Numbers

Inter-block time &

difficulty adjustment

window

Limits on block &

transaction size

(fighting words)

Monetary Policy:

deflationary,

hoarding not

spending

Dogecoin:

harmonically-

diminishing inflation

Freicoin: constant

inflation

Page 131: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

What is Money?

Page 132: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

What is Money?

Page 133: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

20

Smart Contracts

Page 134: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

21

Page 135: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

22

Standard for tradeable tokens

Widely used for ICOs

Market cap about $40 Billion

Page 136: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

23

I am willing to

allow this party …

… to withdraw

this amount …

… from my

account.

Page 137: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Alice

Bob

Alice authorizes

Bobto

withdraw$100

miner

Page 138: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Alice

Bob

Alice authorizes

Bobto

withdraw$100

miner

I am Bob’s

secret friend

Page 139: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Alice

Bob

Alice authorizes

Bobto

withdraw$100

Miner, please change Bob’s

authorization to $50

!!!

miner

!!!

Page 140: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Alice

Bob

Alice authorizes

Bobto

withdraw$100

miner

Miner, please change Bob’s

authorization to $50

Page 141: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Alice

Bob

Alice authorizes

Bobto

withdraw$100

Bobwithdraws

$100

miner

Miner, please change Bob’s

authorization to $50

Page 142: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Alice

Bob

Alice authorizes

Bobto

withdraw$100

Heh-heh…

Bobwithdraws

$100

miner

Heh-heh…

Miner, please change Bob’s

authorization to $50

Page 143: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Alice

Bob

Alice authorizes

Bobto

withdraw$100

Bobwithdraws

$100

Alice authorizes

Bobto

withdraw$50

Got $100

miner

Miner, please change Bob’s

authorization to $50

Page 144: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Alice

Bob

Alice authorizes

Bobto

withdraw$100

Bobwithdraws

$100

Alice authorizes

Bobto

withdraw$50

Got $150

Bobwithdraws

$50

Miner, please change Bob’s

authorization to $50

miner

Heh-heh…

Page 145: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

miner

relaydeveloper

user

hodler

Page 146: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

35

What makes a transaction valid?

When miners say so.

Canonicalism: all and only what

Satoshi revealed.

Fails to explain upgrades …

… and bug fixes.

Page 147: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

36

De facto governance by …

“Core Bitcoin Devs”

Commit access to bitcoind

Supported by the Bitcoin

Foundation

Controversy wrt block sizes, etc.

Page 148: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

37

Example: Corporate governance

“Genesis” block

Board of directors = Alice, Bob, and Carol

majority vote of the board needed for

all governance decisions

Page 149: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

38

Example: Corporate governance

January

Carol resigns from board

Alice & Bob vote to replace her with Dave

Page 150: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

39

Example: Corporate governance

February

Alice & Dave delegate to Ellen

authority over stock options

Ellen issues $10000 stock options to Fred

Page 151: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

40

Example: Corporate governance

How to prove that Fred owns those options?

Notice that rules modify themselves …

Were the rule changes legitimate?

Were rules in effect at the time followed?

Page 152: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

41LICS 2016

Logics of Incentives

Page 153: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

42

Client behavior?

Altruistic: follows protocol

Rational: responds to incentives

Byzantine: vandalizes everything

Page 154: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

43

Small Game Fallacy

The dangerous illusion that clients’ objective

functions known to system designers

Page 155: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

44

Example: Selfish Mining

Bitcoin miners that withhold newly-mined blocks …

Sometimes earn disproportionate profits

Reduce own earnings, but …

Reduce others more!

Mining cartel might bully others into joining

Page 156: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

45

Small-Game Fallacy:

Page 157: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

46

Game Theory

Nakamoto claims: Bitcoin is stable as

long as miners follow own self-interest.

Is compliance a Nash equilibrium?

If so, do other equilibria

exist?

Can non-compliant strategies

dominate compliance?

Page 158: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

48

Majority miner?

All is

lost!

If one dishonest miner controls > 50% then …

Can roll back other transactions …

Censor transactions you don’t like

Not a good idea, if invested in Bitcoin

stability, reputation

Page 159: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

50

What if miners collude?

Miners could form cartel …

… to simulate evil majority

miner?

Stable? Would members defect?

Real issue: mining pools are a thing

Page 160: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

51

Stability when rewards decline?

Models assume constant coinbase

reward

Effects of declining rewards? No rewards?

Model real-world vs BTC profits?

Liquidity & exchange rates?

Sunk costs

(ASICS)?

Page 161: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

52

Goldfinger Attacks

Intent to bring down Bitcoin, not profit

Hostile state actor?

“alt-coin infanticide” actually

happens

Protest?

Short position?

Page 162: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

53

Feather-Forking

Blackmail the chain

“We refuse to mine on any chain that includes

Alice’s transaction in last k blocks”

If threat credible, rational miners

incentivized to blacklist Alice too

Page 163: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

54

Mining pools

Pools can infiltrate other pools

Submit partial shares, withold complete blocks

2 pools: “Iterated prisoner’s dilemma”

Multiple Pools: tragedy of

the commons

Page 164: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

55

Peer-to-Peer stability

Nodes have incentive not to send

transactions to other nodes

Proposes reward scheme to fix incentive

Long-term stability of

Bitcoin network layer

uncertain

Page 165: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

56

Alternative

Computatonal

Puzzles

Once, BTC mining

was done on

laptops

Now, mostly done

with ASICs

Mining now requires

capitalization,

Deep pockets

Alternative:

“memory hard”

puzzles

Page 166: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

57

Hard to compute

Easy to check

Memory-intensive

ASIC-resistant

Alternative

Computatonal

Puzzles

Page 167: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

58

Alternative

Computatonal

Puzzles

Not-outsourcable

puzzles …… to thwart mining

pool formation

Useful work puzzles …Protein-folding,

SETI, prime number

sequences, etc.

Page 168: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

59

Proof of Stake

Random sample of

miners weighted by

current allocation of

wealth

Harder to acquire

51% wealth than

51% hashpower?

No trees were

harmed in mining

this block

Page 169: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

60

Proof of Stake

Proof of Coin-Age:

post transaction to

self, weighted by

time

Post bond for good

behavior

Ethereum will switch

to proof-of-stake

sometime soon (?)

Page 170: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

61

Designated

Authority

Algorand: random beacon,

deterministic but unpredictable

Participants can prove they are

chosen

Unlikely too many dishonest chosen

Page 171: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

62

Multiple inputs to a transaction

usually reveal common ownership

Once cluster identified,

interact to learn identity

Heuristics for identifying “change”

addresses

P2P network leaks

Deanonymization

SPV nodes leak addresses of interest

Page 172: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

63

Holders create series of transactions

which (privately) permute ownership

Page 173: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

64

Holders send transactions to 3rd

party mixer, receive transactions

back

Page 174: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

65

Altcoins that use zero-knowledge

proofs for unlinkability

Page 175: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

66

Done off-chain, post summary

transactions infrequently

Frequent, recurring transactions

Better latency, throughput, privacy, etc.

Payment Networks

Page 176: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

67

Cross-chain swaps

Bob has bitcoin, wants alt-coin

Alice has alt-coin, wants bitcoin

Multiphase protocol

guarantees atomic swap

Page 177: Blockchains Overview & Applications · Summary. Thank you! Questions? ETH Zurich – Distributed Computing Group – Thanks to Christian Decker Conrad Burchert. Softforks vs Hardforks

Thank You!Questions & Comments?

www.disco.ethz.ch