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

Recommend


More recommend