77
But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich Vassilis Zikas University of Edinburgh & IOHK Daniel Tschudi ETH Zurich Juan Garay Texas A&M

But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin

EUROCRYPT 2018

Ueli MaurerETH Zurich

Christian BadertscherETH Zurich

Vassilis ZikasUniversity of Edinburgh & IOHK

Daniel TschudiETH Zurich

Juan GarayTexas A&M

Page 2: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

The Evolution of Bitcoin: A Partial ViewTime

Page 3: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

The Evolution of Bitcoin: A Partial ViewTime

2008/09 White Paper & GenesisAnd Nakamoto said: Let there be Bitcoin…

Page 4: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

The Evolution of Bitcoin: A Partial ViewTime

2008/09 White Paper & GenesisAnd Nakamoto said: Let there be Bitcoin…

The Bitcoin community

Page 5: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

The Evolution of Bitcoin: A Partial ViewTime

2008/09 White Paper & GenesisAnd Nakamoto said: Let there be Bitcoin…

The Bitcoin community

Rational analysis and attacks• Selfish Mining: Bitcoin is not an equilibrium

strategy [ES14]• ….

Page 6: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

The Evolution of Bitcoin: A Partial ViewTime

2008/09 White Paper & GenesisAnd Nakamoto said: Let there be Bitcoin…

The Bitcoin community

Rational analysis and attacks• Selfish Mining: Bitcoin is not an equilibrium

strategy [ES14]• ….

Cryptographic analysis: Backbone (consensus layer) is secure if and only if the computing power of adversarial nodes does not form a majority [GKL15, PSS17 ]

Page 7: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

The Evolution of Bitcoin: A Partial ViewTime

2008/09 White Paper & GenesisAnd Nakamoto said: Let there be Bitcoin…

The Bitcoin community

Rational analysis and attacks• Selfish Mining: Bitcoin is not an equilibrium

strategy [ES14]• ….

Cryptographic analysis: Backbone (consensus layer) is secure if and only if the computing power of adversarial nodes does not form a majority [GKL15, PSS17 ]

Page 8: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

The Evolution of Bitcoin: A Partial ViewTime

2018 Bitcoin still works and no attack on its “backbone” has been observed!

2008/09 White Paper & GenesisAnd Nakamoto said: Let there be Bitcoin…

The Bitcoin community

Rational analysis and attacks• Selfish Mining: Bitcoin is not an equilibrium

strategy [ES14]• ….

Cryptographic analysis: Backbone (consensus layer) is secure if and only if the computing power of adversarial nodes does not form a majority [GKL15, PSS17 ]

Page 9: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Why Does it Work?Why don’t the predicted attacks

occur and entirely break it?

Nostradamus

Page 10: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Why Does it Work?

It doesn’t! Not an equilibrium. Just a temporary anomaly.

Why don’t the predicted attacks occur and entirely break it?

Nostradamus

Page 11: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Why Does it Work?

It doesn’t! Not an equilibrium. Just a temporary anomaly.

Because the majority of computing power is controlled by honest miners

Why don’t the predicted attacks occur and entirely break it?

Nostradamus

Page 12: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Why Does it Work?

It doesn’t! Not an equilibrium. Just a temporary anomaly.

Because the majority of computing power is controlled by honest miners

In game-theoretic analysis • Utilities = assumptions to

explain/predict players behavior• If predictions ≠ observable then

utilities (and game?) can (should?) be rethought.

Why don’t the predicted attacks occur and entirely break it?

Nostradamus

Page 13: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Why Does it Work?

It doesn’t! Not an equilibrium. Just a temporary anomaly.

but … why … ?

Because the majority of computing power is controlled by honest miners

In game-theoretic analysis • Utilities = assumptions to

explain/predict players behavior• If predictions ≠ observable then

utilities (and game?) can (should?) be rethought.

Why don’t the predicted attacks occur and entirely break it?

Nostradamus

Page 14: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Why Does it Work?

It doesn’t! Not an equilibrium. Just a temporary anomaly.

but … why … ?

Because the majority of computing power is controlled by honest miners

In game-theoretic analysis • Utilities = assumptions to

explain/predict players behavior• If predictions ≠ observable then

utilities (and game?) can (should?) be rethought.

Can we back this up by a rational assumption?• Because the adversary has no

incentive to break it (either by corrupting majority or otherwise)

Why don’t the predicted attacks occur and entirely break it?

Nostradamus

Page 15: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Why Does it Work?

It doesn’t! Not an equilibrium. Just a temporary anomaly.

but … why … ?

Because the majority of computing power is controlled by honest miners

In game-theoretic analysis • Utilities = assumptions to

explain/predict players behavior• If predictions ≠ observable then

utilities (and game?) can (should?) be rethought.

Can we back this up by a rational assumption?• Because the adversary has no

incentive to break it (either by corrupting majority or otherwise)

Why don’t the predicted attacks occur and entirely break it?

Calls for an alternative rational treatment

Nostradamus

Page 16: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Our Contributions

• A new model for rational analysis of Bitcoin

• Applying the framework to analyze the Bitcoin backbone

• A class of utilities reflecting “minimal” assumptions about the Bitcoin miners’ incentives.

• Deriving predictions that match the observable.

Page 17: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Our Contributions

• A new model for rational analysis of Bitcoin

• Applying the framework to analyze the Bitcoin backbone

• A class of utilities reflecting “minimal” assumptions about the Bitcoin miners’ incentives.

• Deriving predictions that match the observable.

Blockchains

Page 18: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Our Contributions

• A new model for rational analysis of Bitcoin

• Applying the framework to analyze the Bitcoin backbone

• A class of utilities reflecting “minimal” assumptions about the Bitcoin miners’ incentives.

• Deriving predictions that match the observable.

Blockchains

Page 19: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Securely implementing a task against an incentive-driven adversary

Rational Protocol Design (RPD) [GKMTZ13]

Page 20: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Securely implementing a task against an incentive-driven adversary

(n-party) task as an ideal functionality FProtocol

DesigneruD

ProtocolAttacker

uA

The Attack Game

Rational Protocol Design (RPD) [GKMTZ13]

Page 21: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Securely implementing a task against an incentive-driven adversary

(n-party) task as an ideal functionality FProtocol

DesigneruD

ProtocolAttacker

uA

The Attack Game

(n-party) protocol π for F

Rational Protocol Design (RPD) [GKMTZ13]

Page 22: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Securely implementing a task against an incentive-driven adversary

Adversary A for attacking π

(n-party) task as an ideal functionality FProtocol

DesigneruD

ProtocolAttacker

uA

The Attack Game

(n-party) protocol π for F

Rational Protocol Design (RPD) [GKMTZ13]

Page 23: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Securely implementing a task against an incentive-driven adversary

Adversary A for attacking π

• Utilities are defined in the ideal world as payoffs of explicit “breaks” of F

• zero-sum game (i.e., uD := - uA)

(n-party) task as an ideal functionality FProtocol

DesigneruD

ProtocolAttacker

uA

The Attack Game

(n-party) protocol π for F

Rational Protocol Design (RPD) [GKMTZ13]

Page 24: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Rational Protocol Design (RPD) [GKMTZ13]Flavors of Protocol Quality (security / stability) • π is (uD, uA, ℿ)-attack-payoff optimal for F if any other protocol

in ℿ allows for more rewarding attacks

• π is a best-response strategy among protocols in ℿ

• π is (uD, uA, 𝔸)-attack-payoff secure for F if the best the attacker can do is play an adversary in 𝔸• an 𝔸-adversary is best response to π

In [GKMTZ13]: ✴ ℿ = The class of all poly-time protocols✴ 𝔸 = The class of all adversaries that honestly execute the protocol

Page 25: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Rational Protocol Design (RPD) [GKMTZ13]Flavors of Protocol Quality (security / stability) • π is (uD, uA, ℿ)-attack-payoff optimal for F if any other protocol

in ℿ allows for more rewarding attacks

• π is a best-response strategy among protocols in ℿ

• π is (uD, uA, 𝔸)-attack-payoff secure for F if the best the attacker can do is play an adversary in 𝔸• an 𝔸-adversary is best response to π

Page 26: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Flavors of Protocol Quality (security / stability) • π is (uD, uA, ℿ)-attack-payoff optimal for F if any other protocol

in ℿ allows for more rewarding attacks

• π is a best-response strategy among protocols in ℿ

• π is (uD, uA, 𝔸)-attack-payoff secure for F if the best the attacker can do is play an adversary in 𝔸• an 𝔸-adversary is best response to π

Rational Protocol Design (RPD)++

Page 27: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Flavors of Protocol Quality (security / stability) • π is (uD, uA, ℿ)-attack-payoff optimal for F if any other protocol

in ℿ allows for more rewarding attacks

• π is a best-response strategy among protocols in ℿ

• π is (uD, uA, (𝔸, ℿ) )-incentive compatible for F if it is (uD, uA, 𝔸)-attack-payoff secure AND (uD, uA, ℿ)-attack-payoff optimal

• π is (uD, uA, 𝔸)-attack-payoff secure for F if the best the attacker can do is play an adversary in 𝔸• an 𝔸-adversary is best response to π

Rational Protocol Design (RPD)++

Page 28: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Flavors of Protocol Quality (security / stability) • π is (uD, uA, ℿ)-attack-payoff optimal for F if any other protocol

in ℿ allows for more rewarding attacks

• π is a best-response strategy among protocols in ℿ

For Bitcoin✴ ℿ = The class of protocols that use the Bitcoin infrastructure

(circulate blocks and transactions of the right format)✴ 𝔸 = The class of semi-honest network-rushing adversaries

➡ strongly (uD, uA)-attack-payoff secure

• π is (uD, uA, 𝔸)-attack-payoff secure for F if the best the attacker can do is play an adversary in 𝔸• an 𝔸-adversary is best response to π

Bitcoin in RPD++

• π is (uD, uA, (𝔸, ℿ) )-incentive compatible for F if it is (uD, uA, 𝔸)-attack-payoff secure AND (uD, uA, ℿ)-attack-payoff optimal

Page 29: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Bitcoin in RPD++

ProtocolDesigner

uD

ProtocolAttacker

uA(n-party)

protocol π for F

Adversary A for attacking π

• Utilities are defined in the ideal world as payoffs of explicit “breaks” of F

• zero-sum game (i.e., uD := - uA)

22

(n-party) task as an ideal functionality F

The Bitcoin Attack Game

1

Page 30: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Bitcoin in RPD++

ProtocolDesigner

uD

ProtocolAttacker

uA(n-party)

protocol π for F

Adversary A for attacking π

• Utilities are defined in the ideal world as payoffs of explicit “breaks” of F

• zero-sum game (i.e., uD := - uA)

22

(n-party) task as an ideal functionality F

The Bitcoin Attack Game

1

Page 31: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Buffer

Bitcoin an a Transaction Ledger [BMTZ17]

Gledger

B0 B1 B3 … Bs

State

tx1

tx2

tx3

tx4

txl

Page 32: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Buffer

Bitcoin an a Transaction Ledger [BMTZ17]

GetState

(sufficiently long prefix of) B1,…,BS

Gledger

B0 B1 B3 … Bs

State

tx1

tx2

tx3

tx4

txl

Page 33: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Buffer

Bitcoin an a Transaction Ledger [BMTZ17]

GetState

(sufficiently long prefix of) B1,…,BS

(Submit, tx)

Gledger

B0 B1 B3 … Bs

State

tx1

tx2

tx3

tx4

txl

Page 34: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Buffer

Bitcoin an a Transaction Ledger [BMTZ17]

GetState

(sufficiently long prefix of) B1,…,BS

(Submit, tx)

Gledger

B0 B1 B3 … Bs

State

tx1

tx2

tx3

tx4

txltx

Validate(.)

Page 35: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Buffer

Bitcoin an a Transaction Ledger [BMTZ17]

GetState

(sufficiently long prefix of) B1,…,BS

(Submit, tx)

Gledger

B0 B1 B3 … Bs

State

tx1

tx2

tx3

tx4

txltx

Validate(.)

Page 36: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Buffer

Bitcoin an a Transaction Ledger [BMTZ17]

GetState

(sufficiently long prefix of) B1,…,BS

(Submit, tx)

Gledger

B0 B1 B3 … Bs

State

tx1

tx2

tx3

tx4

txl

tx

txValidate(.)tx

Page 37: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Bitcoin an a Transaction Ledger [BMTZ17]

GetState Validate(.)

No

Gledger

B0 B1 B3 … Bs

State

Buffertx1

tx2

tx3

tx4

txltx

(sufficiently long prefix of) B1,…,BS

Page 38: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Bitcoin an a Transaction Ledger [BMTZ17]

GetState Validate(.)

No

Gledger

B0 B1 B3 … Bs

State

Buffertx1

tx2

tx3

tx4

txltx

Next Blocktx1,tx3

(sufficiently long prefix of) B1,…,BS

Page 39: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Bitcoin an a Transaction Ledger [BMTZ17]

GetState Validate(.)

No

Gledger

B0 B1 B3 … Bs

State

Buffertime?

t

tx1

tx2

tx3

tx4

txltx

Next Blocktx1,tx3

(sufficiently long prefix of) B1,…,BS

Page 40: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Bitcoin an a Transaction Ledger [BMTZ17]

GetState Validate(.)

No

Gledger

B0 B1 B3 … Bs

State

Buffertime?

t

tx1

tx2

tx3

tx4

txl

Extend Policy

tx

Next Blocktx1,tx3

(sufficiently long prefix of) B1,…,BS

Page 41: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Bitcoin an a Transaction Ledger [BMTZ17]

GetState Validate(.)

No

Gledger

B0 B1 B3 … Bs

State

Buffertime?

t

tx1

tx2

tx3

tx4

txl

Extend Policy

tx

Next Blocktx1,tx3

• chain growth, chain quality,… [GKL15,PSS17]

(sufficiently long prefix of) B1,…,BS

Page 42: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Bitcoin an a Transaction Ledger [BMTZ17]

GetState Validate(.)

No

Gledger

B0 B1 B3 … Bs

State

Buffertime?

t

tx1

tx2

tx3

tx4

txl

Extend Policy

tx

Next Blocktx1,tx3

• chain growth, chain quality,… [GKL15,PSS17]

(sufficiently long prefix of) B1,…,BS

Page 43: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Bitcoin an a Transaction Ledger [BMTZ17]

GetState Validate(.)

No

Gledger

B0 B1 B3 … Bs

State

Buffertime?

t

tx1

tx2

tx3

tx4

txl

Extend Policy

Blockify

tx

Next Blocktx1,tx3

• chain growth, chain quality,… [GKL15,PSS17]

(sufficiently long prefix of) B1,…,BS

Page 44: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Bitcoin an a Transaction Ledger [BMTZ17]

GetState Validate(.)

No

Gledger

B0 B1 B3 … Bs

State

Buffertime?

t

tx1

tx2

tx3

tx4

txl

Extend Policy

Blockify Bs+1

tx

Next Blocktx1,tx3

• chain growth, chain quality,… [GKL15,PSS17]

(sufficiently long prefix of) B1,…,BS

Page 45: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Bitcoin an a Transaction Ledger [BMTZ17]

GetState Validate(.)

No

Gledger

B0 B1 B3 … Bs

State

Buffertime?

t

tx2

tx1 tx3

tx4

txl

tx

Extend Policy

Blockify Bs+1

tx

Next Blocktx1,tx3

(sufficiently long prefix of) B1,…,BS

Page 46: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Bitcoin an a Transaction Ledger [BMTZ17]

GetState Validate(.)

No

Gledger

B0 B1 B3 … Bs

State

Buffertime?

t

tx2

tx1 tx3

tx4

txl

tx

Extend Policy

Blockify Bs+1

tx

Next Blocktx1,tx3

(sufficiently long prefix of) B1,…,BS

Page 47: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Bitcoin an a Transaction Ledger [BMTZ17]

GetState Validate(.)

No

Gledger

B0 B1 B3 … Bs

State

Buffertime?

t

tx2

tx1 tx3

tx4

txl

tx

Extend Policy

Blockify

Bs+1tx

Next Blocktx1,tx3

(sufficiently long prefix of) B1,…,BS

Page 48: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Bitcoin an a Transaction Ledger [BMTZ17]

GetState Validate(.)

No

Gledger

B0 B1 B3 … Bs

State

Buffertime?

t

tx2

tx1 tx3

tx4

txl

tx

Extend Policy

Blockify

Bs+1tx

Next Blocktx1,tx3

(sufficiently long prefix of) B1,…,BS

Page 49: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Bitcoin an a Transaction Ledger [BMTZ17]

GetState Validate(.)

No

Gledger

B0 B1 B3 … Bs

State

Buffertime?

t

tx2

tx4

txl

tx

Extend Policy

Blockify

Bs+1tx

Next Blocktx1,tx3

(sufficiently long prefix of) B1,…,BS

Page 50: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Bitcoin an a Transaction Ledger [BMTZ17]

GetState Validate(.)

No

Gledger

B0 B1 B3 … Bs

State

Buffertime?

t

tx2

tx4

txl

tx

Extend Policy

Blockify

Bs+1tx

Next Blocktx1,tx3

Bitcoin UC implements such a ledger against corrupted

minority [BMTZ17]

(sufficiently long prefix of) B1,…,BS

Page 51: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Bitcoin in RPD++

ProtocolDesigner

uD

ProtocolAttacker

uA(n-party)

protocol π for F

Adversary A for attacking π

• Utilities are defined in the ideal world as payoffs of explicit “breaks” of F

• zero-sum game (i.e., uD := - uA)

22

(n-party) task as an ideal functionality F

FLedger

The Bitcoin Attack Game

1

Page 52: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Bitcoin in RPD++

ProtocolDesigner

uD

ProtocolAttacker

uA(n-party)

protocol π for F

Adversary A for attacking π

• Utilities are defined in the ideal world as payoffs of explicit “breaks” of F

• zero-sum game (i.e., uD := - uA)

22

(n-party) task as an ideal functionality F

FLedger

The Bitcoin Attack Game

1

Page 53: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Bitcoin in RPD++

ProtocolDesigner

uD

ProtocolAttacker

uA(n-party)

protocol π for F

Adversary A for attacking π

• Utilities are defined in the ideal world as payoffs of explicit “breaks” of F

• zero-sum game (i.e., uD := - uA)

22

(n-party) task as an ideal functionality F

FLedger

The Bitcoin Attack Game

1

Page 54: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Our Contributions

• A new model for rational analysis of Bitcoin

• Applying the framework to analyze the Bitcoin backbone

• A class of utilities reflecting “minimal” assumptions about the Bitcoin miners’ incentives.

• Deriving predictions that match the observable.

Blockchains

Page 55: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

The UtilitiesParameters

Block RewardBR (Unit : BTC)

Hashing CostHC (Unit : KWh)

Transaction FeesTF (Unit : BTC)

(+) (+) (-)

Utility = expected rewards - expected costs

Page 56: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

The UtilitiesParameters

Block RewardBR (Unit : BTC)

Hashing CostHC (Unit : KWh)

Transaction FeesTF (Unit : BTC)

(+) (+) (-)

1KWh = CR BTC

Utility = expected rewards - expected costs

Page 57: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

The UtilitiesParameters

Block RewardBR (Unit : BTC)

Hashing CostHC (Unit : KWh)

Transaction FeesTF (Unit : BTC)

(+) (+) (-)

1KWh = CR BTC

Utility = expected rewards - expected costs

Page 58: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

The UtilitiesParameters

Block RewardBR (Unit : BTC)

Hashing CostHC (Unit : KWh)

Transaction FeesTF (Unit : BTC)

(+) (+) (-)

1KWh = CR BTC

The attacker’s (expected) utility : Wants to make profit

• For each block a corrupted inserts into the state: (BR + TF) BTCs

• For each hash query a corrupted makes: - (HC x CR) BTCs

uBA

Utility = expected rewards - expected costs

Page 59: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

The UtilitiesParameters

Block RewardBR (Unit : BTC)

Hashing CostHC (Unit : KWh)

Transaction FeesTF (Unit : BTC)

(+) (+) (-)

1KWh = CR BTC

Can be defined in the ideal experiment(explicit in the functionality)

The attacker’s (expected) utility : Wants to make profit

• For each block a corrupted inserts into the state: (BR + TF) BTCs

• For each hash query a corrupted makes: - (HC x CR) BTCs

uBA

Utility = expected rewards - expected costs

Page 60: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

The UtilitiesParameters

Block RewardBR (Unit : BTC)

Hashing CostHC (Unit : KWh)

Transaction FeesTF (Unit : BTC)

(+) (+) (-)

The designer’s (expected) utility : Wants to preserve consensus and make profit while doing so• For each block an honest inserts into the state: (BR + TF) BTCs

• For each hash query an honest makes: - (HC x CR) BTCs

uBD

• If the state (permanent part) of the ledger forks then - exp BTCs

1KWh = CR BTC

Utility = expected rewards - expected costs

Page 61: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Bitcoin in RPD++

Advantages over standard rational analysis• Simpler (Stackelberg) game to analyze

• 2-party 2-move metagame among unbounded agents

• Most Bitcoin miners will not cheat and will follow the protocol if it is profitable for them

• Utilities are defined in the cleaner ideal world

• Can define them based on the fixed ledger state rather than local views of parties

• Automatic composition with crypto [GKMTZ13]

• Easily captures adaptive corruption

• Example: bribery attacks [Bon16]

Page 62: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Our Contributions

• A new model for rational analysis of Bitcoin

• Applying the framework to analyze the Bitcoin backbone

• A class of utilities reflecting “minimal” assumptions about the Bitcoin miners’ incentives.

• Deriving predictions that match the observable.

Blockchains

Page 63: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Stability/Security: No Transaction Fees (TF=0)

Bitcoin is strongly -attack-payoff secure for FLedger(uBD, uB

A)

Page 64: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Stability/Security: No Transaction Fees (TF=0)

Bitcoin is strongly -attack-payoff secure for FLedger

Recall: This is the semi-honest network-rushing adversary

(uBD, uB

A)

Page 65: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Stability/Security: No Transaction Fees (TF=0)

Bitcoin is strongly -attack-payoff secure for FLedger

Recall: This is the semi-honest network-rushing adversary

Proof Idea:

• The adversary controls the network

• Any non-network related attack involves hashing• If the finds a solution to the puzzle he is better off

pushing it to the network

• Otherwise, the hash is useless (and costly)

(uBD, uB

A)

Page 66: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Stability/Security: No Transaction Fees (TF=0)

Bitcoin is strongly -attack-payoff secure for FLedger

Recall: This is the semi-honest network-rushing adversary

Proof Idea:

• The adversary controls the network

• Any non-network related attack involves hashing• If the finds a solution to the puzzle he is better off

pushing it to the network

• Otherwise, the hash is useless (and costly)

(uBD, uB

A)

Fixed difficulty

Page 67: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Stability/Security: No Transaction Fees (TF=0)

Bitcoin is -incentive-compatible for FLedger(uBD, uB

A, (A, ⇧))if and only if CR is "high enough”

(uBD, uB

A

Page 68: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Stability/Security: No Transaction Fees (TF=0)

Bitcoin is -incentive-compatible for FLedger(uBD, uB

A, (A, ⇧))if and only if CR is "high enough”

BR · CR > HC · 1p · (1 ≠ p)n≠1BR · CR <

HC

p

* p = Probability of finding a valid block in 1 hash query

(uBD, uB

A

Page 69: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Stability/Security: No Transaction Fees (TF=0)

Bitcoin is -incentive-compatible for FLedger(uBD, uB

A, (A, ⇧))if and only if CR is "high enough”

Proof Idea:On expectation, the cost of mining till you find a block is more than the profit (even if the block would make it)

BR · CR > HC · 1p · (1 ≠ p)n≠1BR · CR <

HC

p

* p = Probability of finding a valid block in 1 hash query

(uBD, uB

A

Page 70: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Stability/Security: No Transaction Fees (TF=0)

Proof Idea:On expectation, the cost of mining till you are the only one that finds a block is less than the profit.

BR · CR > HC · 1p · (1 ≠ p)n≠1BR · CR <

HC

p

* p = Probability of finding a valid block in 1 hash query

Bitcoin is -incentive-compatible for FLedger(uBD, uB

A, (A, ⇧))if and only if CR is "high enough”

(uBD, uB

A

Page 71: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Stability/Security: With Transaction Fees

Bitcoin is -incentive-compatible for FLedger(uBD, uB

A, (A, ⇧))if CR is "high enough” and …

(uBD, uB

A

Page 72: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Stability/Security: With Transaction Fees

Bitcoin is -incentive-compatible for FLedger(uBD, uB

A, (A, ⇧))if CR is "high enough” and …

• no incentive to circulate high-fee transactions to the network

(uBD, uB

A

Page 73: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Stability/Security: With Transaction Fees

Bitcoin is -incentive-compatible for FLedger(uBD, uB

A, (A, ⇧))if CR is "high enough” and …

• no incentive to circulate high-fee transactions to the network

(uBD, uB

A

• there is an upper bound on total fees• all parties get enough transactions to

reach this bound

Page 74: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

Stability/Security: With Transaction Fees

Bitcoin is -incentive-compatible for FLedger(uBD, uB

A, (A, ⇧))if CR is "high enough” and …

• no incentive to circulate high-fee transactions to the network

(uBD, uB

A

• there is an upper bound on total fees• all parties get enough transactions to

reach this bound

Proposal for when rewards approach zero

Page 75: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

ConclusionsOur Results

• Simple and Crypto-compatible rational model for blockchains

• Rational treatment of the Bitcoin backbone with fixed difficulty under natural minimal utilities

• The effect of exchange on stability/security

• Proposal for coping with diminishing rewards

• Also in the paper: Rationality as a fallback to honest majority

Page 76: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

ConclusionsOur Results

• Simple and Crypto-compatible rational model for blockchains

• Rational treatment of the Bitcoin backbone with fixed difficulty under natural minimal utilities

• The effect of exchange on stability/security

• Proposal for coping with diminishing rewards

• Also in the paper: Rationality as a fallback to honest majorityFuture Directions

• Variable difficulty

• Utilities capturing other factors might affect the decision:

• Detection of a 50% attack might be a deterrence• Mining pools’ incentives

• A rational analysis of Bitcoin as cryptocurrency

• The contents of transactions might affect the utilities…

Page 77: But Why Does it Work? · 2018-05-16 · But Why Does it Work? A Rational Protocol Design Treatment of Bitcoin EUROCRYPT 2018 Ueli Maurer ETH Zurich Christian Badertscher ETH Zurich

ConclusionsOur Results

• Simple and Crypto-compatible rational model for blockchains

• Rational treatment of the Bitcoin backbone with fixed difficulty under natural minimal utilities

• The effect of exchange on stability/security

• Proposal for coping with diminishing rewards

• Also in the paper: Rationality as a fallback to honest majorityFuture Directions

• Variable difficulty

• Utilities capturing other factors might affect the decision:

• Detection of a 50% attack might be a deterrence• Mining pools’ incentives

• A rational analysis of Bitcoin as cryptocurrency

• The contents of transactions might affect the utilities…

Thank you!