@angelhbravo
Blockchain education series
Global collaboration
Open source
Hosted by spanning finance,
collaborative effort to
The Linux Foundation, banking, IoT, supply
advance cross-industry
fastest-growing project in chains, healthcare,
blockchain
LF history manufacturing,
technologies
technology and more.
2
Together with the global technology community, The Linux Foundation® is solving the
world’s hardest problems through open source and creating the largest shared
technology investment in history.
With 16 years experience providing governance structure, IT infrastructure and
ecosystem development, The Linux Foundation is the umbrella organization for more than
60 open source projects accelerating open technology development and commercial
adoption.
Some of the game-changing initiatives hosted by The Linux Foundation include:
3
Shared Ledger Database
Blockchain allows multiple different parties to securely
interact with the same universal source of truth
4
Hyperledger Goals
Where open source teams build diverse approaches
for business blockchain technology systems
5
Hyperledger Modular Umbrella Approach
Infrastructure
Technical, Legal,
Marketing, Organizational
Ecosystems that accelerate Open Container
open development and Cloud Foundry Node.js Hyperledger
Initiative
commercial adoption
Frameworks
Meaningfully differentiated approaches Hyperledger Hyperledger Hyperledger Hyperledger Hyperledger
to business blockchain frameworks Indy Fabric Iroha Sawtooth Burrow
developed by a growing community of
communities
Tools
Typically built for one framework, and through Hyperledger Hyperledger Hyperledger Hyperledger
common license and community of communities Quilt Composer Explorer Cello
approach, ported to other frameworks
6
Hyperledger Business Blockchain Frameworks
● Hyperledger Fabric: Intended as a foundation for developing applications or solutions with a
modular architecture, Hyperledger Fabric allows components, such as consensus and membership
services, to be plug-and-play.
● Hyperledger Iroha: A business blockchain framework designed to be simple and easy to
incorporate into infrastructural projects requiring distributed ledger technology.
● Hyperledger Sawtooth: A modular platform for building, deploying, and running distributed ledgers.
Hyperledger Sawtooth includes a novel consensus algorithm, Proof of Elapsed Time (PoET), which
targets large distributed validator populations with minimal resource consumption.
● Hyperledger Burrow: A permissionable smart contract machine. The first of its kind when released
in December, 2014, Burrow provides a modular blockchain client with a permissioned smart contract
interpreter built in part to the specification of the Ethereum Virtual Machine (EVM).
● Hyperledger Indy: Tools, libraries, and reusable components for providing digital identities rooted
on blockchains or other distributed ledgers so that they are interoperable across administrative
domains, applications, and any other silo.
7
Hyperledger Technical Scope
Out of Scope Custom Applications App Layer
8
Leadership
“
2016 was full of growth for the organization and
community. Not only did we exceed 100 members,
Hyperledger met significant development
milestones across our several Umbrella projects,
thanks to the community’s hard work. As 2016 was
Brian Behlendorf
Executive Director
9
Governing Board
Comprised of one voting representative from each
Premier Hyperledger member and attended by the Blythe Masters
TSC and Marketing Committee Chairs, the Governing Board Chair
Governing Board’s responsibilities include:
Digital Asset – CEO
• Approving a budget Digital Asset builds distributed, encrypted straight through
• Electing a Chair to preside over Governing processing tools to improve efficiency, security,
compliance and settlement speed.
Board meetings, authorize expenditures Blythe was previously a senior executive at J.P. Morgan,
approved by the budget and manage any day- which she left in 2014 after a career spanning 27 years,
following the successful sale of the bank’s physical
to-day operations commodities business which she built.
• Overseeing all Project business and marketing Named J.P. Morgan's head of Global Commodities in
2007, Blythe was responsible for building an integrated
matters physical and financial commodity business, including
market-making, structuring, risk management, financing
and warehousing capabilities across the full spectrum of
commodity asset classes.
10
Technical Steering
Committee
The TSC is the technical governance heart and Chris Ferris
TSC Chair
soul of the project. As new code bases get
contributed to the project they get reviewed and
IBM Distinguished Engineer and CTO Open
approved by this committee. Technology in the IBM Cloud organization
Committing members appoint and vote the TSC Involved in the architecture, design, & engineering of
distributed systems for most of his 36+ year career
Chair annually.
Actively engaged in open standards and open source
development since 1999
Meets weekly on Thursday, 10:00 AM to 11:30 AM ET
Overall technical responsibility for all of IBM’s strategic
All are invited to attend these calls and encouraged to join the TSC open technology initiatives, including OpenStack, Cloud
mailing list for more information: Foundry, Hyperledger Project, Open Container
Initiative, Cloud Native Computing Foundation,
https://lists.hyperledger.org/mailman/listinfo/hyperledger-tsc Mesos, Node.js, Docker, and more
11
Marketing Committee
12
Additional Community Working Groups
Working Groups are open to the public
Technical
Working Group, China Requirements Identity
Working Group Working Group
(TWG - China)
13
Hyperledger Momentum
14
Community and Ecosystem Engagement
Behlendorf is a regular keynoter and
Hyperledger exhibits at cross-industry events.
Hyperledger Member Summit and first annual
Hyperledger Global Forum.
15
Hyperledger Global Meetups
Hyperledger Meetups
16
Join Your Industry Peers
Hyperledger Premier Members Serving on the Governing Board.
17
Join Your Industry Peers
General Members
Broadridge Financial Eli Lilly & Company Korea Security Depository Pravici Swisscom AG
1WorldBlockchain
Solutions Embleema Koscom PwC Tai Yi Yun
8base
BTS Energy Blockchain Labs KrypC Corp R3 Tencent Cloud
8Common
CA Technologies Ernst & Young LedgerDomain RadarWin Cyber Thales
ABN Amro
Calastone Factom Foundation Libra Technology Thomson Reuters
Aetna
Capgemini Filament Loyyal Corporation Red Hat TMX Group Limited (TSX)
Agavon
Centra Tech FORFIRM Lykke Revelry Labs TradeIX Limited
AlphaPoint
Chain Connected ForgeRock MadHive Robert Bosch Turkcell
Altoros Americas LLC
ChainNova FZG360 Network Co. Ltd Majid Al Futtaim Samsung SDS United Traders
Aktsiaselts Eurostep Digital
China Merchants Bank GameCredits Medicalchain Sberbank VitalHub Corp.
AMIHAN Global
China Minsheng Bank Gem MetaX ScanTrust SA VMware
ANNE
CITIC Gibraltar Stock Exchange MIRACL UK Limited Schroder Investment Wipro
ANZ
Clause, Inc (GSX) Monax Industries Limited Management Limited Xinguodu
ArcBlock
Cloudsoft Corporation Global Blockchain MonetaGo SecureKey Technologies Technology CO., LTD
B9lab
Ltd. Technologies Moscow Exchange ~sedna GmbH YDreams Global
BBVA
CLS Bank International Global Peersafe Murphy & McGonigle, Sempre IT Yuphant Blockchain
Beijing Botuzongheng
CME Group Technology Corp. P.C. Shanghai Ginkoo Zhejiang Shuqin
Science & Technology
Cognition Foundry GM Financial National Stock Exchange Financial Technology Technology
Co., Ltd.
Coinplug Guardtime of India Shanghai Onechain Beijing Smart Card
Beijing RZXT Technology
CollectorIQ Inc. GXChain New H3C Technologies Information Technology Research
Development
Cuscal Limited Hangzhou Fuzamei NEX Optimisation Technology Institute
Beijing Xiaomi Mobile
Data Deposit Box Technology Nexiot Shenzhen Forms Syntron Ziggurat Technology
Software
Dealer Market Exchange Hashed Health Norbloc Information Shenzhen
Belink Technologies
Deloitte Consulting LLP Huawei NTT Data Sinolending Ltd
Bitmark
Deutsche Börse Group Hyperchain Technologies Oracle Smart Block Laboratory
BitSE
DLT Labs Information Builders Orange Magic Cube Smartchains
Blockchain
Easy Visible Supply Chain Inspur Patientory Smart Link Lab
Blockchain Training Alliance
Management IntellectEU Paxos Soramitsu
BLOCKO Inc.
EBPI BV Kaiser Permanente PetroBloq State Street
Bloq
Elementrem Korea Exchange PDX Technologies SWIFT 18
BNP Paribas
Get Involved!
Ensure the strength and longevity of a core
technology to your business.
Visit hyperledger.org/about/join
or email info@hyperledger.org.
Contents
20
© 2017 IBM Corporation
What is Hyperledger Fabric
• Hyperledger Fabric
– An implementation of blockchain technology that is intended as a foundation for developing
blockchain applications
– Key technical features:
• A shared ledger and smart contracts implemented as “chaincode”
• Privacy and permissioning through membership services
• Modular architecture and flexible hosting options
21
Hyperledger Composer/Fabric Business Application
https://hyperledger.github.io/composer
Hyperledger Composer
• A suite of high level application abstractions for business networks
• Emphasis on business-centric vocabulary for quick solution creation
• Reduce risk, and increase understanding and flexibility Blockchain
(Hyperledger Fabric)
• Features
– Model your business networks, test and expose via APIs
– Applications invoke transactions to interact with business network
– Integrate existing systems of record
Hyperledger Composer
HTML5
Angular 2, Iocnic,
Yeoman
Blockchain
(Hyperledger Fabric)
Node.js
23
23
Hyperledger Fabric V1 Architecture
Membership
Services
Provider
Peer
Client SDK
Application (HFC) Endorser
Committer
O O Ledger
Chaincode
A
B
O O
Events !
Ordering Service
24
Overview of Hyperledger Fabric v1 – Design Goals
25
Contents
26
© 2017 IBM Corporation
Recall key blockchain concepts
D
Blockchain Smart
Application Ledger
Developer Contract
f(abc); …
Traditional
Traditional Systems
Processing
Data Sources Events Integration
Platforms
O !
Blockchain
Operator
27
Hyperledger Fabric V1 - Deep Dive Topics
• Network Consensus
• Channels and Ordering Service
• Network setup
• Endorsement Policies
• Permissioned ledger access
• Pluggable world-state
28
Network Consensus
Nodes and roles
30
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)
O O
Key:
P
E2 Endorser Ledger
A
B
Ordering-Service Committing Peer Application
31
Sample transaction: Step 2/7 – Execute proposal
O O
Key:
P
E2 Endorser Ledger
A
B
Ordering-Service Committing Peer Application
32
Sample transaction: Step 3/7 – Proposal Response
O O
Key:
P
E2 Endorser Ledger
A
B
Ordering-Service Committing Peer Application
33
Sample transaction: Step 4/7 – Order Transaction
O O
Key:
P
E2 Endorser Ledger
A
B
Ordering-Service Committing Peer Application
(other applications) 34
Sample transaction: Step 5/7 – Deliver Transaction
O O
Key:
P
E2 Endorser Ledger
A
B
Ordering-Service Committing Peer Application
35
Sample transaction: Step 6/7 – Validate Transaction
E1
S
Client
Application
D Validated transactions are applied to
K
A
B
O O the world state and retained on the
* ledger
36
Sample transaction: Step 7/7 – Notify Transaction
O O
Key:
P
! E2 Endorser Ledger
A
B
Ordering-Service Committing Peer Application
37
Sample transaction: Summary
38
Channels and Ordering Service
Ordering Service
O O – SOLO
• Single node for development
– Kafka : Crash fault tolerant consensus
O O • 3 nodes minimum
Ordering-Service • Odd number of nodes recommended
40
Channels
Ordering-Service
• Ledgers can be included only on a specific set of participants
– Peers can participate in multiple channels
– Concurrent execution for performance and scalability
41
Single Channel Network
O O
E1 E3 Key:
Endorser Ledger
A Ordering-Service A
B B
Committing Peer Application
Hyperledger Fabric
Ordering Node
42
Multi Channel Network
P P
O O
Client
Application
S
D
K
E1 E3 Key:
Endorser Ledger
A Ordering-Service Y
B Z
Committing Peer Application
Hyperledger Fabric
Ordering Node
43
Network Setup
Bootstrapping the Network (1/6) – Configure & start
Ordering Service
O O
O O
Ordering-Service
Hyperledger Fabric
• An Ordering Service is configured and started for other network peers to use
49
Bootstrapping the Network (2/6) – Configure and Start
Peer Nodes
E0 E2
O O
O O
E1 Ordering-Service
P4
Hyperledger Fabric
• A peer is configured and started for each Endorser or Committer in the network
50
Bootstrapping the Network (3/6) – Install Chaincode
E0 E2
A
B O O A
B
O O
E1 Ordering-Service
P4
A
B
Hyperledger Fabric
51
Bootstrapping the Network (4/6) – Create Channels
E0 E2
A
B O O A
B
O O
E1 Ordering-Service
P4
A
B
Hyperledger Fabric
52
Bootstrapping the Network (5/6) – Join Channels
E0 E2
A
B O O A
B
O O
E1 Ordering-Service
P4
A
B
Hyperledger Fabric
• Peers that are permissioned can then join the channels they want to transact on
53
Bootstrapping the Network (6/6) – Instantiate Chaincode
E0 E2
A
B O O A
B
O O
E1 Ordering-Service
P4
A
B
Hyperledger Fabric
• Peers finally instantiate the Chaincode on the channels they want to transact on
Where MSP is the MSP ID required, and ROLE is either “member” or “admin”.
57
Endorsement Policy Examples
Examples of policies:
– OR('Org1.member', 'Org2.member')
• Request either one signature from a member of the Org1 MSP or (1 signature
from a member of the Org2 MSP and 1 signature from a member of the Org3
MSP)
invokes SC txn
(signed with Ecert)
Hyperledger Fabric
60
Transaction and Identity Privacy
• Permissioned Interactions
– Users sign with their Ecert
• Membership Services
– Abstract layer to credential providers
61
Membership Services Provider API
Fabric-CA
External
Orderer
CA API
• Default implementation calls Fabric-CA.
API
Implements
• Provides:
• User authentication
• User credential validation
• Signature generation and verification
• Optional credential issuance
64
Fabric-CA Details
Membership
Services
Fabric-CA
Provider API
Fabric-CA API • Default implementation of the
Membership Services Provider
Interface.
Ecert ✓
• Issues Ecerts (long-term identity
LDAP
cluster DB Authenticate
Enroll ID, secret 66
Fabric-CA
Certificate Authority
● Issues Ecerts and manages renewal and revocation
● Supports:
Clustering for HA characteristics
LDAP server for registration and enrollment
Hardware Security Modules
67
New User Registration and Enrollment
Operator
Client
Application
O
SDK Registration and Enrollment
Blockchain
• User enrolls and receives
User credentials
✓
3. Enroll(Enroll ID, secret) Client • Additional offline registration
SDK
returns Ecert
Application U and enrollment options available
wallet
Fabric-CA Ecert
68
Application Level Encryption
Blockchain
User Data Encryption
Client SDK signs with Ecert
Application Handled in the application domain.
Encrypt tx input tx
SDK
Multiple options for encrypting:
wallet • Transaction Data
• Chaincode*
Chaincode • World-State data
Decrypt tx input
Encrypt world-state data Chaincode optionally deployed with
cryptographic material, or receive it
in the transaction from the client
application using the transient data
block field (not stored on the ledger).
World state tx
encrypted data encrypted …
*Encryption of application
Blockchain chaincode requires additional
Ledger
development of system chaincode.
Peer 69
Pluggable World State
WorldState Database
Chaincode SHIM
CouchDB
LevelDB
71
Summary and Next Steps
72
Thank you
www.ibm.com/blockchain
developer.ibm.com/blockchain
www.hyperledger.org
© Copyright IBM Corporation 2017. All rights reserved. The information contained in these
materials is provided for informational purposes only, and is provided AS IS without
warranty of any kind, express or implied. Any statement of direction represents IBM's
current intent, is subject to change or withdrawal, and represents only goals and
objectives. IBM, the IBM logo, and other IBM products and services are trademarks of the
International Business Machines Corporation, in the United States, other countries or both.
Other company, product, or service names may be trademarks or service marks of others.
73
74