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

Hyperledger Fabric in-depth introduction

Hyperledger Fabric in-depth introduction

In this presentation Daniel Szegö presents an in-depth introduction of Hyperledger Fabric, including but not limited to the:
- Architectural elements of Hyperledger Fabric
- Fabric consensus mechanism
- Native chaincode programming models
- Hyperledger Composer.

Azure Blockchain Zurich

August 29, 2019
Tweet

More Decks by Azure Blockchain Zurich

Other Decks in Technology

Transcript

  1. DANIEL SZEGO Hyperledger Fabric: an in-depth introduction Azure Blockchain Zürich

    Hyperledger Fabric an in-depth introduction Daniel Szego DLT Architect https://www.linkedin.com/in/daniel-szego/
  2. DANIEL SZEGO Hyperledger Fabric: an in-depth introduction Azure Blockchain Zürich

    University Collaboration Several universities want to set up an educational consortium to provide a better way for the students for university exchange and to acredite courses and degrees overall. The system is based on several cross university workflows and business processes. Use Case link: https://github.com/Azure-Samples/blockchain/tree/master/blockchain-workbench/application-and-smart-contract-samples/simple-marketplace Consortium scenario NO: - no cryptocurrency - no public tokens - no public ledger BUT: - identity management - permissions - system integration
  3. DANIEL SZEGO Hyperledger Fabric: an in-depth introduction Azure Blockchain Zürich

    Requirements 1 Semi trusted blockchain setup: the consortium members do not fully trust each other, but they know each other, implying a crypto-economically less secure but faster consensus mechanisms. 2 Privacy preserving is usually on a need to know basis. Identity, including the integration possibility of third party identity providers is important. 3 There is no cryptocurrency and no public crypto asset in the system. Hence regulation should be able to realize in a more compliant way, like KYC, AML, GDPR. 4 Enterprise system integration and compliance with the existing systems, like infrastructure, existing databases, ledgers, identity management ... Consortium and Enterprise Blockchain
  4. Daniel Szego Hyperledger Fabric: an in-depth introduction Azure Blockchain Zürich

    Hyperledger Fabric development scenarios Fabric core Architecture Core Fabric infrastructure Azure Blockchain templates Chaincode development Client side SDK-s Blockchain Business Network Generated UI Explorer Caliper Identity Integration Generate Rest web service DevOps Architecture, Infrastructure Development Extensions, Integration Docker or Kubernetes Blockchain as a Service Cello
  5. DANIEL SZEGO Hyperledger Fabric: an in-depth introduction Azure Blockchain Zürich

    Greenhouse The Hyperledger project is an incubator umbrella project from the Linux Foundation, containing only consortium distributed ledger technologies: full scale platforms and generic tools for several platforms QUICK TIP Try right clicking on a photo and using "Replace Image" to show your own photo. Global Azure Bootcamp Zürich The Hyperledger Project link: https://www.hyperledger.org/
  6. DANIEL SZEGO Hyperledger Fabric: an in-depth introduction Azure Blockchain Zürich

    Architecture Hyperledger Fabric is a general consortium blockchain platform. The core architecture contains a splitted consensus mechanism, chains for privacy, membership service provider and certificate authorities for identities. 1. Comitter peer: commits transactions,maintains ledger and state. 2. Endorsing peer: receives a transaction proposal for endorsement, responds granting or denying endorsement. 3. Ordering peer: approves the inclusion of transaction blocks into the ledger and communicates with peer and endorsing peer nodes. Fabric Overview Link: https://www.hyperledger.org/projects/fabric
  7. DANIEL SZEGO Hyperledger Fabric: an in-depth introduction Azure Blockchain Zürich

    Architecture Chaincode: smart contract in Hyperledger Fabric implemented in Go, NodeJS or Java (with some hacking solidity is also possible) MSP - Membership service provider: assigning identities to actors, nodes and transactions with the help of certificate authority ervices. Channel: independent blockchains from the ledger storage point of view - privacy and scalability Fabric Overview Link: https://www.hyperledger.org/projects/fabric
  8. DANIEL SZEGO Hyperledger Fabric: an in-depth introduction Azure Blockchain Zürich

    . Blockchain and Consensus Link: https://cryptoslate.com/blockchain-consensus-algorithms/
  9. DANIEL SZEGO Hyperledger Fabric: an in-depth introduction Azure Blockchain Zürich

    01. Transaction Proposal . Fabric Consensus Link: https://www.hyperledger.org/projects/fabric
  10. DANIEL SZEGO Hyperledger Fabric: an in-depth introduction Azure Blockchain Zürich

    02. Transaction Simulation . Fabric Consensus Link: https://www.hyperledger.org/projects/fabric
  11. DANIEL SZEGO Hyperledger Fabric: an in-depth introduction Azure Blockchain Zürich

    03. Ordering . Fabric Consensus Link: https://www.hyperledger.org/projects/fabric
  12. DANIEL SZEGO Hyperledger Fabric: an in-depth introduction Azure Blockchain Zürich

    04. To committing Fabric Consensus Link: https://www.hyperledger.org/projects/fabric
  13. DANIEL SZEGO Hyperledger Fabric: an in-depth introduction Azure Blockchain Zürich

    05. Committing . Fabric Consensus Link: https://www.hyperledger.org/projects/fabric
  14. DANIEL SZEGO Hyperledger Fabric: an in-depth introduction Azure Blockchain Zürich

    06. Notification . Fabric Consensus Link: https://www.hyperledger.org/projects/fabric
  15. DANIEL SZEGO Hyperledger Fabric: an in-depth introduction Azure Blockchain Zürich

    Core Infrastructure native installation Based on docker and shell scripts. Different orchestration scenarios are supported. Requires Docker and DevOps competence to install and configure. Fabric samples is a good starting point. Fabric Infrastructure Link: https://github.com/hyperledger/fabric-samples
  16. DANIEL SZEGO Hyperledger Fabric: an in-depth introduction Azure Blockchain Zürich

    Azure Blockchain as a Service Delivering Azure Fabric infrastructure by clicking it together. Several templates: - Single / multi virtual machine environments - Developer / enterprise setups Possible integration with further Azure stack elements, like Azure Blockchain Workbench, Azure Blockchain Development Kit ... Fabric Infrastructure Link: https://docs.microsoft.com/en-us/azure/blockchain/templates/hyperledger-fabric-consortium-blockchain
  17. DANIEL SZEGO Hyperledger Fabric: an in-depth introduction Azure Blockchain Zürich

    Smart contract Chaincode: - Go - Java - NodeJS Basic functions: - Init - Invoke - Ledger operators Client SDK: - Java - NodeJS Fabric Development Link: https://godoc.org/github.com/hyperledger/fabric/core/chaincode/shim
  18. DANIEL SZEGO Hyperledger Fabric: an in-depth introduction Azure Blockchain Zürich

    Composer Composer is development tool for building higher level business applications, called Blockchain Business Networks. The modelling focuses on higher level objects of the network with the helpof domain specific languages: - Assets - Participants - Transaction - Permissions - Concepts - Events - Queries Fabric Development Link: https://hyperledger.github.io/composer/latest/
  19. DANIEL SZEGO Hyperledger Fabric: an in-depth introduction Azure Blockchain Zürich

    Explorer is blockchain explorer focusing on the special requirements of the Hyperledger Fabric infrastructure. It can be configured to work with certain channels specific accounts having the possibility to see certain transactions Hyperledger Explorer Link: https://www.hyperledger.org/projects/explorer
  20. DANIEL SZEGO Hyperledger Fabric: an in-depth introduction Azure Blockchain Zürich

    Cello is an infrastructure configuration and deployment tool. The services can be reached and configured with the help of a graphical user interface. Hyperledger Cello Link: https://www.hyperledger.org/projects/cello
  21. DANIEL SZEGO Hyperledger Fabric: an in-depth introduction Azure Blockchain Zürich

    Caliper is a Blockchain benchmarking and performance evaluation tool. KPI measurements, like TPS (Transaction per second), transaction latency, resource utilization ... Hyperledger Caliper Link: https://www.hyperledger.org/projects/caliper
  22. DANIEL SZEGO Hyperledger Fabric: an in-depth introduction Azure Blockchain Zürich

    Thank You Hyperledger Fabric link: https://www.linkedin.com/in/daniel-szego/ Q&A