hyperledger fabric a distributed operating system for
play

Hyperledger Fabric: A Distributed Operating System for Permissioned - PowerPoint PPT Presentation

Hyperledger Fabric: A Distributed Operating System for Permissioned Blockchains Blockchain Security Seminar Pirmin Schmid Pirmin Schmid | | 11.05.2018 1 Seminar presentation and discussion of this paper Pirmin Schmid | | 11.05.2018 2


  1. Hyperledger Fabric: A Distributed Operating System for Permissioned Blockchains Blockchain Security Seminar Pirmin Schmid Pirmin Schmid | | 11.05.2018 1

  2. Seminar presentation and discussion of this paper Pirmin Schmid | | 11.05.2018 2

  3. Bitcoin-like blockchains § Distributed public anonymous ledger § Consensus by longest chain § PoW / PoS § Fixed system for each variant § Applications picture from pixabay (CC0) Pirmin Schmid | | 11.05.2018 3

  4. Fabric § Open-source Framework to build blockchains § Modular for all aspects of the system § Permissioned § No currency § Go, Java, Node.js, … § Example use cases § New very crucial insights picture from pixabay (CC0) Pirmin Schmid | | 11.05.2018 4

  5. Fabric Components Policies Membership service provider (MSP) Chaincode Peer Docker Endorser: execute Committer: validate Ledger: transaction manager (PTM) KVS: Database Pirmin Schmid | | 11.05.2018 5

  6. Fabric Components Policies Membership service provider (MSP) Chaincode Client Peer Client Docker Endorser: execute Client Client Committer: validate Client Client Ledger: transaction manager (PTM) KVS: Database Client Client Gossip Order service Pirmin Schmid | | 11.05.2018 6

  7. Fabric Components Policies Membership service provider (MSP) Chaincode Client Client Client Client Client Client Client Client Gossip Order service Pirmin Schmid | | 11.05.2018 7

  8. Fabric Building blocks § Store: CouchDB / LevelDB § Chaincode: Go, Java, Node.js, … § Docker containers § gRPC § Gossip: push/pull methods § Orderer § Apache Kafka (ZooKeeper) § Byzantine Fault Tolerant (BFT) orderer § Solo (centralized) for development Pirmin Schmid | | 11.05.2018 8

  9. Traditional Architecture Validate § Order by longest chain or BFT § Execute smart contracts on all peers § State updates on all peers → Ledger Pirmin Schmid | | 11.05.2018 9

  10. Traditional Architecture Validate Problem § Sequential execution of all contracts on all peers → bottleneck Pirmin Schmid | | 11.05.2018 10

  11. Traditional Architecture Validate Problems § Sequential execution of all contracts on all peers → bottleneck § Programs MUST be deterministic → NO general purpose languages Pirmin Schmid | | 11.05.2018 11

  12. Deterministic? Pirmin Schmid | | 11.05.2018 12

  13. Deterministic? Pirmin Schmid | | 11.05.2018 13

  14. Deterministic? Pirmin Schmid | | 11.05.2018 14

  15. Deterministic? Pirmin Schmid | | 11.05.2018 15

  16. Traditional Architecture Validate Problems § Sequential execution of all contracts on all peers → bottleneck § Programs MUST be deterministic → NO general purpose languages Pirmin Schmid | | 11.05.2018 16

  17. Fabric Architecture Key insight Pirmin Schmid | | 11.05.2018 17

  18. Fabric Architecture State § Versioned key-value store § Maintained on all peers Pirmin Schmid | | 11.05.2018 18

  19. Fabric Architecture Execute § Only some peers are executing the chaincode (simulation) § Use current local state § Create read-set and write-set for access of versioned key-value store § Create signed “endorsement” Pirmin Schmid | | 11.05.2018 19

  20. Fabric Architecture Key insight State must be replicated on all peers, not execution Sequential execution in O(n) instead of O(N) n << N N = computing steps n = size of read and write sets Execute § Only some peers are executing the chaincode (simulation) § Use current local state § Create read-set and write-set for access of versioned key-value store § Create signed “endorsement” Pirmin Schmid | | 11.05.2018 20

  21. Fabric Architecture Order § Needs enough endorsements with identical read-/write-sets § Uses Apache Kafka, BFT or other methods § Peer gossip Pirmin Schmid | | 11.05.2018 21

  22. Fabric Architecture Validate § Parallel § All peers validate correctness of transaction based on policy § NO execution of the chaincode Pirmin Schmid | | 11.05.2018 22

  23. Fabric Architecture Update state § sequential § Peer transaction manager (PTM) § Checks again versions of the keys in readset mismatch → invalidate transaction Pirmin Schmid | | 11.05.2018 23

  24. Transaction flow Pirmin Schmid | | 11.05.2018 24

  25. Fabric Components Policies Membership service provider (MSP) Chaincode Client Client Client Client Client Client Client Client Gossip Order service Pirmin Schmid | | 11.05.2018 25

  26. Policy § Number of endorsements § Which endorser shall be used § Execution limitations § Validation rules § Parallel chaincode execution § Confidential chaincode Pirmin Schmid | | 11.05.2018 26

  27. Security § TLS for communication § Classic membership service § Signatures § Docker for sandboxing § Complex system § Dependency on many 3 rd party codes Pirmin Schmid | | 11.05.2018 27

  28. Evaluation § Fabcoin: UTXO § VMs in one data center § 2.0 GHz 16 vCPU VMs running Ubuntu with 8 GiB RAM and SSDs § 1Gbps networking connections § Orderer: Kafka with 3 ZooKeeper nodes, 4 Kafka brokers, 3 Fabric orderers § 5 peers, all Fabcoin endorsers § TLS for all connections § Signatures with 256-bit ECDA scheme § Node clocks synchronized by NTP § MINT phase / SPEND phase Pirmin Schmid | | 11.05.2018 28

  29. Block size Pirmin Schmid | | 11.05.2018 29

  30. Scales with number of vCPUs Pirmin Schmid | | 11.05.2018 30

  31. Latency in detail Pirmin Schmid | | 11.05.2018 31

  32. Latency in detail Pirmin Schmid | | 11.05.2018 32

  33. Latency in detail Pirmin Schmid | | 11.05.2018 33

  34. Latency in detail Pirmin Schmid | | 11.05.2018 34

  35. Conclusion Pirmin Schmid | | 11.05.2018 35

  36. Reserve slides for questions Pirmin Schmid | | 11.05.2018 36

  37. Blockchain use cases § Food-safety network § Global shipping trade § Enterprise asset management § Foreign exchange netting § Global cross-currency payments § One size does not fit all Pirmin Schmid | | 11.05.2018 37

  38. Modules: allow step-wise improvements § Docker: container but not actually sandbox Google just presented gVisor these days → improved security § Orderer: Currently weak part of the system → improved distributed BFT based order is being built § Execution / Validation: Can be extended to various policies and advancements in research § Storage: Improved DBs / KVS if available Pirmin Schmid | | 11.05.2018 38

  39. Google gVisor: available for docker picture from github.com/google/gvisor Pirmin Schmid | | 11.05.2018 39

  40. Apache Kafka: a distributed streaming platform picture from kafka.apache.org Pirmin Schmid | | 11.05.2018 40

  41. Number of peers Pirmin Schmid | | 11.05.2018 41

  42. Distance between data centers § 100 peers across 5 data centers Pirmin Schmid | | 11.05.2018 42

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