ibm bluemix nice meetup #4-20170302 6 meetup @inria - blockchain
TRANSCRIPT
[email protected]@IBMFranceLab #bluemix
16 Novembre 2016
Nice Bluemix Meetup #4, 2 Mars 2017
1
Dominique Hok, Benjamin Fuentes et le Riviera JUG
Lieu : INRIA Sophia Antipolis
MEETUP #4 avec le
et un grand merci à l’INRIA Sophia-Antipolis pour son accueil
sujet:
Blockchain, Hyperledger et IBM Bluemix
22
Agenda
• 18h30 : Présentation du Meetuppar Dominique Hok, IBM France Lab et Stéphane Epardaud, Riviera JUG
• 18h33 : Introduction au PaaS IBM Bluemixpar Arlémi Turpault, IBM Developer Advocate Digital Business Group.
• 19h53 : L’interêt de la Blockchain pour les entreprises et les institutions.par Gérard Richter, IBM Cloud Consultant, Business Development & ISV,
Innovation Center Nice.
• 19h15: développement Blockchain sur Hyperledger et démo d’ une application Bluemix d’ échange de contrats.
par Benjamin Fuentes, IBM Architect Ecosystem Developers and Startups, Bluemix & Blockchain Advocate, Business Solution Center Nice.
• 19h55 : Q&A et discussions autour d’ un verre.
• 20h30 : Fin
33
Agenda
• 18h30 : Présentation du Meetuppar Dominique Hok, IBM France Lab et Stéphane Epardaud, Riviera JUG
• 18h33 : Introduction au PaaS IBM Bluemixpar Arlémi Turpault, IBM Developer Advocate Digital Business Group.
• 19h53 : L’interêt de la Blockchain pour les entreprises et les institutions.par Gérard Richter, IBM Cloud Consultant, Business Development & ISV,
Innovation Center Nice.
• 19h15: développement Blockchain sur Hyperledger et démo d’ une application Bluemix d’ échange de contrats.
par Benjamin Fuentes, IBM Architect Ecosystem Developers and Startups, Bluemix & Blockchain Advocate, Business Solution Center Nice.
• 19h55 : Q&A et discussions autour d’ un verre.
• 20h30 : Fin
44
What’s that and what can it do for me?
Arlemi Turpault, Developer AdvocateMarch, 2017@arlemi
IBM Bluemix
Agenda
Bluemix: Platform-as-a-ServiceDemo
How does it work?
6
Bluemix: Platform-as-a-ServiceHow to make the life of a developer easier
Build, run, scale, manage… in the cloud
Developer Experience
§ Rapidly deploy and scale apps
§ Compose your apps quickly with useful APIs and Services
§ Avoid tedious backend configuration
8
Enterprise Capability
§Securely integrate with your on-premsystems and data
§Manage your app lifecycle with DevOps
§Develop and deploy on a platform built on a foundation of open tech
Developer focus on what matters most: the app
9
NetworkingStorageServersVirtualizationO/SMiddlewareRuntimeDataApplications
Traditional On-Premises
NetworkingStorageServersVirtualizationO/SMiddlewareRuntimeDataApplications
Platform as a Service
NetworkingStorageServersVirtualizationO/SMiddlewareRuntimeDataApplications
Software as a Service
NetworkingStorageServersVirtualization
MiddlewareRuntimeDataApplications
Infrastructure as a Service
O/S
Vendor Manages in CloudClient Manages
Standardization; OPEX savings; faster time to valueCustomization; higher costs; slower time to value
Agenda
Bluemix: Platform-as-a-Service
Demo
How does it work?
10
DemoBecause a demo is worth a thousand words
Agenda
Bluemix: Platform-as-a-Service
Demo
How does it work?
12
How does it work?The magic behind
Bluemix CloudFoundry Architecture
§ When deploying an app, the Bluemixenvironment determines an appropriate virtual server based on:
– The load already there– Runtimes or framework supported
§ Each execution environment is isolated from the exec environment of other apps
§ Source: https://console.ng.bluemix.net/docs/overview/whatisbluemix.html#architecture
14
Questions?
Agenda
• 18h30 : Présentation du Meetuppar Dominique Hok, IBM France Lab et Stéphane Epardaud, Riviera JUG
• 18h33 : Introduction au PaaS IBM Bluemixpar Arlémi Turpault, IBM Developer Advocate Digital Business Group.
• 19h53 : L’interêt de la Blockchain pour les entreprises et les institutions.par Gérard Richter, IBM Cloud Consultant, Business Development & ISV,
Innovation Center Nice.
• 19h15: développement Blockchain sur Hyperledger et démo d’ une application Bluemix d’ échange de contrats.
par Benjamin Fuentes, IBM Architect Ecosystem Developers and Startups, Bluemix & Blockchain Advocate, Business Solution Center Nice.
• 19h55 : Q&A et discussions autour d’ un verre.
• 20h30 : Fin
116
Blockchain
Gerard RichterMarch, 2017
How Blockchain is going to change Business Interactions
Agenda
• Blockchain Overview• Business Value and Use Cases• Technology• IBM Blockchain
Blockchain Overview
Blockchain underpins Bitcoin but the technology is applicable to a whole range of business processes
20
Industries are interested in BLOCKCHAIN … not in CRYPTOCURRENCIES
What is a Blockchain network?
21
A set of nodes …
... running a p2p CONSENSUS protocol ...
... to maintain a common record of transactions: the BLOCKCHAIN
The promise of disintermediated models
22
Blockchain Landscape
23
BitcoinEthereumLitecoin
Ripple
Hyperledger(Open source)
Eris
Platform
Software
Public Private(Permissioned)
Bitcoinsoftware
What can you store as a Transaction in a Blockchain?
24
Transaction BlockchainExample
Traditional Business
On platform Asset
CashCryptocurrency
Commercial Bank
Off platform Asset
DiamondsPropertiesVehicles
Custodian Bank
SmartContract
InsuranceSupply chain
Clearing House
Business Value and Use Cases
Business networks, wealth & markets
26
o Business Networks benefit from connectivity• Participants are customers, suppliers,
banks, partners • Cross geography & regulatory boundary
o Wealth is generated by the flow of goods & services across business network
o Markets are central to this process:• Public (fruit market, car auction), or• Private (supply chain financing, bonds))
o The easier it is to conduct transactions, the more people transact
Many business transactions remain inefficient, expensive and vulnerable
27
TimeMany business transactions:
§ are time sensitive
§ require much settlement andreconciliation time
§ are process-delay prone
CostMany business transactions:
§ include overheads frommultiple intermediaries
§ are costly to manage and execute
§ require extensive documentation
RiskMany business transactions:
§ are ambiguous and non-verifiable
§ are prone to errors and tampering
§ have no single source of truth
Source: IBM Institute for Business Value analysis
Adoption patterns: we expect Blockchain to fundamentally change how we do business
28
A new science of organizations
Codifications of contracts, compliance and certifications
will redefine how trust is embodied in business
transactions
Efficient and accessible market-places built on blockchains will accelerate the exchange of value and flow of wealth
The tightening of trust
A new nexus for value exchange
Highly efficient distributed business networks will challenge our notions of traditional enterprise management
Full transformation value kicks in when a variety of industries and activities come together
29
Limited value within the boundaries of a single organization
Ecosystem participants have to agree on a standard
Typical use cases
30
Vertical Use cases
Financial Services
• Cross-border remittances• Enabling peer-to-peer transactions • Record keeping / Client audits (including KYC and AML
registries)• Security trading and settlement• Equity swaps• Regulatory reporting• Insurance claim management• Insurance smart contracts
Healthcare/Life Sciences
• Universal health records (Sharing and permission of healthcare records to improve payment systems and who has access to confidential data)
• Health record notarization and audit• Regulatory compliance• Clinical trial records
Gov. / Legal • Digital Identity Management• Notary services which certify existence/proof of
ownership• Title Management• Smart contracts• Land registries and other asset transfers• Digital Voting• Escrow custodian services
Consumer/Retail
• Secure transactions• Tracking the provenance, demand and inventory data of
goods
Vertical Use casesEnergy & Utilities
• Trading surplus energy• Digital renewable energy credits• IoT data infrastructure
Chemical& Petroleum
• Oil & gas and emissions commodity trading• Supply chain/ logistics/ shipping/ procurement• Joint venture data and accounting• Settlements• Land royalty • Asset management life cycle
M & E • Marketplace for sales and purchase of digital assets• Proof of ownership for digital content & storage
delivery• Royalty distribution and licensing platform• Copyright management
Telco • Mobile payments (including peer to peer)• Settlement and clearing• IoT transactions• Identity fraud and management• Improving OSS and BSS processes (such as eSIM
provisioning and number portability database)
Manufact-uring
• Supply chain tracking (tracking the provenance of all components and enabling service/maintenance)
• Connected factories• Enabling microservices in connected products,
including connected cars
Technology
Linux Foundation’s Hyperledger Project
32
– Linux Foundation project announced December 17, 2015 with 17 founders, now 81 members
– The Hyperledger Project is a collaborative effort 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
– Open source and open standards-based
Enable adoption of shared ledger technology at a pace and depth not achievable by any one company or industry
QUICK FACTS
Chairman Blythe Masters/DAH
Executive Director Brian Behlendorf
Technical Chair Chris Ferris/IBM
Contribution 44,000 lines of code in February 2016
Sprint to one codebase with unified thinking
Target 3Q release
www.Hyperledger.org
Hyperledger members
33As of 13 June 2016
Blockchain Abstract Model
34
Node
P2PProtocol
Transactionlevel
ConsensusProtocol
Network level connectivityNode onboarding / leavingMessage forwarding
Transaction structureRules to validate transactionsBlockchain
Agree on state
Blockchain network abstract model
35
Node
P2PProtocol
Transactionlevel
ConsensusProtocol Proof of Work
Bitcoin Hyperledger
PluggablePBFT (Default)
Transfer of bitcoin Chaincode(Programmable)
Simple broadcast network over TCP
GoogleRPCNetwork level connectivityNode onboarding / leaving
Message forwarding
Transaction structureRules to validate transactions
Blockchain
Agree on state
A Blockchain Application with Hyperledger
36
Peer
Chaincode
Peer
Chaincode
Peer
Chaincode
Peer
Chaincode
BlockchainApplication
SDKNode.js
MembershipService
To be developed Hyperledger
Blockchain and transactions
37
# N-1# N-2# N-3# N-4
Reference to previous block
Transaction Last block
Transactions and Chaincode in Hyperledger
38
ChaincodeFunc Invoke()
Peer
Transaction
Invoke (param)
Signed by user
State
Forwarded to
Updatesstate
InvokesChaincodefunctions
Stored in the blockchain
Roles in a Blockchain Network
39
End User
Transacts
Regulator
AuditingOversight
Legacy Enterprise Systems
Interacts with
CertificateAuthority
GetCertificates
BlockchainDeveloper
Creates application and chaincode
BlockchainNetwork Operator
ManagesBlockchainNetwork
IBM Blockchain
IBM Blockchain for business
41
Community + CodeLinux Hyperledger Project
Open Source Code: Blockchain for businessConsensus | ProvenanceImmutability | FinalityOpen Governance – 80 member cross industry board
CloudIBM Blockchain
Blockchain managed service on IBM Cloud and z SystemsIdentity | Consensus | System Integration | Hardware-assist for Performance & SecurityIBM Blockchain on Bluemix
ClientsBlockchain SolutionsBlockchain Garage
Making Blockchain real for businessBlockchain Garage; New York | London | Singapore | TokyoBlockchain Services Practice
Agenda
• 18h30 : Présentation du Meetuppar Dominique Hok, IBM France Lab et Stéphane Epardaud, Riviera JUG
• 18h33 : Introduction au PaaS IBM Bluemixpar Arlémi Turpault, IBM Developer Advocate Digital Business Group.
• 19h53 : L’interêt de la Blockchain pour les entreprises et les institutions.par Gérard Richter, IBM Cloud Consultant, Business Development & ISV,
Innovation Center Nice.
• 19h15: développement Blockchain sur Hyperledger et démo d’ une application Bluemix d’ échange de biens ( CAR LEASE ).
par Benjamin Fuentes, IBM Architect Ecosystem Developers and Startups, Bluemix & Blockchain Advocate, Business Solution Center Nice.
• 19h55 : Q&A et discussions autour d’ un verre.
• 20h30 : Fin
442
@benji_fuentes
Introduction to Blockchainand Hyperledger
Benjamin FuentesIBM
@benji_fuentes
Blockchain
• Introduction
• Hyperledger
• Blockchain as a Service(on Bluemix Cloud)
@benji_fuentes
Blockchain - Introduction
A blockchain is a distributed database, introduced by Bitcoin (2008) on Satoshi Nakamoto’swhite paper, that maintains a continuously-growing list of data records that each refer to previous items on this list and is thus hardened against tampering and revision
Distributed systems answer to a problem called Byzantine Generals’ Problem described by Leslie Lamport (1982)
As today, blockchains can be use to write distributed applications named “smart contract” or “chaincode”
Mesopotamianledger
Byzantine Generals’ Problem
@benji_fuentes
Blockchain - Hyperledger
Hyperledger (or Hyperledger project) is a cross-industry collaborative effort to create blockchain-based open standard for distributed ledgers for globally conducted business transactions under the Linux Foundation
The project aims to create an open-standard, public, decentralised public ledger based on blockchain technology to advance worldwide business transaction processing in terms of cost-effectiveness, speed and traceability
More than 100 members
Fabric
Sawtooth Lake
@benji_fuentes
Blockchain -Blockchain as a Service (on Bluemix Cloud)
IBM is the only provider that gives you access to a permissioned Blockchain as a Service on its catalog of services
@benji_fuentes
Fabric V0.6
• Actors
• Components
• Interactions
• Architecture
@benji_fuentes
Fabric - Actors
The business user, operating in a business network. This role interacts with the Blockchain using an application. They are not aware of the Blockchain.
The overall authority in a business network. Specifically, regulators may require broad access to the ledger’s contents.
The developer of applications and smart contracts that interact with the Blockchain and are used by Blockchain users.
Defines, creates, manages and monitors the Blockchain network. Each business in the network has a Blockchain Network operator.
Manages the different types of certificates required to run a permissioned Blockchain.
An existing computer system which may be used by the Blockchain to augment processing. This system may also need to initiate requests into the Blockchain.
An existing data system which may provide data to influence the behavior of smart contracts.
BlockchainUser
BlockchainDeveloper
Certificate Authority
BlockchainRegulator
Traditional Processing Platform
Traditional Data
Sources
BlockchainNetworkOperator
U
R
D
O
ü
@benji_fuentes
Fabric - Components
Membership
Smart Contract
Systems Management
Events
ConsensusNetwork
Wallet
Ledger Contains the current World State of the ledger and a Blockchain of transaction invocations
f(abc); Encapsulates business network transactions into logic code. Transaction invocations result in gets and sets of ledger state
…
E T
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
i
Responsible for integrating Blockchain bi-directionally with external systems. Not part of Blockchain, but used with it.
SystemsIntegration
@benji_fuentes
Fabric - Interactions
Protocols :
• SDK : use gRPC to communicate with a blockchain peer or Certificate Authority. Maintain the user’s key wallet
• HTTP API : use HTTP (will be deprecated in V1.0)
Functional interaction methods:
• DEPLOY* : to deploy a chaincode
• QUERY : to retrieve data from World State
• INVOKE* : to call a chaincode method creating a transaction
membership
keys
ConsensusLedgerEvents
Chaincodestate
peer
SDK
ECA, TCA, TLS-CA
API
Blockchain network
(* Creates a block on the chain)
@benji_fuentes
Fabric - Architecture
1.Blockchain developer codes Application and Smart Contract
2.He deploys the app on a server and smart contract on a peerusing DEPLOY
3.A registered user interacts withthe app sending order(INVOKE) or retrievinginformation (QUERY)throught the smart contract
4.Smart contract can emit an event susbcribed by the app World/Ledger
State
BlockchainGenesis
Block
…
Blockchain developer
Smart Contra
ct
Invokes/querieson a smart contract
DevelopsApplication
DSDK HTTP
txn txn txn txn txn
Block n
PEER
develops, then deploys
emits
PutState/GetState
U
Blockchain developer
Interacts
@benji_fuentes
Think distributed and deterministic !!!
Get resources from external systems
peer
Blockchain network
peer
peer
Ext system
Put resources to external systems
peer
Blockchain network
peer
peer
Ext system
t1 t3t2 1 call 1 call
1 call
@benji_fuentes
Next coming on V1.0 (March 2017?)
• Endorsement/consensus model
• Plugging external identity server
• Plugging external State DB
• Historical queries
• HTTP API deprecated, use SDK
• Chaincode upgrades
@benji_fuentes
Fabric V1.0 - Endorsement/Consensus model
Peer role has been split :
• Committer peer : commits transactions, maintains ledger and state
• Endorsing peer: receives a transaction proposal for endorsement, responds granting or denying endorsement
• Ordering peer: approves the inclusion of transaction blocks into the ledger and communicates with peer and endorsing peer nodes
Also a peer can now communicate via private channels inside the network to strenghten privacy
Different configuration options for the ordering service include:
– SOLO
• Single node for development
– Kafka / Zookeeper
• 1:n nodes providing Crash Fault Tolerance
• Odd number of nodes recommended
– SBFT (future)• 1:n nodes providing Byzantine
Fault Tolerance
Ordering-Service
OO
O OE C
Peer types
oror
@benji_fuentes
Fabric V1.0 - Identity server
New Identity server (COP)
• make as pluggable as possible
• make it decentralized
• default implementation : CloudFlare'sPKI/TLS toolkit
• can be configured to read from an LDAP server
• Developed in GO
• CLI commands for server and client
@benji_fuentes
Fabric V1.0 - External World State DB
• Key/value database (LevelDB)
• Document JSON database (CouchDB)
• SQL data stores (future?)• requires schema definition
• difficult to change schema CouchDB
Chaincode
APIs
LevelDB
Worldstate
@benji_fuentes
Fabric V1.0 - Historical queries
Simple use case :
• Show history of values for an asset X
Rich queries :
• Show value of an asset at a certain point in time
• Show all assets having same field value through history (example : owned by a specific owner)
tt-1t-2
@benji_fuentes
Fabric V1.0 - HTTP deprecated, use SDK
•Do not use HTTP API anymore
•Use SDK over gRPC :• Java
•NodeJs
• Python
@benji_fuentes
Fabric V1.0 - Chaincode upgrades
• New command UPGRADE to use instead of redeploying another chaincode
• Chaincode will contain version number…
Smart Contra
ct
txn txn txn txn
Smart Contra
ct
ApplicationSDK HTTP
UPGRADE
Version N+1Version N
World/Ledger State
@benji_fuentes
Thank you !
Back up / infos Bluemix
LEARN
THINK
CODE
RUN
CULTURE
DELIVERMANAGE
Pour créer un compte Bluemix,c’est simple et gratuit 30 jours
Get started free sur bluemix.net
63
Pour créer un compte Bluemix,c’est simple et gratuit 30 joursGet started free sur bluemix.net
6464
Merci !
65
Pour vous former
Formation en ligne gratuite
• “Déployez des applications dans le cloud avec Bluemix”http://ibm.biz/BluemixMOOC• “Utilisez des API Rest dans vos projetsWEB”http://ibm.biz/BluemixMOOC_API_REST
Webinars Bluemix
Suivez un des nombreux webinars Bluemix (Replays disponibles)
http://ibm.biz/BluemixWebinarsFR
Communauté Dev Bluemix
Consultez le blog avec toutes les actualitéset posez toutes vos questions surStackoverflow
http://ibm.biz/BluemixDeveloperCommunity
Developpez.com
Suivez la nouvelle Rubrique dédiée à IBM Bluemix sur Developpez.com avec les actualités et les publications
https://ibm.biz/bluemix-developpez-com
66