centrally banked cryptocurrencies · rolling hash chain of log acts as commitment to actions send...

72
Centrally Banked Cryptocurrencies George Danezis (University College London) Sarah Meiklejohn (University College London)

Upload: others

Post on 10-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

Centrally Banked Cryptocurrencies

George Danezis (University College London)Sarah Meiklejohn (University College London)

Page 2: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

2

who’s interested in ‘blockchain’?

Page 3: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

2

who’s interested in ‘blockchain’?

Page 4: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

2

who’s interested in ‘blockchain’?

Page 5: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

2

who’s interested in ‘blockchain’?

Page 6: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

2

who’s interested in ‘blockchain’?

Page 7: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

2

who’s interested in ‘blockchain’?

Page 8: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

2

who’s interested in ‘blockchain’?

Page 9: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

3

fully decentralized cryptocurrencies

Page 10: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

3

fully decentralized cryptocurrencies

Page 11: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

3

fully decentralized cryptocurrencies

txtx(addrA→addrB)

Page 12: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

3

fully decentralized cryptocurrencies

tx(generate transaction ledger)

“mining”

(generate monetary supply)tx(addrA→addrB)

Page 13: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

3

fully decentralized cryptocurrencies

append-only

tx(generate transaction ledger)

“mining”

(generate monetary supply)tx(addrA→addrB)

Page 14: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

3

fully decentralized cryptocurrencies

transparentappend-only

tx(generate transaction ledger)

“mining”

(generate monetary supply)tx(addrA→addrB)

Page 15: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

3

fully decentralized cryptocurrencies

transparentpseudonyms

append-only

tx(generate transaction ledger)

“mining”

(generate monetary supply)tx(addrA→addrB)

Page 16: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

4

issues with Bitcoin

hashing rates are out of controlincentive structure is messed up

attacks on mining

no control over monetary policy

Page 17: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

4

issues with Bitcoin

hashing rates are out of controlincentive structure is messed up

attacks on mining

no control over monetary policy

not suitable for most applications!

Page 18: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

RSCoin

5

Page 19: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

RSCoin

5

monetary supply decentral centralcentral

Page 20: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

RSCoin

5

monetary supplyledger centraldistributedecentral

decentral centralcentral

Page 21: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

RSCoin

5

monetary supplyledger centraldistributedecentral

decentral centralcentral

transparent? y y (or n) n

Page 22: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

RSCoin

5

monetary supplyledger centraldistributedecentral

decentral centralcentral

transparent? y y (or n) n

pseudonyms? y y (or n) n

Page 23: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

RSCoin

5

monetary supplyledger centraldistributedecentral

decentral centralcentral

transparent? y y (or n) n

pseudonyms? y y (or n) n

computation high! low low

Page 24: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

6

Page 25: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

6

bank (generate monetary supply)

Page 26: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

6

mintettemintette

mintette mintette

bank (generate monetary supply)

(generate transaction ledger)

Page 27: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

6

mintettemintette

mintette mintette

bank

user

(generate monetary supply)

(generate transaction ledger)

Page 28: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

6

mintettemintette

mintette mintette

bank

user

(generate monetary supply)

(generate transaction ledger)

Page 29: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

6

mintettemintette

mintette mintette

bank

user

(generate monetary supply)

(generate transaction ledger)

Page 30: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

7

mintettemintette

mintette mintette

bank

user

Page 31: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

7

mintettemintette

mintette mintette

bank

user

consensus?

Page 32: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

7

mintettemintette

mintette mintette

bank

user

what gets sent?

consensus?

Page 33: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

7

mintettemintette

mintette mintette

bank

user

what gets sent?

consensus?

how do mintettes collect txs?

Page 34: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

7

mintettemintette

mintette mintette

bank

user

what gets sent?

consensus?

how do mintettes collect txs?

consensus?

Page 35: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

8

user

1 2tx:

consensus

Page 36: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

8

user

1 2tx:

consensus

each address is owned by a set of mintettes

Page 37: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

8

user

1 2tx:

consensus

each address is owned by a set of mintettes

a d d r e s s e smintettemintettemintette

mintettemintettemintettemintettemintettemintette

mintettemintettemintettemintettemintettemintette

mintettemintettemintette

Page 38: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

9

mintette1

mintette1

user

1 2tx:

mintette1

1

consensus

Page 39: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

9

mintette1

mintette1

user

1 2tx:

mintette1

1

mintettes check for double spending…

…using lists of unspent transaction outputs (utxo)

consensus

Page 40: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

10

mintette1

mintette1

user

1 2tx:

✓ mintette1

1

signed ‘yes’ vote (and head h)

consensus

Page 41: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

11

mintette1

mintette1

user

1 2tx:

✓ mintette1

mintette2

mintette2

mintette2

1tx ✓✓

“bundle of evidence” contains ‘yes’ votes from majority of mintettes in shard

consensus

Page 42: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

11

mintette1

mintette1

user

1 2tx:

✓ mintette1

mintette2

mintette2

mintette2

1tx ✓✓

mintettes check validity of bundle by checkingfor signatures from authorized mintettes…

consensus

Page 43: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

12

mintette1

mintette1

user

1 2tx:

✓ mintette1

mintette2

mintette2

mintette2

1tx ✓✓tx

tx

…and if satisfied they add transaction to be committed and send back receipt

consensus

Page 44: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

13

consensus features

Page 45: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

13

consensus features

simple (adaption of Two-Phase Commit)

Page 46: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

13

consensus features

scalable!simple (adaption of Two-Phase Commit)

Page 47: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

13

consensus features

scalable!T = set of txs generated per second

Q = # mintettes per shard M = # mintettes

simple (adaption of Two-Phase Commit)

Page 48: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

13

consensus features

scalable!T = set of txs generated per second

Q = # mintettes per shard M = # mintettes

simple (adaption of Two-Phase Commit)

∑tx∈T 2(mtx+1)QMcomm. per mintette per sec =

Page 49: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

13

consensus features

scalable!T = set of txs generated per second

Q = # mintettes per shard M = # mintettes

simple (adaption of Two-Phase Commit)

∑tx∈T 2(mtx+1)Q

scales infinitely as more mintettes are added!

Mcomm. per mintette per sec =

Page 50: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

14

Page 51: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

14

each new mintette adds≈ 75 tx/sec

Page 52: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

14

each new mintette adds≈ 75 tx/sec

compared to Bitcoin’s 7

Page 53: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

what gets sent?

15

mintettemintette

mintette mintette

bank

user

what gets sent?

how do mintettes collect txs?

(2PC)consensus?consensus?

Page 54: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

what gets sent?

15

mintettemintette

mintette mintette

bank

user

what gets sent?

how do mintettes collect txs?

(2PC)

how do mintettes collect txs?

(contacted based on shard)

consensus?

Page 55: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

what gets sent?

15

mintettemintette

mintette mintette

bank

user

what gets sent?

how do mintettes collect txs?

(2PC)

(contacted based on shard)

what gets sent?

consensus?

Page 56: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

16

security properties

no double spending (only “good” transactions get included)

Page 57: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

16

security properties

no double spending (only “good” transactions get included)

(if honest majority)

Page 58: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

17

security properties

no double spending (only “good” transactions get included)non-repudiation (mintettes are held to their promises)

Page 59: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

17

security properties

no double spending (only “good” transactions get included)non-repudiation (mintettes are held to their promises)

(because mintettes provide receipt uponcommitting transaction)

Page 60: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

18

security properties

no double spending (only “good” transactions get included)non-repudiation (mintettes are held to their promises)auditability (mintettes can’t cheat without detection)

Page 61: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

19

mintette logs

borrow ideas from Certificate Transparency to log actions

Page 62: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

19

mintette logs

borrow ideas from Certificate Transparency to log actionsmintettes create log entry every time they:

-act as mintette in first phase (Query) -act as mintette in second phase (Commit) -publish head of hash chain (CloseEpoch)

rolling hash chain of log acts as commitment to actions

Page 63: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

19

mintette logs

borrow ideas from Certificate Transparency to log actionsmintettes create log entry every time they:

-act as mintette in first phase (Query) -act as mintette in second phase (Commit) -publish head of hash chain (CloseEpoch)

rolling hash chain of log acts as commitment to actionsmintettes cross-hash chains to provide evidence of activity

Page 64: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

19

mintette logs

borrow ideas from Certificate Transparency to log actionsmintettes create log entry every time they:

-act as mintette in first phase (Query) -act as mintette in second phase (Commit) -publish head of hash chain (CloseEpoch)

rolling hash chain of log acts as commitment to actions

send logs to bank at end of every periodmintettes cross-hash chains to provide evidence of activity

Page 65: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

20

security properties

no double spending (only “good” transactions get included)non-repudiation (mintettes are held to their promises)auditability (mintettes can’t cheat without detection)

Page 66: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

20

security properties

no double spending (only “good” transactions get included)non-repudiation (mintettes are held to their promises)auditability (mintettes can’t cheat without detection)

Page 67: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

21

mintettemintette

mintette mintette

bank

user

what gets sent?

how do mintettes collect txs?

(2PC)

(contacted based on shard)

what gets sent?(cross-hashed chains)

consensus?

Page 68: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

21

mintettemintette

mintette mintette

bank

user

what gets sent?

how do mintettes collect txs?

(2PC)

(contacted based on shard)

(cross-hashed chains)

-collate transactions

consensus?

Page 69: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

21

mintettemintette

mintette mintette

bank

user

what gets sent?

how do mintettes collect txs?

(2PC)

(contacted based on shard)

(cross-hashed chains)

-collate transactions-allocate fees-audit mintettes

consensus?

Page 70: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

21

mintettemintette

mintette mintette

bank

user

what gets sent?

how do mintettes collect txs?

(2PC)

(contacted based on shard)

(cross-hashed chains)

-collate transactions-allocate fees-audit mintettes(-add coin generation)-authorize mintettes

consensus?

Page 71: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

RSCoin

22

monetary supplyledger centraldistributedecentral

decentral centralcentral

transparent? y y (or n) n

pseudonyms? y y (or n) n

computation high! low low

Page 72: Centrally Banked Cryptocurrencies · rolling hash chain of log acts as commitment to actions send logs to bank at end of every period mintettes cross-hash chains to provide evidence

RSCoin

22

monetary supplyledger centraldistributedecentral

decentral centralcentral

transparent? y y (or n) n

pseudonyms? y y (or n) n

computation high! low low

Thanks! Any questions?