Alternatives to Blockchains Sarah Meiklejohn (University College - - PowerPoint PPT Presentation

alternatives to blockchains
SMART_READER_LITE
LIVE PREVIEW

Alternatives to Blockchains Sarah Meiklejohn (University College - - PowerPoint PPT Presentation

Alternatives to Blockchains Sarah Meiklejohn (University College London) fully decentralized cryptocurrencies 2 fully decentralized cryptocurrencies tx tx(addr A addr B ) 2 fully decentralized cryptocurrencies tx mining tx(addr A


slide-1
SLIDE 1

Alternatives to Blockchains

Sarah Meiklejohn (University College London)

slide-2
SLIDE 2

2

fully decentralized cryptocurrencies

slide-3
SLIDE 3

2

fully decentralized cryptocurrencies

tx tx(addrA→addrB)

slide-4
SLIDE 4

2

fully decentralized cryptocurrencies

tx

(generate transaction ledger)

“mining”

(generate monetary supply)

tx(addrA→addrB)

slide-5
SLIDE 5

2

fully decentralized cryptocurrencies

transparent pseudonyms append-only tx

(generate transaction ledger)

“mining”

(generate monetary supply)

tx(addrA→addrB)

slide-6
SLIDE 6

3

issues with Bitcoin

lack of fungibility

slide-7
SLIDE 7

4

issues with Bitcoin

hashing rates are out of control lack of fungibility

slide-8
SLIDE 8

5

1.5 EH/s (1.5 x 1018 H/s)!

slide-9
SLIDE 9

6

issues with Bitcoin

hashing rates are out of control lack of scalability lack of fungibility

slide-10
SLIDE 10

7

1.5 EH/s (1.5 x 1018 H/s) to achieve 7 tx/s!

slide-11
SLIDE 11

8

70GB and no end in sight!

slide-12
SLIDE 12

9

issues with Bitcoin

hashing rates are out of control lack of consumer protection lack of fungibility lack of scalability

slide-13
SLIDE 13

10

issues with Bitcoin

hashing rates are out of control attacks on mining / misaligned incentives lack of fungibility lack of scalability lack of consumer protection

slide-14
SLIDE 14

11

issues with Bitcoin

hashing rates are out of control lack of fungibility lack of scalability attacks on mining / misaligned incentives lack of consumer protection

slide-15
SLIDE 15

11

issues with Bitcoin

hashing rates are out of control lack of fungibility lack of scalability attacks on mining / misaligned incentives lack of consumer protection

slide-16
SLIDE 16

12

alternate storage

Lightning Network

truncate after a certain amount of time?

slide-17
SLIDE 17

13

issues with Bitcoin

hashing rates are out of control lack of fungibility lack of scalability attacks on mining / misaligned incentives lack of consumer protection

slide-18
SLIDE 18

14

alternate proof of …

slide-19
SLIDE 19

15

proof of stake

(icon by lastspark for the noun project)

use of computational resources represents stake in system

  • ther forms of stake?
slide-20
SLIDE 20

15

proof of stake

(icon by lastspark for the noun project)

use of computational resources represents stake in system

  • ther forms of stake?
  • ld coins tx

“proof of burn” “proof of coin age”

slide-21
SLIDE 21

15

proof of stake

(icon by lastspark for the noun project)

use of computational resources represents stake in system

  • ther forms of stake?
  • ld coins tx

“proof of burn” “proof of coin age”

coins

tx

coins

tx

coins

tx

coins

tx

“proof of use”

slide-22
SLIDE 22

15

proof of stake

(icon by lastspark for the noun project)

use of computational resources represents stake in system

  • ther forms of stake?
  • ld coins tx

<time-lock coins>

tx

“proof of burn” “proof of coin age”

<vote on blocks>

tx

coins

tx

coins

tx

coins

tx

coins

tx

“proof of use” “security-deposit PoS”

slide-23
SLIDE 23

15

proof of stake

(icon by lastspark for the noun project)

use of computational resources represents stake in system

  • ther forms of stake?
  • ld coins tx

<time-lock coins>

tx

“proof of burn” “proof of coin age”

<vote on blocks>

tx

coins

tx

coins

tx

coins

tx

coins

tx

“proof of use” “security-deposit PoS” are these secure? how can we tell?

slide-24
SLIDE 24

16

proof of stake

(icon by lastspark for the noun project)

slide-25
SLIDE 25

16

proof of stake

(icon by lastspark for the noun project)

?

slide-26
SLIDE 26

16

proof of stake

(icon by lastspark for the noun project)

?

in proof-of-work, cost means you choose

slide-27
SLIDE 27

16

proof of stake

(icon by lastspark for the noun project)

in proof-of-work, cost means you choose

slide-28
SLIDE 28

16

proof of stake

(icon by lastspark for the noun project)

in proof-of-work, cost means you choose

slide-29
SLIDE 29

16

proof of stake

(icon by lastspark for the noun project)

“nothing at stake”

in proof-of-work, cost means you choose

slide-30
SLIDE 30

16

proof of stake

(icon by lastspark for the noun project)

“nothing at stake”

in proof-of-work, cost means you choose in proof-of-stake, address with punishment

slide-31
SLIDE 31

16

proof of stake

(icon by lastspark for the noun project)

“nothing at stake”

in proof-of-work, cost means you choose in proof-of-stake, address with punishment

slide-32
SLIDE 32

16

proof of stake

(icon by lastspark for the noun project)

“nothing at stake”

in proof-of-work, cost means you choose in proof-of-stake, address with punishment how do miners get chosen? in proof-of-work, can’t influence this decision

slide-33
SLIDE 33

16

proof of stake

(icon by lastspark for the noun project)

“nothing at stake”

in proof-of-work, cost means you choose in proof-of-stake, address with punishment how do miners get chosen? in proof-of-work, can’t influence this decision

slide-34
SLIDE 34

16

proof of stake

(icon by lastspark for the noun project)

“nothing at stake”

in proof-of-work, cost means you choose in proof-of-stake, address with punishment how do miners get chosen? in proof-of-work, can’t influence this decision

slide-35
SLIDE 35

16

proof of stake

(icon by lastspark for the noun project)

“nothing at stake”

in proof-of-work, cost means you choose in proof-of-stake, address with punishment how do miners get chosen? in proof-of-work, can’t influence this decision

slide-36
SLIDE 36

16

proof of stake

(icon by lastspark for the noun project)

“nothing at stake”

in proof-of-work, cost means you choose in proof-of-stake, address with punishment how do miners get chosen? in proof-of-work, can’t influence this decision

slide-37
SLIDE 37

16

proof of stake

(icon by lastspark for the noun project)

“nothing at stake” “stake grinding”

in proof-of-work, cost means you choose in proof-of-stake, address with punishment how do miners get chosen? in proof-of-work, can’t influence this decision

slide-38
SLIDE 38

16

proof of stake

(icon by lastspark for the noun project)

“nothing at stake” “stake grinding”

in proof-of-work, cost means you choose in proof-of-stake, address with punishment how do miners get chosen? in proof-of-work, can’t influence this decision in proof-of-stake, address with stake modifiers

slide-39
SLIDE 39

17

issues with Bitcoin

hashing rates are out of control lack of fungibility lack of scalability attacks on mining / misaligned incentives lack of consumer protection

slide-40
SLIDE 40

17

issues with Bitcoin

hashing rates are out of control not suitable for many applications! lack of fungibility lack of scalability attacks on mining / misaligned incentives lack of consumer protection

slide-41
SLIDE 41

18

issues with Bitcoin

hashing rates are out of control not suitable for many applications! lack of fungibility lack of scalability attacks on mining / misaligned incentives lack of consumer protection

slide-42
SLIDE 42

19

monetary supply ledger

central distribute decentral decentral central central

transparent?

y y n

pseudonyms?

y y n

computation

high! low low RSCoin

RSCoin [DM NDSS’16]

slide-43
SLIDE 43

20

mintette mintette mintette mintette bank user

(generate monetary supply) (generate transaction ledger)

slide-44
SLIDE 44

21

mintette mintette mintette mintette bank user

slide-45
SLIDE 45

21

mintette mintette mintette mintette bank user who are the mintettes? (anyone bank authorizes) who are the mintettes?

slide-46
SLIDE 46

21

mintette mintette mintette mintette bank user how do mintettes collect txs? who are the mintettes? (anyone bank authorizes)

slide-47
SLIDE 47

lower-level blocks

21

mintette mintette mintette mintette bank user how do mintettes collect txs? who are the mintettes? (anyone bank authorizes) lower-level blocks (chained transactions)

slide-48
SLIDE 48

lower-level blocks

21

mintette mintette mintette mintette bank user consensus? how do mintettes collect txs? who are the mintettes? (anyone bank authorizes) (chained transactions)

slide-49
SLIDE 49

lower-level blocks

21

mintette mintette mintette mintette bank user consensus? how do mintettes collect txs? higher-level blocks higher-level blocks (transactions + coingen + authorization) who are the mintettes? (anyone bank authorizes) (chained transactions)

slide-50
SLIDE 50

lower-level blocks

21

mintette mintette mintette mintette bank user consensus? how do mintettes collect txs? consensus? higher-level blocks (transactions + coingen + authorization) who are the mintettes? (anyone bank authorizes) (chained transactions)

slide-51
SLIDE 51

22

consensus

mintette1 mintette1 user

1 2 tx:

3 4

service mintette1

1 2

1

mintette2 mintette2 mintette2

1 tx

✓ ✓

2

tx tx

simple adaptation of Two-Phase Commit (2PC)

slide-52
SLIDE 52

23

user

1 2 tx:

service

1 2

1

slide-53
SLIDE 53

23

user

1 2 tx:

service

1 2

1

t r a n s a c t i o n s

slide-54
SLIDE 54

23

user

1 2 tx:

service

1 2

1

t r a n s a c t i o n s

slide-55
SLIDE 55

23

user

1 2 tx:

service

1 2

1

t r a n s a c t i o n s

mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette

slide-56
SLIDE 56

23

user

1 2 tx:

service

1 2

1

t r a n s a c t i o n s

mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette

1 :

slide-57
SLIDE 57

23

user

1 2 tx:

service

1 2

1

t r a n s a c t i o n s

mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette

1 : 2 :

slide-58
SLIDE 58

24

mintette1 mintette1 user

1 2 tx:

mintette1

1

service

1 2

1

slide-59
SLIDE 59

24

mintette1 mintette1 user

1 2 tx:

mintette1

1

service

1 2

1

mintettes check for double spending… …using lists of unspent transaction outputs (utxo)

slide-60
SLIDE 60

25

mintette1 mintette1 user

1 2 tx:

mintette1

1

2

service

1 2

1

signed ‘yes’ vote

slide-61
SLIDE 61

26

mintette1 mintette1 user

1 2 tx:

3

service mintette1

1 2

1

mintette2 mintette2 mintette2

1 tx

✓ ✓

2

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

slide-62
SLIDE 62

26

mintette1 mintette1 user

1 2 tx:

3

service mintette1

1 2

1

mintette2 mintette2 mintette2

1 tx

✓ ✓

2

“bundle of evidence” contains ‘yes’ votes from majority of mintettes in shard mintettes check validity of bundle by checking for signatures from authorized mintettes…

slide-63
SLIDE 63

27

mintette1 mintette1 user

1 2 tx:

3 4

service mintette1

1 2

1

mintette2 mintette2 mintette2

1 tx

✓ ✓

2

tx tx

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

slide-64
SLIDE 64

28

consensus features

scalable!

T = set of txs generated per second Q = # mintettes per shard M = # mintettes

conceptually simple

  • comm. per mintette per sec =

∑tx∈T 2(mtx+1)Q

scales infinitely as more mintettes are added!

M

slide-65
SLIDE 65

29

each new mintette adds ≈ 75 tx/sec compared to Bitcoin’s 7

slide-66
SLIDE 66

30

mintette mintette mintette mintette bank user consensus? how do mintettes collect txs? consensus? (2PC) lower-level blocks (chained transactions) who are the mintettes? (anyone bank authorizes) higher-level blocks (transactions + coingen + authorization)

slide-67
SLIDE 67

30

mintette mintette mintette mintette bank user consensus? how do mintettes collect txs? (2PC) how do mintettes collect txs? (contacted based on shard) lower-level blocks (chained transactions) who are the mintettes? (anyone bank authorizes) higher-level blocks (transactions + coingen + authorization)

slide-68
SLIDE 68

31

mintette mintette mintette mintette bank user

  • collate transactions
  • allocate fees

(-add coin generation)

  • audit mintettes
  • authorize mintettes
slide-69
SLIDE 69

32

mintette mintette mintette mintette bank user

slide-70
SLIDE 70

33

mintette mintette mintette mintette user

slide-71
SLIDE 71

34

log server CA log server log server log server

(icon by parkjisun for the noun project)

Certificate Transparency

slide-72
SLIDE 72

34

log server CA log server log server log server website

(icon by parkjisun for the noun project)

Certificate Transparency

slide-73
SLIDE 73

34

log server CA log server log server log server client website

(icon by parkjisun for the noun project)

Certificate Transparency

slide-74
SLIDE 74

34

log server CA log server log server log server client website

(icon by parkjisun for the noun project)

Certificate Transparency

slide-75
SLIDE 75

34

log server CA log server log server log server client website

(icon by parkjisun for the noun project)

Certificate Transparency

goal: don’t let clients accept bad certificates

slide-76
SLIDE 76

35

log server CA log server log server log server client website

(icon by parkjisun for the noun project)

auditor

slide-77
SLIDE 77

35

log server CA log server log server log server client website

(icon by parkjisun for the noun project)

auditor inclusion proof

slide-78
SLIDE 78

35

log server CA log server log server log server client website

(icon by parkjisun for the noun project)

auditor inclusion proof

auditors (efficiently) determine if certificates are in the log

slide-79
SLIDE 79

36

log server CA log server log server log server client website monitor

(icon by parkjisun for the noun project)

auditor

slide-80
SLIDE 80

36

log server CA log server log server log server client website monitor

(icon by parkjisun for the noun project)

auditor

slide-81
SLIDE 81

36

log server CA log server log server log server client website monitor

(icon by parkjisun for the noun project)

auditor

monitors (inefficiently) detect bad certificates in the log

slide-82
SLIDE 82

37

log server CA log server log server log server client website monitor

(icon by parkjisun for the noun project)

auditor

slide-83
SLIDE 83

37

log server CA log server log server log server client website monitor

(icon by parkjisun for the noun project)

auditor gossip

slide-84
SLIDE 84

37

log server CA log server log server log server client website monitor

(icon by parkjisun for the noun project)

auditor gossip

auditors and monitors ensure consistent view of log

slide-85
SLIDE 85

38 (icon by parkjisun for the noun project)

goal: don’t let clients accept bad certificates

slide-86
SLIDE 86

38 (icon by parkjisun for the noun project)

auditors (efficiently) determine if certificates are in the log

log server client auditor

inclusion proof

goal: don’t let clients accept bad certificates

slide-87
SLIDE 87

38 (icon by parkjisun for the noun project)

auditors (efficiently) determine if certificates are in the log

log server client auditor

inclusion proof

+ auditors and monitors ensure consistent view of log

monitor auditor gossip

goal: don’t let clients accept bad certificates

slide-88
SLIDE 88

38 (icon by parkjisun for the noun project)

auditors (efficiently) determine if certificates are in the log

log server client auditor

inclusion proof

+ auditors and monitors ensure consistent view of log ⇒ certificate is in monitor’s view of the log

monitor auditor gossip

goal: don’t let clients accept bad certificates

slide-89
SLIDE 89

38 (icon by parkjisun for the noun project)

auditors (efficiently) determine if certificates are in the log

log server client auditor

inclusion proof

+ auditors and monitors ensure consistent view of log ⇒ certificate is in monitor’s view of the log

monitor auditor gossip

+ monitors (inefficiently) detect bad certificates in the log

log server monitor

goal: don’t let clients accept bad certificates

slide-90
SLIDE 90

38 (icon by parkjisun for the noun project)

auditors (efficiently) determine if certificates are in the log

log server client auditor

inclusion proof

+ auditors and monitors ensure consistent view of log ⇒ certificate is in monitor’s view of the log

monitor auditor gossip

+ monitors (inefficiently) detect bad certificates in the log

log server monitor

goal: don’t let clients accept bad certificates ⇒

slide-91
SLIDE 91

39

  • paque

centralized transparent decentralized

slide-92
SLIDE 92

39

  • paque

centralized transparent decentralized

slide-93
SLIDE 93

39

  • paque

centralized transparent decentralized

slide-94
SLIDE 94

39

RSCoin

  • paque

centralized transparent decentralized

slide-95
SLIDE 95

39

RSCoin

  • paque

centralized transparent decentralized

slide-96
SLIDE 96

39

RSCoin

  • paque

centralized transparent decentralized

? ?

slide-97
SLIDE 97

40

RSCoin

  • paque

centralized transparent decentralized

slide-98
SLIDE 98

40

RSCoin

  • paque

centralized transparent decentralized

what is this distance? can we quantify it?

slide-99
SLIDE 99

40

RSCoin

  • paque

centralized transparent decentralized

what is this distance? can we quantify it? what security properties are even provided? accountable absolute non-existent

better consumer protection? better fairness?

slide-100
SLIDE 100

40

RSCoin

  • paque

centralized transparent decentralized

what is this distance? can we quantify it? what security properties are even provided? accountable absolute non-existent

better consumer protection? better fairness?

Thanks for listening!