Académique Documents
Professionnel Documents
Culture Documents
> • What
• How
• When
2
Reference Architecture
IDENTITY
APIs, Events, SDKs Pluggable, Membership, Privacy
and Auditability of transactions.
SMART
IDENTITY LEDGER TRANSACTIONS
CONTRACT LEDGER | TRANSACTIONS
Distributed transactional ledger
Membership Consensus Services Chain-code
whose state is updated by
Services Services consensus of stakeholders
Distributed Ordering AP
Secure
Enrollment
Ledger Service Container SMART-CONTRACT
Attributes “Programmable Ledger”, provide
Network Endorsement Secure ability to run business logic against
Protocol Validation Registry the blockchain (aka smart contract)
Security and Crypto Services
APIs, Events, SDKs
Distributed Ledger Technology Services Multi-language native SDKs allow
developers to write DLT apps
3
Orderer
4
Peer
5
Ledger
Replaceable
Transaction Log
State Database
tx array
Latest written key/values for
CouchDB (external option)
TX use in transaction simulation supports keyed queries,
block
Block index
TX
Reads[] blockHash à SegNo + offset
Writes[] blockNum à SegNo + offset
txId à SegNo + offset
7
Membership Service Provider Endorser
Endorser End-user
Bob
Channel
• An abstraction of identity provider Orderer Client
– <MSP.id, MSP.sign, MSP.verify, MSP.validateid, MSP.admin>
– govern application, endorser and orderer identities Endorser
IBM HSM
(card) 9
Fabric-CA
Membership
Services
Provider • Default implementation of the
Implements Membership Services Provider
Interface.
ü
• Issues Ecerts (long-term
identity) and Tcerts (disposable
certificate)
Ecert
• Supports clustering for HA
Tcert Fabric-CA characteristics
• Supports LDAP for user
Root authentication
Certificate Authority
HSM
• Supports HSM
LDAP
cluster DB Authenticate
10
Enroll ID, secret
Overview of Application Flow
Blockchain
developer develops
Application
D
Accesses • Developers create application
SDK
and smart contracts (chaincodes)
develops Invokes/queries
– Chaincodes are deployed on the
emits
network and control the state of the
Smart ledger
Contract
Peer 11
Contents
• What
> • How
• When
12
Bootstrapping a Network
13
Two-Member Network
Membership Membership
Service Provider Service Provider
Peer
Peer Peer
Ordering
Orderer Service Orderer
(transaction timestamping)
Peer
Profiles:
Peer
TwoMembers:
Orderer: Peer
<<: *OrdererDefaults
Organizations:
- *Member1
- *Member2
Application:
<<: *ApplicationDefaults
Organizations:
- *Member1
- *Member2 14
Setting up Channels, Policies, and Chaincodes
15
Consensus Redefined
16
Transaction Endorsement
17
Two-Member Network with A Channel
Peer
Peer Peer
Channel
Channel
App Ordering
Orderer Service Orderer App
(transaction timestamping)
Peer
Peer
Peer
with Multichannel
Peer
Peer
Peer Peer
Channel
Channel
App Ordering
Orderer Service Orderer App
(transaction timestamping)
Peer
Channel
Peer
Orderer
Peer
Peer
Peer Peer
Peer
Peer
19
Sample transaction: Step 1/7 – Propose transaction
E0 P3 P4 Endorsement policy:
A A • “E0, E1 and E2 must sign”
B D
• (P3, P4 are not part of the policy)
Key:
E2
Ap
O O Endorser Ledger
A
B
Ordering-Service Committer Application
Fabric Orderier
Key:
E2
Ap
O O Endorser Ledger
A
B
Ordering-Service Committer Application
Fabric Orderier
E1
S
Client
D
Application
K
A
B
O O
Key:
E2
Ap
O O Endorser Ledger
A
B
Ordering-Service Committer Application
Fabric Orderier
Key:
E2
Ap
O O Endorser Ledger
A
B
Ordering-Service Committer Application
Fabric Orderier
E1
S
Client
Application
D Different ordering algorithms available:
K
A
B
O O • SOLO (single node, development)
• Kafka (blocks map to topics)
• SBFT (tolerates faulty peers, future)
Key:
E2
Ap
O O Endorser Ledger
A
B
Ordering-Service Committer Application
Fabric Orderier
Key:
E2
Ap
O O Endorser Ledger
A
B
Ordering-Service Committer Application
Fabric Orderier
Fabric Orderier
> • What
• How
• When
27
Hyperledger Fabric Roadmap
V1 Alpha * V1 GA * V Next *
Hack Fest docker • Docker images • Hardening, usability, • SBFT
images • Tooling to bootstrap network serviceability, load, operability • Archive and pruning
• 60 participates tested • Fabric CA or bring your own and stress test • System Chaincode
• Basic v1 architecture in place • Java and Node SDKs • Java Chaincode extensions
• Add / Remove Peers • Ordering Services - Solo and • Chaincode ACL • Side DB for private data
• Channels Kafka • Chaincode packaging & LCl • Application crypto library
• Node SDK • Endorsement policy • Pluggable crypto • Dynamic service discovery
• Go Chaincode • Level DB and Couch DB • HSM support • REST wrapper
• Ordering Solo • Block dissemination across • Consumability of configuration • Python SDK
• Fabric CA peers via Gossip • Next gen bootstrap tool (config • Identity Mixer (Stretch)
update) • Tcerts
• Config transaction lifecycle
• Eventing security
• Cross Channel Query
• Peer management APIs
• Documentation
Connect-a-thon Connect-a-cloud
• 11 companies in Australia, • Dynamically connecting
Hungary, UK, US East Coast, US OEM hosted cloud
West Coast, Canada dynamically
environments to trade
added peers and traded assets
assets
Proposed Alpha detailed content:
* Dates for Alpha, Beta, and GA are determined by https://wiki.hyperledger.org/projects /pr opose dv1alphacontent
Hyperledger community and are currently proposals.
Where to Ask Questions
29
Useful Information To Get You Started
• Documentation actively getting updated as we progress: http://hyperledger-
fabric.readthedocs.io/en/latest/
• Support for Docker images for easy deployment for Hyperledger-fabric 1.0. Docker
images will be available for all major components to run a network (peers, solo orderer, CLI,
CA, Kafka, CouchDB). A “Getting started” section will be available in the Hyperledger-fabric
publications. Getting started will help a developer or user to start the network, run a simple
application , and learn the basics of running fabric 1.0. See: http://hyperledger-
fabric.readthedocs.io/en/latest/