These are the slides from the keynote given by Cloudsoft's CEO, Duncan Johnston-Watt and Software Engineer Mike Zaccardo at Defrag X Conference in November 2016.
3. 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:
@hyperledger
4. Project Goals
Build an Open Source developer-focused community of communities to benefit an ecosystem of
Hyperledger-based solution providers and users, focused on blockchain-related use cases that will work
across a variety of industry sectors.
Through this, create a family of enterprise grade, open source blockchain frameworks, platforms, and
libraries, upon which anyone can build and run their own applications to meet real business needs.
Involve developers, service providers, solution providers and end users in the development and
promotion of the software, using the best practices of a multi-stakeholder Open Source community.
Host the collaboration environment for the community, establishing a neutral home for community
infrastructure, meetings, events and collaborative discussions and providing structure around the
business and technical governance of Hyperledger.
@hyperledger
5. 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
7. There will not be only one blockchain, or a chain-of-all-chains.
There will be many public chains and millions of private chains, potentially each
with a different consensus mechanism, preferred smart contract
language/mechanism, and other characteristics.
The more common code underlying these chains, the better for everyone.
This is still early days â perhaps like 1994 and the Web?
A World of Many Chains
@hyperledger
10. Status
This project is in Incubation
Description
Fabric is an implementation of blockchain technology, leveraging familiar and proven
technologies. It is a modular architecture allowing pluggable implementations of various
functions. It features powerful container technology to host any mainstream language for
smart contracts development.
Key Characteristics
Permissioned network, core written in Go, chaincode in Go or Java.
https://wiki.hyperledger.org/projects/fabric.md
Hyperledger Fabric
@hyperledger
11. Hyperledger Demo
Deploying & Managing a Global Blockchain Network
Mike Zaccardo, Senior Engineer, Cloudsoft
Defrag X, November 2016
@itsMeMikeZ
12. Leading hybrid cloud application management company
Model, deploy and manage any application on any cloud or across many clouds
Team across Europe, North America and Asia-Pacific
Headquarters in Edinburgh, UK
Founder of Apache Brooklyn open source project
Foundation of Cloudsoft Application Management Platform (AMP)
Autonomic computing pioneer
Closed loop management
Cloudsoft
@cloudsoft
13. MODEL DEPLOY MANAGE
INSTANTIATE SENSE EFFECT
Capture Best Practices Dynamic Live Model Maintain SLAs
My Model
Apache Tomcat
MySQL
Load Balancer
Cloudsoft Application Management Platform (AMP)
@cloudsoft
14. 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
15. 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 initiatetransactions
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 @hyperledger
16. Interaction with the Blockchain Network
https://github.com/hyperledger/fabric/blob/master/docs/protocol-spec.md#222-multiple-validating-peers
@hyperledger
19. Hugely successful Sothebyâs auction
Every lot exceeds its reserve price and is sold on the night
The collection is split up and acquired by three art collectors
Charlie, Dave and Edwina who are tech savvy and want to loan each other works
Sothebyâs sets up a secure private asset management system
Alice deploys chaincode and makes Bob the administrator
Sotherbyâs initializes asset management system
Bob loads auction results â ensuring each lot is allocated to correct collector
Demo â Scenario
@itsMeMikeZ
20. Demo â Asset Management
The asset management chaincode is a simple example 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 can
be invoked only by the owner of asset
query(asset): Returns the identifier of the owner of asset
https://github.com/hyperledger/fabric/tree/master/examples/chaincode/go/asset_management
@itsMeMikeZ
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
IBMâs Open BlockchainMaking Blockchain Real for EnterprisesAnthony OâDowd, STSM IBM Blockchain Labs