Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Hyperledger Meetup Tokyo エンタープライズブロックチェーン基盤のひとつとしてのHyperledger Fabricの強みと課題

Hyperledger Meetup Tokyo エンタープライズブロックチェーン基盤のひとつとしてのHyperledger Fabricの強みと課題

2020/6/11 Hyperledger Meetup Tokyoでしゃべった内容
Hyperledger Fabricの個性、およびユースケースの向き不向きを代表的なエンタープライズブロックチェーン基盤Quorum、Cordaと比較するかたちで紹介
また、Fabricに入門する際にどのように学びを進めていくと効率がいいかについても説明

gakumura

June 11, 2020
Tweet

More Decks by gakumura

Other Decks in Technology

Transcript

  1. @gakumura @gakumura … Hyperledger Fabric @ SIer OS AIX D

    3 Copyright © 2020, Oracle and/or its affiliates
  2. Oracle Blockchain Platform Cloud Service Hyperledger Fabricをベースにエンタープライズ利用向けPaaSとして提供 • • •

    • • • • 4 Copyright © 2020 Oracle and/or its affiliates 東京DCからも サービス提供中
  3. エンタープライズ領域で(おそらく)No.1の利用実績 2019 Prod. • Hyperledger Fabric • Corda • MultiChain

    … • Quorum 8 Copyright © 2020, Oracle and/or its affiliates From: 2nd Global Enterprise Blockchain Study by Cambridge Univ. https://www.jbs.cam.ac.uk/fileadmin/user_upload/research/centres/alternative-finance/downloads/2019-ccaf-second-global-enterprise-blockchain-report.pdf
  4. a.k.a. 3 … • • • Fabric 10 Copyright ©

    2020, Oracle and/or its affiliates Quorum Hyperledger Fabric Corda
  5. Quorum • Quorum Node Public State Private State • Ethereum

    Privacy Manager Tessera/Constellation … Private Transaction 11 Copyright © 2020, Oracle and/or its affiliates Quorum Node Privacy Mgr L Quorum Node Privacy Mgr L
  6. Corda • Node • Identity Manager Notary Network Map Service

    Root CA Trust Root … 12 Copyright © 2020, Oracle and/or its affiliates Node L Network Map Notary Identity Mgr Trust Root Node L
  7. Org X Org Y Hyperledger Fabric • Peer Orderer CA

    Certificate Authority • Organization Organization 13 Copyright © 2020, Oracle and/or its affiliates Peer L Ord erer Ord erer CA Peer L CA Peer L Peer L
  8. 1 • DLT • Quorum Fabric Corda 14 Copyright ©

    2020, Oracle and/or its affiliates A B D C A B D C
  9. Quorum Private Transaction • Private Transaction • Public State Private

    State • Private Transaction Private State 15 Copyright © 2020, Oracle and/or its affiliates App 1 Tx1; Private for A, B Node A Node B Node C Public Private Tx2; Public 2 2 1 2 Public Private 1 2 Public Private 2 1 2
  10. Hyperledger Fabric Channel • Fabric Channel • Channel Organization •

    Channel Channel • Channel 16 Copyright © 2020, Oracle and/or its affiliates OrgA Peer OrgB Peer OrgC Peer CH1 L1 L2 L1 L1 L2 L3 L3 CH2 CH3 Org A Org B Org C
  11. Hyperledger Fabric Private Data • Channel Private Data • Private

    Data • Organization …Private Data Collection • Private Data Purge 17 Copyright © 2020, Oracle and/or its affiliates OrgA Peer OrgB Peer OrgC Peer Channel 1 L1 PD1 L1 L1 Private Data Collection 1 PD1
  12. Corda … Need to know • • Input Tx Validating

    Notary 18 Copyright © 2020, Oracle and/or its affiliates From https://docs.corda.net/docs/corda-os/4.4/key-concepts-ledger.html
  13. … Quorum Corda • Quorum Private Transaction State • Private

    Tx Private State • Enterprise Ethereum Hyperledger Besu Private State Fabric • Corda Tx • • • Validating Notary • 19 Copyright © 2020, Oracle and/or its affiliates
  14. Fabric • • Channel Private Data • • Endorsement Policy

    • Tx • Org n 1 1 Channel Private Data Collection Channel Private Data Collection m m=n(n-1)/2 • n 10 m 45 n 50 m=1225 n 100 m=4950 • Channel Private Data Collection • 20 Copyright © 2020, Oracle and/or its affiliates
  15. State “Asset” : { “id”:”1234567”, “color”:”red”, “size”:12, “price”:200, “owner”:”Bob” }

    2 • State • Bob 50 2 Alice • State • State DB 21 Copyright © 2020, Oracle and/or its affiliates “Asset” : { “id”:”1234567”, “color”:”red”, “size”:12, “price”:200, “owner”:”Bob” } “Asset” : { “id”:”1234567”, “color”:”red”, “size”:12, “price”:200, “owner”:”Bob” }
  16. • Quorum • Key Value … • RDB State Indexing

    • State • Corda • State Vault RDB Asset OnLedger CodApp • RDB • Corda OS H2DB Postgress • Corda Enterprise SQL Server/Azure SQL Oracle DB 22 Copyright © 2020, Oracle and/or its affiliates
  17. Fabric Fabric • State DB LevelDB CouchDB • CouchDB JSON

    Value JSON JSON • Phantom Read Phantom Read OK • CouchDB • RDB … • • LevelDB iState https://github.com/motoreq/istate - Phantom Read NG 23 Copyright © 2020, Oracle and/or its affiliates
  18. 3 • • • • • Tx State 24 Copyright

    © 2020, Oracle and/or its affiliates B A Fetch B A Fetch
  19. Corda Quorum • Corda RDB • • HA RDB •

    RDB • Quorum Private Tx • Private Tx Private State Corda • Public State 26 Copyright © 2020, Oracle and/or its affiliates
  20. Fabric DLT • Peer Channel && Private Data Collection •

    Org OK Peer Channel&& Chaincode Endorsement • DLT • HW Peer State DB Org Org Peer Private Data fetch Fabric 27 Copyright © 2020, Oracle and/or its affiliates
  21. 4 • • • Fabric Endorsement Policy • Peer Channel

    Chaincode • Endorsement→Validation TAT Key • • Key 28 Copyright © 2020, Oracle and/or its affiliates
  22. Hyperledger Fabric • Fabric • • PET Privacy Enhancement Technology

    • 2.X • Blockchain Verifier • Interoperability • Hyperledger Cactus • FabToken • • 29 Copyright © 2020, Oracle and/or its affiliates
  23. • Quorum • Ethereum • Solidity • Ethereum • Corda

    • • CordApp State Contract Flow - • Fabric • - Chaincode • • 33 Copyright © 2020, Oracle and/or its affiliates
  24. Hyperledger Fabric • Fabric • BaaS Fabric Docker • Fabric

    • • • BaaS 34 Copyright © 2020, Oracle and/or its affiliates
  25. • Peer Orderer CA Chaincode • Fabric • Organization Organization

    Channel • Channel • Channel Organization Channel Peer Channel Chaincode • Chaincode • • Endorsement Ordering Validation • Endorsement Policy • Private Data 35 Copyright © 2020, Oracle and/or its affiliates
  26. • Marble Chaincode • BaaS • HLF - HLF Go

    Java Node.js Version • Node.js Chaincode Go • Chaincode • Organization Peer Channel • Chaincode • • Channel • VM 36 Copyright © 2020, Oracle and/or its affiliates
  27. • … HLFv2.x • IBM Developer JP Hyperledger Fabric 1

    6 https://developer.ibm.com/jp/tutorials/cl-hyperledger-fabric-basic-1/ • OCHaCafe #4 Hyperledger Fabric https://speakerdeck.com/gakumura/ochacafe-number-4-hyperledger-fabric • • https://readthedocs.org/projects/hyperledger-fabric/ • Node.js Chaincode API https://hyperledger.github.io/fabric-chaincode-node/ …Java Go Chaincode API 37 Copyright © 2020, Oracle and/or its affiliates