rethinking general purpose decentralized computing
play

Rethinking General-Purpose Decentralized Computing Enis Ceyhun Alp - PowerPoint PPT Presentation

Rethinking General-Purpose Decentralized Computing Enis Ceyhun Alp Eleftherios Kokoris-Kogias, Georgia Fragkouli, Bryan Ford Decentralized and Distributed Systems Lab (DEDIS) HotOS XVII May 13, 2019 1 BLOCKCHAIN N I A H C K C O L


  1. Rethinking General-Purpose Decentralized Computing Enis Ceyhun Alp Eleftherios Kokoris-Kogias, Georgia Fragkouli, Bryan Ford Decentralized and Distributed Systems Lab (DEDIS) HotOS XVII May 13, 2019 � 1

  2. BLOCKCHAIN N I A H C K C O L B mama? BLOCKCHAIN papa? BLOCKCHAIN MORE BLOCKCHAIN � 2

  3. BLOCKCHAIN N I A H C K C O L B mama? BLOCKCHAIN papa? BLOCKCHAIN MORE BLOCKCHAIN � 3

  4. Smart contracts � 4

  5. Ethereum • 2 nd largest cryptocurrency • ~445M transactions processed • ~1.5M contracts deployed • “The world computer” BUT… � 5

  6. What’s wrong? • Limited functionality ❖ No support for non-determinism ❖ Cannot securely operate on private data • Di ffi culty of system upgrades • Poor performance ❖ Every node runs every contract � 6

  7. Running example: Betting application � 7

  8. Running example: Betting application � 8

  9. Running example: Betting application Query � 9

  10. Running example: Betting application Response � 10

  11. Running example: Betting application 🥴 💕 🥴 � 11

  12. Challenges Hide predictions until release time Store data o ff -chain Access to reliable real-world data Third-party oracle services � 12

  13. Challenges Hide predictions until release time Upgrade for new functionalities Access to reliable real-world data � 13

  14. Challenges Hide predictions until release time Global hard forks Upgrade for new functionalities Access to reliable real-world data � 14

  15. Monolithic architecture Consensus and code execution are tightly coupled � 15

  16. Modular architecture � 16

  17. PROTEAN A modular architecture for general-purpose decentralized computing � 17

  18. Idea: Functional separation of nodes into special-purpose modules Functional units • Distributed systems that provide distinct specialized computations • Similar to microservices architecture in cloud computing � 18

  19. Functional units Ethereum State & Execution unit � 19

  20. Functional units PROTEAN State unit Execution unit � 20

  21. Functional units PROTEAN Private-storage unit State unit Execution unit � 21

  22. Functional units PROTEAN Private-storage unit State unit Execution unit Oracle unit � 22

  23. Functional units PROTEAN Private-storage unit State unit Execution unit Oracle unit Randomness unit � 23

  24. Functional units PROTEAN Private-storage unit Shu ffl er unit State unit Execution unit Oracle unit Encryption unit Randomness unit � 24

  25. Functional units PROTEAN Private-storage unit Shu ffl er unit State unit Execution unit OU1-v2 Oracle unit Encryption unit Randomness unit OU1-v1 � 25

  26. Functional units PROTEAN Private-storage unit Shu ffl er unit State unit Execution unit OU1-v2 Oracle unit Encryption unit Randomness unit OU2-v1 OU1-v1 � 26

  27. Functional units PROTEAN Private-storage unit State unit Execution unit Shu ffl er unit Oracle unit Randomness unit Encryption unit Richer set of functionalities Permissionless evolution � 27

  28. Functional units • Expose a set of transactions ❖ Building blocks for decentralized applications ❖ Well-defined semantics and API ❖ Executed atomically by the unit • Provide cryptographic proof of successful execution � 28

  29. Building applications Bet Reveal State unit Oracle unit Private-storage unit Private-storage unit Execution unit State unit � 29

  30. Building applications Bet Reveal Private-storage unit State unit Oracle unit Private-storage unit Execution unit State unit oracle_query get_secret store_secret Workflow execute update_state update_state � 30

  31. Executing applications Private-storage unit Execution unit Reveal Oracle unit State unit � 31

  32. Executing applications Private-storage unit Compiler unit Reveal Oracle unit Execution unit State unit � 32

  33. Executing applications Private-storage unit Compiler unit Oracle unit Execution unit State unit � 33

  34. Executing applications Private-storage unit Compiler unit Execution plan Oracle unit Execution unit State unit � 34

  35. Executing applications Private-storage unit Compiler unit Oracle unit Execution unit State unit � 35

  36. Executing applications Private-storage unit Compiler unit Oracle unit Execution unit State unit � 36

  37. Executing applications Private-storage unit Compiler unit Oracle unit Execution unit State unit � 37

  38. Executing applications Private-storage unit Compiler unit Oracle unit Execution unit State unit � 38

  39. Executing applications Private-storage unit Compiler unit Inadvertently or maliciously deviate Oracle unit Execution unit from the execution plan State unit � 39

  40. Executing applications Private-storage unit Compiler unit Inadvertently or maliciously deviate from the execution plan Oracle unit Execution unit Collective witnessing • Collectively sign the execution plan State unit • Check signatures from parents are present � 40

  41. Summary • PROTEAN: A modular architecture for building general- purpose decentralized applications • Functional separation of nodes into special-purpose modules • Enables applications currently insecure/impossible in smart contracts • Permissionless evolution: easy/modular addition of new functionality • Opportunity for node specialization for e ffi cient execution enis.alp@epfl.ch � 41

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend