omniledger a secure scale out decentralized ledger via
play

OmniLedger: A Secure, Scale-Out, Decentralized Ledger via Sharding - PowerPoint PPT Presentation

OmniLedger: A Secure, Scale-Out, Decentralized Ledger via Sharding Philipp Jovanovic (@daeinar) Distributed and Decentralized Systems Lab (DEDIS) cole polytechnique fdrale de Lausanne (EPFL) IEEE International Verification and Security


  1. OmniLedger: A Secure, Scale-Out, Decentralized Ledger via Sharding Philipp Jovanovic (@daeinar) Distributed and Decentralized Systems Lab (DEDIS) École polytechnique fédérale de Lausanne (EPFL) IEEE International Verification and Security Workshop 2018-07-04, Platja D’Aro

  2. Acknowledgements Eleftherios Kokoris Kogias Nicolas Gailly Linus Gasser Ewa Syta Bryan Ford (EPFL, CH) (EPFL, CH) (EPFL, CH) (Trinity College, USA) (EPFL, CH) 2

  3. Talk Outline • Motivation • OmniLedger • Evaluation • Conclusion 3

  4. Talk Outline • Motivation • OmniLedger • Evaluation • Conclusion 4

  5. The Core of Bitcoin: Nakamoto Consensus Drawbacks Miner of the The Bitcoin p2p network latest block • Transaction confirmation delay ‣ Bitcoin: Any tx takes >10 mins until confirmed • Low throughput “Permanently” committed ‣ Bitcoin: ~4 tx/sec transactions • Weak consistency ‣ Bitcoin: You are not really certain your tx is committed until you wait >1 hour 10 mins } • Proof-of-work mining } 1 MB blocks ‣ Wastes huge amount of energy The Bitcoin blockchain 5

  6. … But Scaling Blockchains is Not Easy Miner of The Bitcoin p2p network latest block “Permanently” committed transactions Still Cannot just add 10 mins more hardware for } better performance! } Still 1 MB blocks The Bitcoin blockchain 6

  7. What we Want: Scale-Out Performance Ideal system Bitcoin Throughput [tx/sec] n 2n 3n 4n 5n 6n Number of Validators Scale-out : Throughput increases linearly with the available resources. 7

  8. Towards Scale-Out Performance via Sharding • Concept: Blockchain 1 ‣ Validators are grouped into distinct subsets ‣ Each subset processes different transactions Transactions ‣ Achieves parallelization and therefore scale-out • But: Blockchain 2 ‣ How to assign validators to shards? ‣ How to send transactions across shards? Transactions � 8

  9. Distributed Ledger Landscape Decentralization E. Kokoris Kogias et al., Enhancing L. Luu et al., A Secure Sharding Elastico Bitcoin Security and Performance with ByzCoin Protocol for Open Blockchains , Strong Consistency via Collective Signing , CCS 2016 USENIX Security 2016 OmniLedger RSCoin Scale-Out Security G. Danezis and S. Meiklejohn, Centrally Banked Cryptocurrencies , NDSS 2016 9

  10. Talk Outline • Motivation • OmniLedger • Evaluation • Conclusion 10

  11. OmniLedger – Design Goals Security Goals 1. Full Decentralization 2. Shard Robustness 3. Secure Transactions No trusted third parties or Shards process txs Txs commit atomically or single points of failure correctly and continuously abort eventually Performance Goals 4. Scale-out 5. Low Storage 6. Low Latency Throughput increases linearly in Validators do not need to store Tx are confirmed quickly the number of active validators the entire shard tx history Assumptions: <= 25% mildly adaptive Byzantine adversary, (partially) synchronous network, UTXO model 11

  12. Strawman: SimpleLedger Overview Shard coordinator conf e • Evolves in epochs e • Trusted source releases shard configuration conf e Validators • Validators: ‣ Bootstrap from the shard ledger according to conf e ‣ Process transactions in parallel using per-shard consensus Shard ledgers Shard 1 Shard 2 Shard 3 (ByzCoin group) (ByzCoin group) (ByzCoin group) 12

  13. Strawman: SimpleLedger Security Drawbacks Shard coordinator • Shard coordinator: trusted third party conf e • No tx processing during validator re-assignment Validators • No cross-shard tx support Performance Drawbacks • ByzCoin failure mode • High storage and bootstrapping cost • Throughput vs. latency trade-off Shard ledgers Shard 1 Shard 2 Shard 3 (ByzCoin group) (ByzCoin group) (ByzCoin group) 13

  14. Roadmap SimpleLedger Randomized sharding Security Secure system reconfigurations Atomic cross-shard transactions Failure-resistant Byzantine consensus Performance Blockchain pruning High-throughput low-latency transaction validation OmniLedger 14

  15. Roadmap SimpleLedger Randomized sharding Security Secure system reconfigurations Atomic cross-shard transactions Failure-resistant Byzantine consensus Performance Blockchain pruning High-throughput low-latency transaction validation OmniLedger 15

  16. Roadmap SimpleLedger Randomized sharding Security Secure system reconfigurations Atomic cross-shard transactions Failure-resistant Byzantine consensus Performance Blockchain pruning High-throughput low-latency transaction validation OmniLedger 16

  17. Shard Validator Assignment • How to assign validators to shards? ‣ Deterministically: Adversary can use predictable assignments to his advantage ‣ Randomly: Adversary cannot control or predict assignment • How to ensure long-term shard security against an adaptive adversary? ‣ Make shards large enough ‣ Periodically re-assign validators to shards 17

  18. Shard Validator Assignment • Challenge: Unbiasable, unpredictable and scalable shard validator assignment • Solution: Combine VRF-based lottery and unbiasable randomness protocol for sharding 1. Temp. leader election 
 2. Randomness generation 3. Shard assignment via VRFs (biasable) via RandHound* (unbiasable) (using rnd e ) Verifiable Temp. randomness rnd e leader PVSS 
 PVSS 
 Validators group 1 group 2 Validators (sharded) *Scalable Bias-resistant Distributed Randomness, E. Syta et al., IEEE S&P’17 18

  19. Roadmap SimpleLedger Randomized sharding Security Secure system reconfigurations Atomic cross-shard transactions Failure-resistant Byzantine consensus Performance Blockchain pruning High-throughput low-latency transaction validation OmniLedger 19

  20. Two-Phase Commits Coordinator Server Query to commit { Voting phase Vote yes / no Commit / rollback { Completion phase Acknowledgement Problem: Does not work in a Byzantine setting as malicious nodes can always abort. 20

  21. Atomix: Secure Cross-Shard Transactions • Challenge: Cross-shard transactions commit atomically or abort eventually • Solution: Atomix, a secure cross-shard transaction protocol (utilizing secure BFT shards) (1) Initialize (2a) Lock (3a) Commit Client Client cross-shard ACK 1 ACK 2 transaction tx commit tx 1 2 3 1 2 3 inputs outputs Shards Shards 1 3 2 (2b) Lock (3b) Rollback Client Client Client tx tx ACK 1 ERR 2 reclaim tx inputs 1 2 3 1 2 3 1 2 3 Shards Shards Shards 21

  22. Roadmap SimpleLedger Randomized sharding Security Secure system reconfigurations Atomic cross-shard transactions Failure-resistant Byzantine consensus Performance Blockchain pruning High-throughput low-latency transaction validation OmniLedger 22

  23. Trust-but-Verify Transaction Validation • Challenge: Latency vs. throughput trade-off • Solution: Two-level “trust-but-verify” validation to get low latency and high throughput small ( e.g. , 500KB) optimistically validated blocks large ( e.g. , 16MB), re-validated blocks tx tx clients shard ledger tx core validators optimistic validators 23

  24. Talk Outline • Motivation • OmniLedger • Evaluation • Conclusion 24

  25. Implementation & Experimental Setup Implementation DeterLab Setup • Go versions of OmniLedger and its • 48 physical machines subprotocols (ByzCoinX, Atomix, etc.) ‣ Intel Xeon E5-2420 v2 
 (6 cores @ 2.2 GHz) • Based on DEDIS code ‣ 24 GB RAM ‣ Kyber crypto library ‣ 10 Gbps network link ‣ Onet network library • Realistic network configurations ‣ Cothority framework ‣ 20 Mbps bandwidth • https://github.com/dedis ‣ 200 ms round-trip latency 25

  26. Evaluation: Scale-Out 100'000 OmniLedger Bitcoin 10'000 5'850 Throughput [tx/sec] 3'240 1'000 1'674 869 439 100 10 4 4 4 4 4 1 70 / 1 140 / 2 280 / 4 560 / 8 1120 / 16 Number of Validators / Number of Shards For a 12.5%-adversary 26

  27. Evaluation: Maximum Throughput Results for 1800 validators 27

  28. Evaluation: Latency Transaction confirmation latency in seconds for regular and mutli-level validation #shards, adversary 4, 1% 25, 5% 70, 12.5% 600, 25% OmniLedger 1 MB blocks 1.38 5.99 8.04 14.52 regular OmniLedger 500 KB blocks 1.38 1.38 1.38 4.48 confirmation OmniLedger 16 MB blocks 1.38 55.89 41.89 62.96 consistency Bitcoin 1 MB blocks 600 600 600 600 confirmation Bitcoin 3600 3600 3600 3600 consistency latency increase since optimistically validated blocks are batched into larger blocks for final validation to get better throughput � 28

  29. Talk Outline • Motivation • OmniLedger • Experimental Results • Conclusion 29

  30. Conclusion Epoch randomness rnd e (RandHound) Validators OmniLedger – Secure scale-out distributed ledger framework • ‣ Sharding via unbiasable randomness for linearly-scaling throughput ‣ Atomix: Client-managed cross-shard transactions ‣ ByzCoinX: Robust intra-shard BFT consensus ‣ Trust-but-verify validation for low latency 
 Shard and high throughput ledgers ‣ For PoW, PoS, permissioned, etc. Shard 1 Shard 3 Shard 2 (ByzCoinX group) (ByzCoinX group) (ByzCoinX group) Paper: ia.cr/2017/406 (published at IEEE S&P’18) • tx 2,in Code: https://github.com/dedis • tx 1,in tx 3,out Client (Atomix coordinator) Thanks! philipp.jovanovic@epfl.ch – @daeinar 30

Recommend


More recommend