Distributed ledgers: how, why, and why not? Sarah Meiklejohn - - PowerPoint PPT Presentation
Distributed ledgers: how, why, and why not? Sarah Meiklejohn - - PowerPoint PPT Presentation
Distributed ledgers: how, why, and why not? Sarah Meiklejohn (University College London) company company data consumers data producers company company 2 (icons by parkjisun from noun project) data consumers data producers 3 (icons by
2
data consumers data producers company
(icons by parkjisun from noun project)
company company company
3
data consumers data producers
(icons by parkjisun from noun project)
4
10 usability 9 governance 8 comparisons 7 key management 6 agility 5 interoperability 4 scalability 3 cost-effectiveness 2 privacy 1 scalability top ten obstacles for blockchains
5
1 scalability 10 usability 9 governance 8 comparisons 7 key management 6 agility 5 interoperability 4 scalability 3 cost-effectiveness 2 privacy
6
Bitcoin / blockchains / distributed ledgers “mining”
7
- ver 4 EH/s (4 × 1018 H/s) to achieve 7 tx/s!
8
full state replication
9
120 GB and (always) rising
10
full state replication ↑ computational power ⇒ ↓ throughput
11
monetary supply ledger
central distribute decentral decentral central central
transparent?
y y (or n) n
pseudonyms?
y y (or n) n
computation
high! low low RSCoin
RSCoin [DM NDSS’16]
12
mintette mintette mintette mintette bank user mintettes already reach consensus before sending info to bank mintettes store info only within a given shard
13
RSCoin 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)
14
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 :
15
mintette1 mintette1 user
1 2 tx:
mintette1
1
service
1 2
1
mintettes check for double spending… …using lists of unspent transaction outputs (utxo)
16
mintette1 mintette1 user
1 2 tx:
✓
mintette1
✓
1
2
service
1 2
1
signed ‘yes’ vote
17
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…
18
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
19
security properties
no double spending (if honest majority per shard) non-repudiation auditability (if mintettes log their behavior)
20
consensus features
conceptually simple no broadcast mintettes communicate only with users no expensive hashing! scalable
↑ computational power ⇒ ↑ throughput
21
T = set of txs generated per second Q = # mintettes per shard M = # mintettes
- comm. per mintette per sec =
∑tx∈T 2(mtx+1)Q
scales infinitely as more mintettes are added!
M consensus features
22
each new mintette adds ≈ 75 tx/sec compared to Bitcoin’s 7
23
mintette mintette mintette mintette bank user
24
Elastico [LNZBGS CCS’16]
committee member consensus committee directory committee committee member committee member committee member run PBFT run PBFT
25
Elastico [LNZBGS CCS’16]
26
1 scalability 10 usability 9 governance 8 comparisons 7 key management 6 agility 5 interoperability 4 scalability 3 cost-effectiveness 2 privacy
27
8 comparisons 1 scalability 10 usability 9 governance 7 key management 6 agility 5 interoperability 4 scalability 3 cost-effectiveness 2 privacy
28
mintette mintette mintette mintette bank
RSCoin [DM NDSS’16]
user
29
mintette mintette mintette mintette user
30
user log server
log
log server
log
log server
log
log server
log
no unified log ⇒ no need for consensus can (retroactively) detect inconsistencies between logs
31
system Log CheckEntry GenEventSet Inspect Gossip evidence log server
log
monitor
snap BE E
auditor snap CheckEvidence
transparency overlays [CM CCS’16]
32
system Log GenEventSet GenEventSet log server
log
log server
log
log server
log
log server
log
33
auditors (efficiently) determine if events are in the log
system Log CheckEntry GenEventSet (meaning |snap| ≪ |log|) auditor snap log server
log
34
monitors (inefficiently) detect bad events in the log
system Log CheckEntry GenEventSet Inspect log server
log
auditor snap monitor
snap BE E
(meaning |E| ≈ |log|)
35
auditors and monitors ensure consistent view of log
system Log CheckEntry GenEventSet Inspect Gossip evidence log server
log
monitor
snap BE E
auditor snap CheckEvidence (can output evidence of inconsistencies)
36
security properties
consistency: log server can’t offer different views of log non-frameability: auditor and monitor can’t frame the log accountability: log server is held to its promises
37
log server
log
monitor
snap BE E
auditor snap prover verifier ? ?
38
log server
log
monitor
snap BE E
auditor snap prover verifier ? ?
39
Log CheckEntry Inspect Gossip evidence log server
log
monitor
snap BE E
auditor snap CheckEvidence
Bitcoin
sender receiver miner blockchain
sender and receiver don’t need to store blockchain gives rise to hybrid system (≈RSCoin) with no mining
40
Log CheckEntry Inspect Gossip evidence log server
log
monitor
snap BE E
auditor snap CheckEvidence
Certificate Transparency [LL13]
CA client website
bad certificate issuance is exposed ⇒ clients are less likely to accept bad certificates
(icon by parkjisun from noun project)
41
Log CheckEntry id provider
log
auditor snap
CONIKS [MBBFF USENIX Sec’16]
client client
(icon by parkjisun from noun project)
Inspect
42
Log CheckEntry ILS log validator
snap
ARPKI [BCKPSS CCS’13]
CA client website
(icon by parkjisun from noun project)
ILS log
43
RSCoin
- paque
centralized transparent decentralized
what is this distance?
CONIKS ARPKI
44
security properties
consistency non-frameability accountability no double spending non-repudiation auditability
⇔ ⇔ ⇔
privacy (of what)? privacy (of what)?
(transparency overlays) (RSCoin)
45
RSCoin
- paque
centralized transparent decentralized
what is this distance? what security properties to look for?
CONIKS ARPKI
46
8 comparisons 1 scalability 10 usability 9 governance 7 key management 6 agility 5 interoperability 4 scalability 3 cost-effectiveness 2 privacy
47