Overview of Hyperledger
Introduction to the Linux Foundation’s
Hyperledger Project
May 2016
@duncanjw
@duncanjw
21st Century Alchemy
Open Source
A seemingly magical process of transformation,
creation, or combination …
The Problem with Traditional Databases
@hyperledger
The Problem with Traditional Databases
@hyperledger
How Blockchain Solves This
@hyperledger
Existing Blockchains
Limited
Throughput
Slow
Transaction
Confirmations
No Privacy Anonymous
Processors
Designed for
Cryptocurrency
Poor
Governance
No Settlement
Finality
@hyperledger
Introducing Hyperledger
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.
@hyperledger
Project Goals
Create an enterprise grade, open source distributed ledger framework and code base, upon which
users can build and run robust, industry-specific applications, platforms and hardware systems to
support business transactions.
Create an open source, technical community to benefit the ecosystem of Hyperledger solution
providers and users, focused on blockchain and shared ledger use cases that will work across a variety
of industry solutions.
Promote participation of leading members of the ecosystem, including developers, service and solution
providers and end users.
Host the infrastructure for Hyperledger, establishing a neutral home for community infrastructure,
meetings, events and collaborative discussions and providing structure around the business and
technical governance of Hyperledger.
@hyperledger
Modular Framework
Requirements for blockchains vary greatly across different
use-cases, there will not be a one size fits all solution.
As such, Hyperledger is being designed to be highly
modular, with pluggable options to suit different needs.
@hyperledger
About The Linux Foundation
The Linux Foundation is the organization of choice for the world's top developers and companies to
build ecosystems that accelerate open technology development and commercial adoption. Together
with the worldwide open source community, it is solving the hardest technology problems by creating
the largest shared technology investment in history. Founded in 2000, The Linux Foundation today
provides tools, training and events to scale any open source project, which together deliver an
economic impact not achievable by any one company.
The Linux Foundation has 16 years experience of providing governance structure and infrastructure
to support the development of large scale, successful open source projects such as:
@linuxfoundation
Successful Launch
30
members
>$6m
funding
2,300
membership requests
5x
more requests than
next largest in LF
history
14
Additions
since
Wired - "Tech and Banking Giants Ditch Bitcoin for Their Own Blockchain"
Fortune - "IBM, J.P. Morgan, and Others Build a New Blockchain for Business"
Financial News - “Another day, another blockchain consortium update –
this time from the Hyperledger Project”
International Business Times -- “Linux Foundation's Hyperledger Project
trumpets code contributions from across 30 founder members”
@linuxfoundation
Project Team – Executive Director
Brian Behlendorf
Behlendorf was a primary developer of the Apache Web server,
the most popular web server software on the Internet, and a
founding member of the Apache Software Foundation. He has
also served on the board of the Mozilla Foundation since 2003
and the Electronic Frontier Foundation since 2013. He was the
founding CTO of CollabNet and CTO of the World Economic
Forum. Most recently, Behlendorf was a managing director at
Mithril Capital Management LLC, a global technology investment
firm.
@brianbehlendorf
Election Announcements
Blythe Masters
CEO
Board Chair: TSC Chair: General Member Board Representatives:
Chris Ferris
CTO Open Technology
Craig Young
CTO
Charles Cascarilla
CEO
@hyperledger
Hyperledger Governing Board
Kireeti
Reddy
Robert
Palatnick
Santiago
Suarez
Stefan
Teis
Todd
McDonald
Toshiya
Cho
Yoshinobu
Sawano
Blythe
Masters
Chad
Cascarilla
Chris
Ferris
Craig
Young
David
Treat
Dirk
Hohndel
Jerry
Cuomo
@hyperledger
Technical Steering Committee
Emmanuel
Viale
Mic
Bowman
Stanislav
Liberman
Pardha
Vishnumolakala
Dave
Voell
Stefan
Teis
Richard G.
Brown
Satoshi
Oshima
Hart
Montgomery
Chris
Ferris
Tamás
Blummer
@hyperledger
Project Scope
Shared
Ledger
Code execution environment
Ledger data structures
Modular consensus framework
Modular identity services
Network peers
Core APIs
API libraries and GUIs
Specialized extensions
Specialized consensus algos
Membership policies
Gateway
Operations dashboard
Custom Applications
Value
Added
Systems
App Layer
Out of scope
In-scope
@hyperledger
@hyperledger
6 Proposed Code contributions
@hyperledger
60+ Developers Attended First Hackathon
J.P. Morgan hosted the first Hyperledger hackathon, a
4 day event in Brooklyn, New York.
There were four focusses:
● Whitepaper working group
○ Evolved the whitepaper from IBM’s
● Requirements and Use Cases working group
○ Gathered financial and non-financial
requirements
● Chaincode development group
○ Created an example application in
Chaincode to emulates the exchange of
shares
● Integration working group
○ Focused on integrating the code proposals
from IBM, Digital Asset, and Blockstream
@hyperledger
Successfully Demonstrated Integrated Codebase
By the end of the hackathon, the integration team successfully
demonstrated a proof of concept showing different parts of three
code bases communicating:
● Transaction Validation from Blockstream’s Elements Project
● Implementing the UTXO model in IBM’s OBC Chaincode
● Client communication with Digital Asset’s HLP-Candidate
The simple proof of concept showed the ability to retrieve the chain
height and transactions from the blockchain, executing a transaction,
and listening to an account to be notified of balance changes.
@hyperledger
Two Projects Accepted into Incubation
hyperledger/fabric hyperledger/sawtooth-lake
“Proof of Elapsed Time”
Consensus Algorithm
More potential contributions being discussed
https://github.com/hyperledger
@hyperledger
Hyperledger Demo
Deploying and managing a blockchain
application with Cloudsoft AMP
May 2016
@duncanjw
Membership
Smart Contract Systems Management
Events
Consensus Network Wallet
Shared Ledger
contains the current world state of the ledger and
a Blockchain of transaction invocations
encapsulates business network transactions in
code. transaction invocations result in gets and
sets of ledger state
a collection of network data and processing peers forming
a Blockchain network. Responsible for maintaining a
consistently replicated ledger
manages identity and transaction certificates, as
well as other aspects of permissioned access
creates notifications of significant operations on the Blockchain
(e.g. a new block), as well as notifications related to smart
contracts. Does not include event distribution.
provides the ability to create, change and monitor Blockchain
components
securely manages a user’s security credentials
responsible for integrating Blockchain bi-directionally with external
systems. Not part of Blockchain, but used with it.
Systems Integration
Technical Terminology
Source: Anthony O’Dowd, STSM IBM Blockchain Labs
Validating
Node B
Validating Node C
Validating
Node A
Validating
Node D
Validating
Node E Blockchain Network A chain network that services
solutions built for a particular industry.
Shared Ledger: Records all transactions across business network
Consensus: Transaction validation & commitment
Non- Validating
Node
Chaincode
StateLogic
Chaincode
Chaincode
Chaincode
Proprietor(s) setup and define the
purpose of a chain network. They are the
stakeholders of a network.
Auditors(s): Individuals or organizations
with the permission to interrogate
transactions and the blockchain network.
Solution Users: end users typically initiate transactions
on a chain network through applications made available
by solutions providers.
Non-Validating node: Constructs
transactions and forwards them to
validating nodes. Peer nodes keep
a copy of all transaction records
so that solution providers can
query them locally.
Solution Provider: Organizations that
develop mobile/web applications for
solution users to access chain networks.,
they own either NV or Validating node.
Public transactions:
transactions with its
payload in the clear
Membership Service (PKI)
ECA TCA TLS-CAReg. A
Registration Authority: Assigns registration username & registration password pairs to network
participants. This username/password pair will be used to acquire enrollment certificate from ECA.
Enrollment CA (ECA): Issues enrollment certificates (ECert) to network participants that have already
registered with a membership service. ECerts are long term certificates used to identify individual entities
participating in one or more networks.
Transaction CA (TCA): Issues transaction certificates (TCerts) to ECert owners. An infinite number of
TCerts can be derived from each ECert. TCerts are used by network participants to send transactions.
TLS CA: Issues TLS certificates to systems that transmit messages in a chain network. TLS certificates are
used to secure the communication channel between systems.
Chaincode (Smart Contract): Application
logics stored and executed on the blockchain.
Chaincode State: Chaincodes access
internal state storage through state APIs.
States are created and updated by
transactions calling chaincode functions with
state accessing logic.
Confidential transactions:
transactions where its payload is
encrypted and is only visible to
stakeholders of this transaction
Confidential chaincode:
chaincodes that only pre-defined
subset of validators can view and
execute
The Blockchain Network
Source: Sharon Weed
Demo – Asset Management
The asset management chaincode (asset_management.go) is a very simple chaincode designed to
show how to exercise access control at the chaincode level as described in this document:
https://github.com/hyperledger/fabric/blob/master/docs/tech/application-ACL.md
The chaincode exposes the following functions:
init(user): Initialize the chaincode assigning to user the role of administrator;
assign(asset, user): Assigns the ownership of asset to user. Notice that, this function can be invoked
only by an administrator;
transfer(asset, user): Transfer the ownership of asset to user Notice that this function ca be invoked
only by the owner ofasset;
query(asset): Returns the identifier of the owner of asset
https:// https://github.com/hyperledger/fabric/tree/master/examples/chaincode/go/asset_management
Demo – Asset Management
In particular, we consider a scenario in which we have the following parties:
Alice is the chaincode deployer
Bob is the chaincode administrator
Charlie and Bob are asset owners
that interact in the following way:
Alice deploys and assigns the administrator role to Bob
Bob assigns the asset 'Picasso' to Charlie
Charlie transfers the ownership of 'Picasso' to Dave
Women of Algiers - $179m
https:// https://github.com/hyperledger/fabric/tree/master/examples/chaincode/go/asset_management
@duncanjw
Cloud Application Management Platform (AMP)
Runtime
Management
Blueprint Library
Cloud Foundry
Integration
Blueprint
Designer
Runtime
Visualization
ITSM
Target Locations
Configuration
Management
Operations
Billing & Metering
@duncanjw
Topology
https://github.com/hyperledger/fabric/blob/master/docs/protocol-spec.md#222-multiple-validating-peers
@duncanjw
Open Source
@duncanjw
All locations are connected via fully meshed private network
Too big to be owned by a single entity
@duncanjw
More Information
hyperledger.org
hyperledger.org/community
github.com/hyperledger
github.com/hyperledger-incubator
developer.ibm.com/open/events/dw-open-tech-talk-open-blockchain/
github.com/cloudsoft/brooklyn-hyperledger
www.altoros.com/blog/technical-introduction-to-hyperledger-fabric/

Gluecon 2016 Keynote: Deploying and Managing Blockchain Applications

  • 1.
    Overview of Hyperledger Introductionto the Linux Foundation’s Hyperledger Project May 2016 @duncanjw
  • 2.
    @duncanjw 21st Century Alchemy OpenSource A seemingly magical process of transformation, creation, or combination …
  • 3.
    The Problem withTraditional Databases @hyperledger
  • 4.
    The Problem withTraditional Databases @hyperledger
  • 5.
    How Blockchain SolvesThis @hyperledger
  • 6.
    Existing Blockchains Limited Throughput Slow Transaction Confirmations No PrivacyAnonymous Processors Designed for Cryptocurrency Poor Governance No Settlement Finality @hyperledger
  • 7.
    Introducing Hyperledger A collaborativeeffort 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. @hyperledger
  • 8.
    Project Goals Create anenterprise grade, open source distributed ledger framework and code base, upon which users can build and run robust, industry-specific applications, platforms and hardware systems to support business transactions. Create an open source, technical community to benefit the ecosystem of Hyperledger solution providers and users, focused on blockchain and shared ledger use cases that will work across a variety of industry solutions. Promote participation of leading members of the ecosystem, including developers, service and solution providers and end users. Host the infrastructure for Hyperledger, establishing a neutral home for community infrastructure, meetings, events and collaborative discussions and providing structure around the business and technical governance of Hyperledger. @hyperledger
  • 9.
    Modular Framework Requirements forblockchains vary greatly across different use-cases, there will not be a one size fits all solution. As such, Hyperledger is being designed to be highly modular, with pluggable options to suit different needs. @hyperledger
  • 10.
    About The LinuxFoundation The Linux Foundation is the organization of choice for the world's top developers and companies to build ecosystems that accelerate open technology development and commercial adoption. Together with the worldwide open source community, it is solving the hardest technology problems by creating the largest shared technology investment in history. Founded in 2000, The Linux Foundation today provides tools, training and events to scale any open source project, which together deliver an economic impact not achievable by any one company. The Linux Foundation has 16 years experience of providing governance structure and infrastructure to support the development of large scale, successful open source projects such as: @linuxfoundation
  • 11.
    Successful Launch 30 members >$6m funding 2,300 membership requests 5x morerequests than next largest in LF history 14 Additions since Wired - "Tech and Banking Giants Ditch Bitcoin for Their Own Blockchain" Fortune - "IBM, J.P. Morgan, and Others Build a New Blockchain for Business" Financial News - “Another day, another blockchain consortium update – this time from the Hyperledger Project” International Business Times -- “Linux Foundation's Hyperledger Project trumpets code contributions from across 30 founder members” @linuxfoundation
  • 13.
    Project Team –Executive Director Brian Behlendorf Behlendorf was a primary developer of the Apache Web server, the most popular web server software on the Internet, and a founding member of the Apache Software Foundation. He has also served on the board of the Mozilla Foundation since 2003 and the Electronic Frontier Foundation since 2013. He was the founding CTO of CollabNet and CTO of the World Economic Forum. Most recently, Behlendorf was a managing director at Mithril Capital Management LLC, a global technology investment firm. @brianbehlendorf
  • 14.
    Election Announcements Blythe Masters CEO BoardChair: TSC Chair: General Member Board Representatives: Chris Ferris CTO Open Technology Craig Young CTO Charles Cascarilla CEO @hyperledger
  • 15.
  • 16.
  • 17.
    Project Scope Shared Ledger Code executionenvironment Ledger data structures Modular consensus framework Modular identity services Network peers Core APIs API libraries and GUIs Specialized extensions Specialized consensus algos Membership policies Gateway Operations dashboard Custom Applications Value Added Systems App Layer Out of scope In-scope @hyperledger
  • 18.
  • 19.
    6 Proposed Codecontributions @hyperledger
  • 20.
    60+ Developers AttendedFirst Hackathon J.P. Morgan hosted the first Hyperledger hackathon, a 4 day event in Brooklyn, New York. There were four focusses: ● Whitepaper working group ○ Evolved the whitepaper from IBM’s ● Requirements and Use Cases working group ○ Gathered financial and non-financial requirements ● Chaincode development group ○ Created an example application in Chaincode to emulates the exchange of shares ● Integration working group ○ Focused on integrating the code proposals from IBM, Digital Asset, and Blockstream @hyperledger
  • 21.
    Successfully Demonstrated IntegratedCodebase By the end of the hackathon, the integration team successfully demonstrated a proof of concept showing different parts of three code bases communicating: ● Transaction Validation from Blockstream’s Elements Project ● Implementing the UTXO model in IBM’s OBC Chaincode ● Client communication with Digital Asset’s HLP-Candidate The simple proof of concept showed the ability to retrieve the chain height and transactions from the blockchain, executing a transaction, and listening to an account to be notified of balance changes. @hyperledger
  • 22.
    Two Projects Acceptedinto Incubation hyperledger/fabric hyperledger/sawtooth-lake “Proof of Elapsed Time” Consensus Algorithm More potential contributions being discussed https://github.com/hyperledger @hyperledger
  • 23.
    Hyperledger Demo Deploying andmanaging a blockchain application with Cloudsoft AMP May 2016 @duncanjw
  • 24.
    Membership Smart Contract SystemsManagement Events Consensus Network Wallet Shared Ledger contains the current world state of the ledger and a Blockchain of transaction invocations encapsulates business network transactions in code. transaction invocations result in gets and sets of ledger state a collection of network data and processing peers forming a Blockchain network. Responsible for maintaining a consistently replicated ledger manages identity and transaction certificates, as well as other aspects of permissioned access creates notifications of significant operations on the Blockchain (e.g. a new block), as well as notifications related to smart contracts. Does not include event distribution. provides the ability to create, change and monitor Blockchain components securely manages a user’s security credentials responsible for integrating Blockchain bi-directionally with external systems. Not part of Blockchain, but used with it. Systems Integration Technical Terminology Source: Anthony O’Dowd, STSM IBM Blockchain Labs
  • 25.
    Validating Node B Validating NodeC Validating Node A Validating Node D Validating Node E Blockchain Network A chain network that services solutions built for a particular industry. Shared Ledger: Records all transactions across business network Consensus: Transaction validation & commitment Non- Validating Node Chaincode StateLogic Chaincode Chaincode Chaincode Proprietor(s) setup and define the purpose of a chain network. They are the stakeholders of a network. Auditors(s): Individuals or organizations with the permission to interrogate transactions and the blockchain network. Solution Users: end users typically initiate transactions on a chain network through applications made available by solutions providers. Non-Validating node: Constructs transactions and forwards them to validating nodes. Peer nodes keep a copy of all transaction records so that solution providers can query them locally. Solution Provider: Organizations that develop mobile/web applications for solution users to access chain networks., they own either NV or Validating node. Public transactions: transactions with its payload in the clear Membership Service (PKI) ECA TCA TLS-CAReg. A Registration Authority: Assigns registration username & registration password pairs to network participants. This username/password pair will be used to acquire enrollment certificate from ECA. Enrollment CA (ECA): Issues enrollment certificates (ECert) to network participants that have already registered with a membership service. ECerts are long term certificates used to identify individual entities participating in one or more networks. Transaction CA (TCA): Issues transaction certificates (TCerts) to ECert owners. An infinite number of TCerts can be derived from each ECert. TCerts are used by network participants to send transactions. TLS CA: Issues TLS certificates to systems that transmit messages in a chain network. TLS certificates are used to secure the communication channel between systems. Chaincode (Smart Contract): Application logics stored and executed on the blockchain. Chaincode State: Chaincodes access internal state storage through state APIs. States are created and updated by transactions calling chaincode functions with state accessing logic. Confidential transactions: transactions where its payload is encrypted and is only visible to stakeholders of this transaction Confidential chaincode: chaincodes that only pre-defined subset of validators can view and execute The Blockchain Network Source: Sharon Weed
  • 26.
    Demo – AssetManagement The asset management chaincode (asset_management.go) is a very simple chaincode designed to show how to exercise access control at the chaincode level as described in this document: https://github.com/hyperledger/fabric/blob/master/docs/tech/application-ACL.md The chaincode exposes the following functions: init(user): Initialize the chaincode assigning to user the role of administrator; assign(asset, user): Assigns the ownership of asset to user. Notice that, this function can be invoked only by an administrator; transfer(asset, user): Transfer the ownership of asset to user Notice that this function ca be invoked only by the owner ofasset; query(asset): Returns the identifier of the owner of asset https:// https://github.com/hyperledger/fabric/tree/master/examples/chaincode/go/asset_management
  • 29.
    Demo – AssetManagement In particular, we consider a scenario in which we have the following parties: Alice is the chaincode deployer Bob is the chaincode administrator Charlie and Bob are asset owners that interact in the following way: Alice deploys and assigns the administrator role to Bob Bob assigns the asset 'Picasso' to Charlie Charlie transfers the ownership of 'Picasso' to Dave Women of Algiers - $179m https:// https://github.com/hyperledger/fabric/tree/master/examples/chaincode/go/asset_management @duncanjw
  • 30.
    Cloud Application ManagementPlatform (AMP) Runtime Management Blueprint Library Cloud Foundry Integration Blueprint Designer Runtime Visualization ITSM Target Locations Configuration Management Operations Billing & Metering @duncanjw
  • 31.
  • 32.
  • 33.
    All locations areconnected via fully meshed private network
  • 34.
    Too big tobe owned by a single entity @duncanjw
  • 35.

Editor's Notes

  • #3 http://webapp1.dlib.indiana.edu/newton/
  • #4 Dan: Blockchain is essentially a database, but traditional databases have central admins, which makes using them to house transaction data involving parties that don’t trust one another problematic and expensive. So, each entity maintains their own database, resulting in duplicate data and, if there are mistakes or malicious behavior, results in expensive and time consuming disputes over what the actual state of the truth is. This is particularly true when exchanging assets.
  • #5 Dan: And lots of different institutions recording different assets. T
  • #6 Chris: blockchain creates ability for multiple competing parties to securely interact with the same universal source of truth Business Networks benefit from connectivity Connected customers, suppliers, banks, partners Cross geography & regulatory boundary Wealth is generated by flow of goods & services across business network Markets are central to this process: Public (fruit market, car auction), or Private (supply chain financing, bonds) Participants - members of a business network Customer, Supplier, Government, Regulator Have specific identities and roles Transaction - an asset transfer John gives a car to Anthony (simple) Contract - conditions for transaction to occur Records all transactions across business network Shared between participants Participants have own copy through replication Permissioned, so participants see only appropriate transactions THE shared system of record
  • #7 Dan: However, existing blockchains… Ledger is shared, but participants require privacy Participants need: Transactions to be private Identity not linked to a transaction Transactions need to be authenticated Cryptography central to these processes
  • #25 IBM’s Open Blockchain Making Blockchain Real for Enterprises Anthony O’Dowd, STSM IBM Blockchain Labs
  • #26 Provided by Sharon Weed
  • #30 http://www.independent.co.uk/arts-entertainment/art/news/pablo-picasso-les-femmes-dalger-version-o-sells-for-179m-and-sets-new-world-record-10243056.html Women of Algiers