Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Hyperledger Fabric 1.0
A technical exploration
ThomasMarckx– theledger.
Part of theCronosGroup
ThomasMarckx
thomas.marckx@theledger.be
Blockchain Architect
@ThomasMarckx
http://theledger.be
Let’s start your blockchain adventure
TRAIN • ADVICE • PROTOTYPE • BUILD
@wearetheledger
http://Theledger.be
COMMUNITY
TEC...
Think
Is it a Use-case?
Stakeholders?
Requirements
Workshop Collaboration
Digital token
Smart contract
sandbox
Integration...
Cape up!
‘Recape’ Blockchain
Hyperledger Project
Fabric 0.6
Q&A
Fabric 1.0
How to start?
‘Recape’ Blockchain
PEER
PEER
PEER
PEER PEER
PEER
PEER PEER
PEER PEER
Blockchain 2.0Blockchain 1.0
OPEN Public Blockchains Permissioned enterprise Blockchains
Two types of blockchains
Technologies everywhere
Hyperledger - Fabric
Ethereum
Multichain
Bigchaindb
Hyperledger - Corda
Hyperledger Project
Linux foundation presents… Https://hyperledger.org
The Hyperledger Project is a collaborative effort created to advance
bl...
Hyperledger Partners
Hyperledger Blockchain Frameworks
Fabric
Iroha
Sawtooth lake
Corda
IBM codebase
Pluggable consensus
Mostadvanced
Japanese
...
Hyperledger Fabric 0.6
Fabric components
PEER
Membership
Services
Validating peers
Ledger of tx
World state
Membership services
Credentials & cer...
Permissioned through Membership services
Membership
Services
Everyone!
user, peer, validator, auditor
Public key infrastru...
Membership services – Certificates Structure
Membership
Services
Architecture 0.6
Ecerts
API
Backend api
(nodejs)
PEER
PEER
PEER
PEER
…
SMART Contract
Membership
Services
User
SPoF
Breakdown
Membership
Services
API
Backend api
User
PEER
keys
deploy
Invoke
Query
Register
enroll
Cert’s
Blockchain / ledge...
Smart contracts and … Go!
AKA Chaincode
In Golang & Java
All the same structure
Init, Invoke, query
Key-value Data storage...
Invoke
Vs.
Query
Privacy through encryption
Rick
Jessica
Membership
Services PEER
PEER
PEER
PEER Rick
Rick
&
jessica
Lessons learned
Security & scalability
Peer seperation
Endorser – deterministic transactions
1+ membership services provid...
Hyperledger Fabric 1.0
Breakdown … again
Membership
Services
API
Backend api
User
Endorser
keys
deploy
Invoke
Query
Register
enroll
Peer
Ordering...
Types of peers
Endorser
Peer
Peer
Commits TX – maintains ledger & world state
Endorsing Peer
Endorses & executes chaincode...
Bring your own Certificate authority
Membership
Services
Client
App
User
Certificate
Authorities
WALLET
Vision
Business Endorsement Policy
Not all peers validate transaction
Only (some) Endorsers
Consent network
broadcast netw...
30
MarchDecember2016/17
Hack	Fest	docker images
• 60	participates	tested
• Basic	v1	architecture	in	place
• Add	/	Remove	P...
Fabric 1.0 – Architecture flow
Endorser
Peer
Orderer
Chaincode
E2
OO
O O
E1
P3
ClientAppsubmits a transaction proposal
for Smart Contract A to the Endors...
SDK
Endorser
Peer
Orderer
Chaincode
E2
OO
O O
E1
P3
A
D
A
B
A
B
E0
A
B
Client	
App
SDK
Ordering-Service
Endorsing peer E0 ...
Client	
App
The client requests further endorsement
from E1 and E2 as per the endorsement
policy
The client may decide to ...
Client	
App
4 (Transaction-Valid)
4 (Transaction-
Valid)
The Endorsing peers E1 and E2 sign the
result and send the endors...
Client	
App
The client formats the transaction and
sends it to the ordering-service nodes
for inclusion in the ledger
5 (O...
The ordering-service delivers the next
block in the ledger with the endorsed
transaction.
6 (Deliver)
6 (Deliver)
6 (Deliv...
The peers validate the block received
from the ordering-service and update
their ledger and worldstate
7 (Validate)
7 (Val...
Endorsement policy
The conditions on how a contract can be endorsed
Peers maintain a set of policies
POLICY
POLICY
POLICY
Multi-Channels
Sending & receiving messages via channels
One ordering service
Multiple ledgers
Ordering-Service
OO
O O
E1
...
Client	
App
• Peers E0 and E3 connect to the red channel for
chaincodes Y and Z
• Peers E1 and E2 connect to the blue chan...
Fabric 1.0 – Node JS SDK
• V1 still under development
• All code on https://github.com/hyperledger/
• This sample: fabric-sdk-node/blob/master/test...
Infrastructure
Run in the cloud
Ibm - Bluemix
On premise
Baas
Starter Developer network
High security
Separate VM’s
Docker (compose)
Kube...
Blockchain ops by THELEDGER.
Run anywhere…
Docker containers
Automatic deployment
Scalable future
Kubernetes, docker swarm...
Challenge the future …
http://blockchainbelgium.be
http://theledger.be @wearetheledger
Veldkant 33B
2550 - Kontich
info@th...
Technical Introduction to Hyperledger Fabric v1.0
Upcoming SlideShare
Loading in …5
×

Technical Introduction to Hyperledger Fabric v1.0

14,969 views

Published on

The improvements to be made in version 1.0 (General Availability), features to be introduced in next releases (after June 2017)

Published in: Technology
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Technical Introduction to Hyperledger Fabric v1.0

  1. 1. Hyperledger Fabric 1.0 A technical exploration ThomasMarckx– theledger. Part of theCronosGroup
  2. 2. ThomasMarckx thomas.marckx@theledger.be Blockchain Architect @ThomasMarckx http://theledger.be
  3. 3. Let’s start your blockchain adventure TRAIN • ADVICE • PROTOTYPE • BUILD @wearetheledger http://Theledger.be COMMUNITY TECHNOLOGY • SCHOOLS • BUSINESS
  4. 4. Think Is it a Use-case? Stakeholders? Requirements Workshop Collaboration Digital token Smart contract sandbox Integration Front-end Iterations Live Blockchain environment Next steps build Deliver
  5. 5. Cape up! ‘Recape’ Blockchain Hyperledger Project Fabric 0.6 Q&A Fabric 1.0 How to start?
  6. 6. ‘Recape’ Blockchain
  7. 7. PEER PEER PEER PEER PEER PEER PEER PEER PEER PEER Blockchain 2.0Blockchain 1.0
  8. 8. OPEN Public Blockchains Permissioned enterprise Blockchains Two types of blockchains
  9. 9. Technologies everywhere Hyperledger - Fabric Ethereum Multichain Bigchaindb Hyperledger - Corda
  10. 10. Hyperledger Project
  11. 11. Linux foundation presents… Https://hyperledger.org The Hyperledger Project is a collaborative effort created to advance blockchain technology by identifying and addressing important features for a cross-industry open standard for distributed ledgers that can transform the way business transactions are conducted globally. Modular frameworks Permissioned Enterprise Blockchain Open source 100+ members & partners Shared Ledger Blockchain 2.0 Permission Smart contract consensus
  12. 12. Hyperledger Partners
  13. 13. Hyperledger Blockchain Frameworks Fabric Iroha Sawtooth lake Corda IBM codebase Pluggable consensus Mostadvanced Japanese Mobile libraries & components Intel codebase Modularity PoET & quorum R3consortium Multiple ledgers Private P2P transactions
  14. 14. Hyperledger Fabric 0.6
  15. 15. Fabric components PEER Membership Services Validating peers Ledger of tx World state Membership services Credentials & certificates Users & peers Pluggable consensus None Practical Byzantine Fault tolerance Smart contract Go & java Key-value storage
  16. 16. Permissioned through Membership services Membership Services Everyone! user, peer, validator, auditor Public key infrastructure Certificate authority (CA) No external Registration Authority (RA) yet Certificates Single point of Failure! ECA, TCA, ACA & TLSCA
  17. 17. Membership services – Certificates Structure Membership Services
  18. 18. Architecture 0.6 Ecerts API Backend api (nodejs) PEER PEER PEER PEER … SMART Contract Membership Services User SPoF
  19. 19. Breakdown Membership Services API Backend api User PEER keys deploy Invoke Query Register enroll Cert’s Blockchain / ledger & World state
  20. 20. Smart contracts and … Go! AKA Chaincode In Golang & Java All the same structure Init, Invoke, query Key-value Data storage - ROcksDB Access Rights Attributes as caller data A-CERT
  21. 21. Invoke Vs. Query
  22. 22. Privacy through encryption Rick Jessica Membership Services PEER PEER PEER PEER Rick Rick & jessica
  23. 23. Lessons learned Security & scalability Peer seperation Endorser – deterministic transactions 1+ membership services providers Upgrade fabric & chaincode Committer – Consensus / ledger consistency Confidential transactions Orderer – transactions in batch
  24. 24. Hyperledger Fabric 1.0
  25. 25. Breakdown … again Membership Services API Backend api User Endorser keys deploy Invoke Query Register enroll Peer Ordering Service
  26. 26. Types of peers Endorser Peer Peer Commits TX – maintains ledger & world state Endorsing Peer Endorses & executes chaincode Ordering Peer Includes tx in blocks Communicates with other peers
  27. 27. Bring your own Certificate authority Membership Services Client App User Certificate Authorities WALLET
  28. 28. Vision Business Endorsement Policy Not all peers validate transaction Only (some) Endorsers Consent network broadcast network Orders transactions Doesn’t execute the smart contracts No SPoF’s Bring your own Membership services Privacy Support Confidentiality via Sub-ledgering Update possibilities Dynamically update fabric & chaincode Pluggable Data-storage & consensus mechanisms
  29. 29. 30 MarchDecember2016/17 Hack Fest docker images • 60 participates tested • Basic v1 architecture in place • Add / Remove Peers • Channels • Node SDK • Go Chaincode • Ordering Solo • Fabric CA V1 Alpha * • Docker images • Tooling to bootstrap network • Fabric CA or bring your own • Java and Node SDKs • Ordering Services - Solo and Kafka • Endorsement policy • Level DB and Couch DB • Block dissemination across peers via Gossip V1 GA * • Hardening, usability, serviceability, load, operability and stress test • Java Chaincode • Tcerts in SDK / Chaincode ACL • Chaincode packaging and lifecycle • Pluggable crypto • HSM support • Consumability of configuration • Next gen bootstrap tool (config update) • Config transaction lifecycle • Eventing security • Cross Channel Query • Peer management APIs • Documentation June Connect-a-thon • 11 companies in Australia, Hungary, UK, US East Coast, US West Coast, Canada dynamically added peers and traded assets Future V Next * • SBFT • Archive and pruning • System Chaincode extensions • Side DB for private data • Application crypto library • Dynamic service discovery • REST wrapper • Python SDK • Identity Mixer (Stretch) Connect-a-cloud • Dynamically connecting OEM hosted cloud environments to trade assets Proposed Alpha detailed content: https://wiki.hyperledger.org/projects/proposedv1alphacontent * Dates for Alpha, Beta, and GA are determined by Hyperledger community and are currently proposals. Time-Line
  30. 30. Fabric 1.0 – Architecture flow
  31. 31. Endorser Peer Orderer Chaincode E2 OO O O E1 P3 ClientAppsubmits a transaction proposal for Smart Contract A to the Endorsing peer E0 Note: • Endorsementpolicy: “E0, E1 andE2 must sign” • P3, is notpartofthe policy 1 (Propose) A D A B A B E0 A B Client App SDK Ordering-Service Architecture Flow - Propose
  32. 32. SDK Endorser Peer Orderer Chaincode E2 OO O O E1 P3 A D A B A B E0 A B Client App SDK Ordering-Service Endorsing peer E0 executes the tx and (optionally) “anchors it” with respect to the ledger state version numbers An “anchor” contains all data read and written by the contract that is to be confirmed by other endorsers 2.1 (Execute) 2.2 (Transaction- Valid, anchor) Architecture Flow - Execute
  33. 33. Client App The client requests further endorsement from E1 and E2 as per the endorsement policy The client may decide to suggest an anchor obtained from E0. to E1 and E2 3 (Submit, anchor) Endorser Peer Orderer Chaincode E2 OO O O E1 P3 A D A B A B E0 A B SDK Ordering-Service 3 (Submit, anchor) Architecture Flow - Submit
  34. 34. Client App 4 (Transaction-Valid) 4 (Transaction- Valid) The Endorsing peers E1 and E2 sign the result and send the endorsement to the client Endorser Peer Orderer Chaincode E2 OO O O E1 P3 A D A B A B E0 A B SDK Ordering-Service Architecture Flow - Endorse
  35. 35. Client App The client formats the transaction and sends it to the ordering-service nodes for inclusion in the ledger 5 (Order) Endorser Peer Orderer Chaincode E2 OO O O E1 P3 A D A B A B E0 A B SDK Ordering-Service Architecture Flow - Order
  36. 36. The ordering-service delivers the next block in the ledger with the endorsed transaction. 6 (Deliver) 6 (Deliver) 6 (Deliver) 6 (Deliver) Endorser Peer Orderer Chaincode E2 OO O O E1 P3 A D A B A B E0 A B Client App SDK Ordering-Service Architecture Flow - Deliver
  37. 37. The peers validate the block received from the ordering-service and update their ledger and worldstate 7 (Validate) 7 (Validate) 7 (Validate) 7 (Validate) Endorser Peer Orderer Chaincode E2 OO O O E1 P3 A D A B A B E0 A B Client App SDK Ordering-Service Architecture Flow - Validate
  38. 38. Endorsement policy The conditions on how a contract can be endorsed Peers maintain a set of policies POLICY POLICY POLICY
  39. 39. Multi-Channels Sending & receiving messages via channels One ordering service Multiple ledgers Ordering-Service OO O O E1 E0
  40. 40. Client App • Peers E0 and E3 connect to the red channel for chaincodes Y and Z • Peers E1 and E2 connect to the blue channel for chaincodes A and B Blockchain Network E0 Z Y E3 E2 E1 A B A B Y Z Client App SDK SDK Ordering-Service OO O O Endorser Orderer Chaincode Multi-Ledgering
  41. 41. Fabric 1.0 – Node JS SDK
  42. 42. • V1 still under development • All code on https://github.com/hyperledger/ • This sample: fabric-sdk-node/blob/master/test/unit/end-to-end.js • Complete program example to creating a blockchain fabric, deploy smart contract, submit transaction, query data in 300+ lines of code, using node.js SDK • Topology is not the emphasis of sample, so it’s relatively simple. Single chain, single channel on 2 peers with orderer. 4 Sample program
  43. 43. Infrastructure
  44. 44. Run in the cloud Ibm - Bluemix On premise Baas Starter Developer network High security Separate VM’s Docker (compose) Kubernetes
  45. 45. Blockchain ops by THELEDGER. Run anywhere… Docker containers Automatic deployment Scalable future Kubernetes, docker swarm Continuous integration of smart contracts Mobile, Web, … API’s, Business logic, integrations, Transformations,… RDBM, NOSQL, Ethereum, Hyperledger, Bigchaindb,… Docker, Virtual machines, Cloud Foundry, AZURE, IBM, Amazon, GOOGLE,…Monitoring Full STACK
  46. 46. Challenge the future … http://blockchainbelgium.be http://theledger.be @wearetheledger Veldkant 33B 2550 - Kontich info@theledger.be

×