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 parkjisun from noun project)
top ten obstacles for blockchains 10 usability 9 governance 8 comparisons 7 key management 6 agility 5 interoperability 4 scalability 3 cost-e ff ectiveness 2 privacy 1 scalability 4
10 usability 9 governance 8 comparisons 7 key management 6 agility 5 interoperability 4 scalability 3 cost-e ff ectiveness 2 privacy 1 scalability 5
Bitcoin / blockchains / distributed ledgers “mining” 6
over 4 EH/s (4 × 10 18 H/s) to achieve 7 tx/s! 7
full state replication 8
120 GB and (always) rising 9
full state replication ↑ computational power ⇒ ↓ throughput 10
RSCoin [D M NDSS’16] RSCoin monetary supply decentral central central ledger decentral distribute central transparent? y y (or n) n pseudonyms? y y (or n) n computation high! low low 11
user mintettes store info only within a given shard mintette mintette mintette mintette bank mintettes already reach consensus before sending info to bank 12
RSCoin consensus 4 service tx 1 mintette 2 1 mintette 1 ✓ 2 2 mintette 2 user mintette 1 ✓ ✓ 1 tx tx 3 tx: 1 2 ✓ mintette 2 mintette 1 simple adaptation of Two-Phase Commit (2PC) 13
service 1 1 1 : 2 : 2 user tx: 1 2 mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette mintette t r a n s a c t i o n s 14
mintettes check for double spending … service 1 1 mintette 1 2 user mintette 1 1 tx: 1 2 mintette 1 …using lists of unspent transaction outputs (utxo) 15
signed ‘yes’ vote service 1 1 mintette 1 ✓ 2 2 user mintette 1 1 tx: 1 2 ✓ mintette 1 16
mintettes check validity of bundle by checking for signatures from authorized mintettes… service 1 mintette 2 1 mintette 1 ✓ 2 2 mintette 2 user mintette 1 ✓ ✓ 1 tx 3 tx: 1 2 ✓ mintette 2 mintette 1 “bundle of evidence” contains ‘yes’ votes from majority of mintettes in shard 17
…and if satisfied they add transaction to be committed and send back receipt 4 service tx 1 mintette 2 1 mintette 1 ✓ 2 2 mintette 2 user mintette 1 ✓ ✓ 1 tx tx 3 tx: 1 2 ✓ mintette 2 mintette 1 18
security properties no double spending (if honest majority per shard) non-repudiation auditability (if mintettes log their behavior) 19
consensus features conceptually simple no broadcast mintettes communicate only with users no expensive hashing! scalable ↑ computational power ⇒ ↑ throughput 20
consensus features T = set of txs generated per second Q = # mintettes per shard M = # mintettes ∑ tx ∈ T 2(m tx +1)Q comm. per mintette per sec = M scales infinitely as more mintettes are added! 21
compared to Bitcoin’s 7 each new mintette adds ≈ 75 tx/sec 22
user mintette mintette mintette mintette bank 23
Elastico [LNZBGS CCS’16] run PBFT directory committee committee member committee member committee member committee member consensus committee run PBFT 24
Elastico [LNZBGS CCS’16] 25
10 usability 9 governance 8 comparisons 7 key management 6 agility 5 interoperability 4 scalability 3 cost-e ff ectiveness 2 privacy 1 scalability 26
10 usability 9 governance 8 comparisons 7 key management 6 agility 5 interoperability 4 scalability 3 cost-e ff ectiveness 2 privacy 1 scalability 27
RSCoin [D M NDSS’16] user mintette mintette mintette mintette bank 28
user mintette mintette mintette mintette 29
user log server log server log log log server log log server log no unified log ⇒ no need for consensus can (retroactively) detect inconsistencies between logs 30
transparency overlays [C M CCS’16] system GenEventSet CheckEvidence Log log server log CheckEntry Inspect auditor snap monitor snap E BE evidence Gossip 31
system GenEventSet GenEventSet Log log server log server log log log server log server log log 32
system GenEventSet Log log server log CheckEntry auditor snap (meaning |snap| ≪ |log|) auditors (e ffi ciently) determine if events are in the log 33
system GenEventSet Log log server log CheckEntry Inspect auditor snap monitor snap E BE (meaning |E| ≈ |log|) monitors (ine ffi ciently) detect bad events in the log 34
system GenEventSet CheckEvidence Log log server log CheckEntry Inspect auditor snap monitor snap E BE evidence Gossip auditors and monitors ensure consistent view of log (can output evidence of inconsistencies) 35
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 36
prover verifier log server log ? ? auditor snap monitor snap E BE 37
prover verifier log server log ? ? auditor snap monitor snap E BE 38
Bitcoin blockchain receiver sender miner Log CheckEvidence log server log CheckEntry Inspect auditor snap monitor snap E BE evidence Gossip sender and receiver don’t need to store blockchain gives rise to hybrid system ( ≈ RSCoin) with no mining 39
Certificate Transparency [LL13] CA website client CheckEvidence Log log server log CheckEntry Inspect auditor snap monitor snap E BE evidence Gossip bad certificate issuance is exposed ⇒ clients are less likely to accept bad certificates 40 (icon by parkjisun from noun project)
CONIKS [MBBFF USENIX Sec’16] client client Inspect Log id provider log CheckEntry auditor snap 41 (icon by parkjisun from noun project)
ARPKI [BCKPSS CCS’13] CA website client Log ILS log ILS log CheckEntry validator snap 42 (icon by parkjisun from noun project)
ARPKI CONIKS RSCoin opaque transparent centralized decentralized what is this distance? 43
⇔ ⇔ security properties (transparency overlays) (RSCoin) consistency no double spending non-frameability non-repudiation ⇔ accountability auditability privacy (of what)? privacy (of what)? 44
ARPKI CONIKS RSCoin opaque transparent centralized decentralized what is this distance? what security properties to look for? 45
10 usability 9 governance 8 comparisons 7 key management 6 agility 5 interoperability 4 scalability 3 cost-e ff ectiveness 2 privacy 1 scalability 46
10 usability 9 governance 8 comparisons 7 key management 6 agility Thanks! Any questions? 5 interoperability 4 scalability 3 cost-e ff ectiveness 2 privacy 1 scalability 47
Recommend
More recommend