SlideShare a Scribd company logo
1 of 67
IBM Blockchain 101
Introduction to IBM Blockchain for Developers
Alexander Al Basosi
Blockchain & Full Stack Developer
IBM Garage for Cloud
IBM Blockchain Platform
The IBM Blockchain Platform
and Hyperledger Fabric
What is Blockchain?
What is Blockchain and how it
benefits businesses
Your first app
Using the IBM Blockchain
Platform to build your first app
3
Business networks, wealth and markets
• Business Networks benefit from connectivity
– Participants are customers, suppliers,
banks, partners
– Cross geography and regulatory boundary
• Wealth is generated by the flow of goods and
services across business network in transactions
and contracts
• Markets are central to this process:
– Public (fruit market, car auction), or
– Private (supply chain financing, bonds)
4
Transferring assets, building value
Anything that is capable of being owned or controlled to produce value, is an asset
Two fundamental
types of asset
Intangible assets
subdivide
Cash is also
an asset
• Tangible, e.g. a house
• Intangible, e.g. a mortgage
• Financial, e.g. bond
• Intellectual, e.g. patents
• Digital, e.g. data
• Has property of anonymity
5
Ledgers, Transactions and Contracts
• Ledger: an important log of all transactions
– Describes the inputs and outputs of the
business
• Transaction: an asset transfer between participants
– Matt gives a car to Dave (simple)
• Contract: the conditions for a transaction to occur
– If Dave pays Matt money, then car passes from
Matt to Dave (simple)
– If car won't start, funds do not pass to Matt (as
decided by third party arbitrator) (more
complex)
6
Blockchain
for
Business
Shared,
replicated,
permissioned
ledger
Smart
contracts
7
Problem
inefficient, expensive, vulnerable
Participant A’s records Participant B’s records Bank records
Insurer records Regulator records Auditor records
8
Blockchain
Participant A’s records Participant B’s records Bank records
Insurer records Regulator records Auditor records
Solution
A shared, replicated, permissioned ledger…
…with consensus, provenance, immutability and finality
9
Different types of blockchain
– The first blockchain application
– Defines a shadow-currency and its ledger
– Resource intensive
is an example of an
unpermissioned, public blockchain
• All blockchains aim to provide irrefutable proof that
a set of transactions occurred between participants
• Different types of blockchain exist:
• Blockchains for business generally prioritize
– Assets over cryptocurrency; Identity over anonymity; Selective endorsement over proof of work
10
Requirements of blockchain for business
Participants
decide which
assets to share
ASSETS
Participants know
who they are
dealing with;
information shared
is need-to-know
IDENTITY
Participants give
provable
endorsement
ENDORSEMENT
11
Assets
The business network decides what to share on the ledger
• Assets are anything of value
– On the blockchain, these are represented
digitally using a pre-agreed format
• Transactions change the state of an asset and
are provably recorded on the blockchain
– e.g. transfer ownership, change color
• Transactions are underpinned by smart contracts
– Verifiable business rules that cause the
asset to change state
12
Identity
Knowing who you’re dealing with
• Various regulations applied to businesses require
them to know who they are dealing with
– e.g. KYC, AML, CFT
• Identity is used to ensure business networks are
kept private and individual transactions confidential
– With transparency for the regulator
• There are established methods for obtaining and
asserting identity
– Cryptography is central to these
– Identity allows transactions to be signed and
encrypted
13
Transaction Endorsement
Provable verification by relevant participants
• Endorsement is the process in which a transaction is verified
as “good”
– Ensures that participants are happy to accept the
transaction according to the smart contract, prevent
double spending, etc.
• Endorsement can be expensive in public blockchains
– Without identity, transactions are thrown to the whole
network for endorsement
– Proof of work is particularly CPU intensive
• In the real world, transactions are endorsed by a smaller
number of participants
– e.g. sender bank, receiver bank, payments provider
– Must be completed in an appropriate timeframe
14
What is blockchain?
 Blockchain lets you build a decentralized
business network
 Blockchain builds on basic business concepts
 Business networks connect businesses
 Participants with Identity
 Assets flow over business networks
 Transactions describe asset exchange
 Contracts underpin transactions
 The ledger is a log of transactions
 IBM Blockchain Platform allows you to build,
operate and grow blockchain networks in
heterogeneous environments
15
IBM has a long provenance
with blockchain…
AUG 2015
IBM starts developing first prototype of blockchain technology (Open Blockchain); first client engagements
FEB 2016
IBM becomes a founding member of Linux Foundation Hyperledger; donates code and intellectual property
DEC 2016
Number of IBM blockchain client engagements now totals over 400
NOV 2019
Kubernetes v1.15+ supported
AUG 2017
IBM Launches the IBM Blockchain Platform for enterprise use cases
OCT 2018
IBM Food Trust becomes generally available
MAY 2019
IBM Blockchain Platform for IBM Cloud released
JUNE 2019
IBM Blockchain Platform for Multicloud released
What is Blockchain?
What is Blockchain and how it
benefits businesses
IBM Blockchain Platform
The IBM Blockchain Platform
and Hyperledger Fabric
Your first app
Using the IBM Blockchain
Platform to build your first app
17
Hyperledger: A Linux Foundation project
• IBM Blockchain Platform is underpinned
by technology from the Hyperledger
project
• Hyperledger is a collaborative effort
created to advance cross-industry
blockchain technologies for business
• Founded February 2016 and has since
gathered significant cross-industry
momentum
• Open source
Open standards
Open governance model
Source: https://www.hyperledger.org/members
Updated: 24 September 2020
Premier
Associate
Academia Associate
General General
18
Distributed ledger
• An implementation of blockchain technology that is a
foundation for developing blockchain applications
• Emphasis on ledger, smart contracts, consensus,
confidentiality, resiliency and scalability.
• V2.2 released July 2020
– Long Term Service production release with
emphasis on smart contract lifecycle and
governance
• IBM is one of the many contributing organizations
19
Advanced tooling
Create & manage smart contracts,
applications & networks
Open technology
Hyperledger Fabric,
Containers, Kubernetes
Deploy anywhere
Comprehensive cloud &
on-premises options
Introducing IBM Blockchain Platform
Build and operate Hyperledger Fabric networks
Developer
tools
Operator
tools
on
prem
IBM
Kubernetes
Service
Container virtualization & orchestration
Multi-cloud deployment
…
20
What is IBM Blockchain Platform?
A set of advanced tooling to accelerate market-leading open source technology, with
the flexibility to deploy anywhere.
Build
Seamless developer tools
Operate
Intuitive console to manage and govern
Open source, standards and governance
Kubernete s
 VSCode extension
 SDKs
 Gateway to Platform
 Manage Fabric components
 Live patches and updates
 Governance members and smart contracts
on
prem
IBM LinuxONE
Advanced Tooling
Create and manage
all components and
policies that
encompass a
blockchain network
Open Technology
Hyperledger Fabric,
Containers, Kubernetes
Deploy Anywhere
Comprehensive cloud
&
on-premises options
21
IBM Blockchain Platform: Deploy anywhere
 IBM Blockchain Platform can be deployed wherever you want
 IBM Cloud for an IBM-managed service, using IBM Kubernetes
Service or Red Hat OpenShift (ROKS)
 On-premises or in other cloud providers for greater
deployment flexibility, using any Kubernetes v1.15+
environment (e.g. RH OpenShift, OKD, AKS, Rancher)
 Fully heterogeneous: different components can be deployed in
different environments
 Caters for different vendor biases in the business network and avoids
lock-in
IBM
Blockchain Platform
Azure
AWS
On
Prem
IBM
Cloud
IKS
22
IBM Blockchain Platform’s advanced tooling:
Build
 Comprehensive developer tools for smart
contracts and client applications, based on
the popular Visual Studio Code environment
 A library of getting started developer
tutorials that lead to accredited badges
 Simplified DevOps allows you easily move
from development to test to production from a
single console
23
 Maintain complete control of your
blockchain: govern and operate ledgers,
channels, identities and other assets in one
intuitive console
 Deploy only the blockchain components you
need and manage them - wherever they are
hosted
 Support for highly available environments
and disaster recovery scenarios
IBM Blockchain Platform’s advanced tooling:
Operate
24
IBM Blockchain Platform has affordable pricing
that scales with your network
 Get what you need and only pay for what
you use
 Pay less per CPU-hour as your network
grows
 Customize your components and compute
allocation to fit your use-case and budget
with no fixed membership fees!
US pricing as of Feb 2020. See https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-saas-pricing
25
1. Go to the IBM Cloud console
(cloud.ibm.com) and search
the catalog for blockchain
Starting with IBM Blockchain Platform for IBM Cloud
26
2. Create your blockchain
service instance
1. Go to the IBM Cloud console
(cloud.ibm.com) and search
the catalog for blockchain
Starting with IBM Blockchain Platform for IBM Cloud
27
2. Create your blockchain
service instance
1. Go to the IBM Cloud console
(cloud.ibm.com) and search
the catalog for blockchain
3. Create and attach an IBM
Kubernetes Service cluster
Starting with IBM Blockchain Platform for IBM Cloud
28
1. Go to the IBM Cloud console
(cloud.ibm.com) and search
the catalog for blockchain 2. Create your blockchain
service instance
4. Launch blockchain console
3. Create and attach an IBM
Kubernetes Service cluster
Starting with IBM Blockchain Platform for IBM Cloud
29
1. Go to the IBM Cloud console
(cloud.ibm.com) and search
the catalog for blockchain 2. Create your blockchain
service instance
4. Launch blockchain console
5. Success! Create or join networks,
scale, customize, add HA…
3. Create and attach an IBM
Kubernetes Service cluster
…and you’re on your way!
Starting with IBM Blockchain Platform for IBM Cloud
30
Top new features in IBM Blockchain Platform 2.1.3
For more information go here: https://cloud.ibm.com/docs/blockchain?topic=blockchain-release-notes-saas-20
HL Fabric 1.4.6
Support for latest
version of Hyperledger
Fabric – 1.4.6 – less
than 1 month after the
community code
release
Key management
Industry-leading
security with integrated
hardware security
module (HSM) support
using PKCS 11
Distributed Raft
Run a fully distributed
ordering service across
multiple environments
and cloud providers
LinuxONE and IBM Z
Further enhancement
of multicloud networks
with support for Red
Hat OpenShift on
LinuxONE and Linux
on IBM Z
Java smart contracts
Full support for Java
smart contracts using
the new contract
application
programming interface
What is Blockchain?
What is Blockchain and how it
benefits businesses
IBM Blockchain Platform
The IBM Blockchain Platform
and Hyperledger Fabric
Your first app
Using the IBM Blockchain
Platform to build your first app
32
The IBM Blockchain Platform toolset
• IBM Blockchain Platform comprises an
intuitive set of tools for building,
operating and growing Hyperledger
Fabric networks
• The purpose of this presentation is not to
guide you through every feature of the
tools – you will find them intuitive!
• We will instead focus on useful tips, and
things you might need to remember when
using them
VS Code
IBM Blockchain
Platform Extension
IBM Blockchain
Platform Console
Kubernetes
Dashboard
33
Navigating VS Code
The basics of this powerful, popular editor
Click in sidebar
to expand and
contract
contextual set
of panes
Marketplace for
installing
extensions
Parameters for commands
entered here.
Also used for quick
navigation (Ctrl+P)
File editor and
overview
Output, debug,
terminal etc.
Notifications
34
Setting up the IBM Blockchain Platform
VS Code Extension
1. Install VS Code
2. Click Marketplace in
sidebar
3. Search Marketplace for
”IBM Blockchain Platform”
4. Review and fix any pre-
requisites
5. Start!
Required /
optional
components
What you
already have
When you’re
ready, click
here to begin
Tip: Ctrl+P “> IBM Prereq” will return to
the pre-req checker once you’re running
35
Navigating the VS Code Extension
This is what you see when you launch the IBM Blockchain Platform
extension for the first time
Click here (Or
‘Blockchain
Home’ at bottom)
to return to this
Home page in
the future if you
need to
Output from
running
commands etc.
Notifications
Switch to IBM
Blockchain
Platform view
Tutorials here!Views:
Smart contracts
Fabric
Environments
Gateways
Wallets
36
Getting started with Tutorials
Learn Hyperledger developer concepts and gain accredited badges
• An initiative to make it easier to learn our tools:
• Lower our barriers to entry
• Increase developer advocacy
• Help adoption of IBM Blockchain Platform
• Tutorials built directly into the IBM Blockchain
Platform VS Code plugin
• Foundation developer set shipped in 1.0.28
• Intermediate Administrator set coming soon
• Progress is coupled with IBM badges on Acclaim
37
Developing Smart Contracts: Concepts
The structure of a smart contract project
Use Explorer view
when editing
package.json describes
smart contract
Tip: FabCar and Commercial
Paper are good exemplars!
Smart contract code
implements Contract
interface
Folder view (from filesystem)
38
Testing Smart Contracts [1/2]
The basics for smart contract testing
Hover here to reveal “…”
and select Package Open
Project.
This builds the smart
contract package
Click here to start an embedded
local Hyperledger Fabric instance
Install and instantiate your smart
contract
Use IBM
Blockchain
Platform view
when deploying
Right click smart
contracts to export
as .cds file
39
Testing Smart Contracts [2/2]
The basics for smart contract testing
Connect to gateways for
working with local or
remote blockchain
networks
Shows available channels
and smart contracts
Wallets show
available identities,
used for connecting
to remote networks
Right click to submit /
evaluate transactions
without requiring a client
application
40
Building Applications
The basics for client application development
• While you can submit and evaluate transactions from VS Code, real blockchain use-cases will
require client applications to interact with the ledger.
• You can create and test these client applications from VS Code too, just like any other
development project.
• Test within VS Code, command line or whatever environment you choose
Use
Fabric
SDK
41
Navigating the IBM Blockchain Platform Console
This is what you see when you launch the IBM Blockchain Platform service
Sidebar:
• Nodes (selected)
• Channels
• Smart contracts
• Wallets
• Organizations
• Users
• Settings
Tutorials, e.g.
• Build, Join
• Develop, Deploy
Actions to create or
add things are
always shown in
blue
42
Working with nodes in the console
Manage peers, certificate authorities and ordering services from the same pane
Green square
= running
Deployment
location
ID of owning
organization
Select
for
more
details
Create and import
additional nodes
Check here for
resource utilization
43
The importance of identities
Registering and enrolling using certificate authorities
CA
• Managing identity is a critical part of a network
• All users and components have an identity
• These are managed in the console under the CA node
• Make a note of what identities are used where; avoid reuse
• Two step process helps ensure admins can’t hijack identities
1. CA admin registers the identity in the CA with an enroll ID and
secret; passes details to identity owner
2. Owner enrolls the identity using these details (e.g. when creating
nodes); certificates are generated for the owner to work with.
• Certificates are stored in wallets and stay in local browser storage by
default
• Certificates can move between wallets but are not managed by IBM.
• Take care when switching browsers!
44
Example: Creating a peer node
• Select Add peer -> Create new
• Several panels guide you through the new peer’s details
• Display name
• Peer’s identity to enroll (CA, peer enroll ID, secret)
• Owning organization
• TLS identity (for secure communication)
• Administrator’s identity
• Additional options cater for advanced deployment
options (e.g. CouchDB vs. LevelDB)
• Peer is then created and started automatically
• See the next section for a full build tutorial!
P1
45
Logging and monitoring
Using Kubernetes to drill into the details
• Each IBM Blockchain Platform component is run within a
docker container and managed through a Kubernetes service
• IBM Kubernetes Service (for components on IBM
Cloud) or OpenShift (for components deployed on
other clouds or on-premises)
• Access component details from Kubernetes dashboard
1. Select cluster from IBM Cloud Dashboard
2. Click Kubernetes dashboard
3. Select nXXXXXX namespace
4. Click Pods to see components
5. Select individual pods for further details
• IP addresses, parameters, storage etc.
6. Click Logs for debug information
46
Logging and monitoring
Exporting metrics for further analysis
• There are several monitoring tools which can
extract and visualize blockchain metrics, e.g.:
• Grafana is a general purpose
dashboard and graph composer,
available at metrics.[region.]bluemix.net
• Sysdig is an systems monitoring and
troubleshooting service, available on
IBM Cloud
• Prometheus is a monitoring and
alerting toolkit that aggregates time
series data
• IBM Blockchain Platform exposes a /metrics
endpoint that can be used by tools for this
purpose.
Build your first network
48
What we are building
The target IBM Blockchain Platform environment
CA: Certificate Authority
P: Peer
S: Smart Contract
OS: Ordering Service
msp: Membership Services Provider (identifies the organization on the network)
CA
P1
S
ORG1
org1msp
OS
osmsp
OS ORG
Channel1
CA
CA
P2
S
ORG2
org2msp
S
49
S
Who is building the network
The organizations and roles
CA
P1
S
ORG1
org1msp
OS
osmsp
OS ORG
Channel1
CA
CA
P2
S
ORG2
org2msp
OS ORG
OS Admin
ORG1
Builder
Admin
ORG2
Joiner
Admin
Developer
50
1.Build the network
• Create an ordering service, peer, channel and first CAs
2.Join the network
• Repeat for each additional organization in the consortium
3.Deploy smart contracts
• And test transactions to make sure everything works
How we are building it
The high level sequence of steps
51
Building a network [1/5]
1. Builder Admin creates a peer organization
and peer
• Create the peer organization CA
• Associate the CA admin identity
• Using the CA to register identities
• Create the peer organization MSP
definition
• Create the peer
Detailed tutorial at IBM Blockchain Platform Console -> Get Started -> Build a Network
CA
P1
ORG1
org1msp
52
Building a network [2/5]
1. Builder Admin creates a peer organization
and peer
2. OS Admin creates the ordering service
• Create the ordering service
organization CA
• Associate the CA admin identity
• Use the CA to register the ordering
service node + OS Admin identities
• Create the ordering service
organization MSP definition
• Deploy the ordering nodes
Detailed tutorial at IBM Blockchain Platform Console -> Get Started -> Build a Network
CA
P1
ORG1
org1msp
OS
osmsp
OS ORG
CA
53
Building a network [3/5]
1. Builder Admin creates a peer organization
and peer
2. OS Admin creates the ordering service
3. OS Admin adds ORG1 to the consortium
hosted by the ordering service *
1. Builder Admin exports the ORG1
information and sends to the OS Admin
2. OS Admin imports the ORG1 definition
into the ordering service and add its
peer’s org to the OS
3. OS Admin exports the OS definition
4. Builder Admin imports the OS
definition
Detailed tutorial at IBM Blockchain Platform Console -> Get Started -> Build a Network
CA
P1
ORG1
org1msp
OS
osmsp
OS ORG
CA
org1msp
OS
* If the OS Admin and Builder Admin are running in the same console, the sub-steps are
not required. The console will let you simply add ORG1 directly to the Ordering Service.
54
Building a network [4/5]
1. Builder Admin creates a peer organization
and peer
2. OS Admin creates the ordering service
3. OS Admin adds ORG1 to the consortium
hosted by the ordering service
4. Builder Admin creates a channel
Detailed tutorial at IBM Blockchain Platform Console -> Get Started -> Build a Network
CA
P1
ORG1
org1msp
OS
osmsp
OS ORG
CA
Channel1
55
Building a network [5/5]
1. Builder Admin creates a peer organization
and peer
2. OS Admin creates the ordering service
3. OS Admin adds ORG1 to the consortium
hosted by the ordering service
4. Builder Admin creates a channel
5. Builder Admin joins the peer to the channel
Detailed tutorial at IBM Blockchain Platform Console -> Get Started -> Build a Network
CA
P1
ORG1
org1msp
OS
osmsp
OS ORG
CA
Channel1
56
Joining a network [1/4]
1. Joiner Admin creates a peer organization
and peer
1. Create ORG2 CA
2. Associate the CA admin identity
3. Use the CA to register ORG2 identities
4. Create the ORG2 MSP definition
5. Create the peer
Detailed tutorial at IBM Blockchain Platform Console -> Get Started -> Join a Network
CA
P1
ORG1
org1msp
OS
osmsp
OS ORG
CA
Channel1
CA
P2
ORG2
org2msp
57
Joining a network [2/4]
1. Joiner Admin creates a peer organization
and peer
2. OS Admin adds ORG2 to the existing
ordering service *
1. Joiner Admin exports the
organization information and sends to
the OS admin
2. OS Admin imports the ORG2
definition into the ordering service and
add its peer’s org to the OS
3. OS Admin exports the OS definition
4. Joiner Admin imports the OS
definition
Detailed tutorial at IBM Blockchain Platform Console -> Get Started -> Join a Network
CA
P1
ORG1
org1msp
OS
osmsp
OS ORG
CA
Channel1
CA
P2
ORG2
org2msp
* If the OS Admin and Joiner Admin are running in the same console, the sub-steps are
not required. The console will let you simply add ORG2 directly to the Ordering Service.
org2msp
OS
58
Joining a network [3/4]
1. Joiner Admin creates a peer organization
and peer
2. OS Admin adds ORG2 to the existing
ordering service
3. A channel admin (e.g. Builder Admin) must
add the peer’s organization to the existing
channel
Detailed tutorial at IBM Blockchain Platform Console -> Get Started -> Join a Network
CA
P1
ORG1
org1msp
OS
osmsp
OS ORG
CA
Channel1
CA
P2
ORG2
org2msp
59
Joining a network [4/4]
1. Joiner Admin creates a peer organization
and peer
2. OS Admin adds ORG2 to the existing
ordering service
3. A channel admin (e.g. Builder Admin) must
add the peer’s organization to the existing
channel
4. Joiner Admin joins the peer to the channel
…and/or create more channels as required
Detailed tutorial at IBM Blockchain Platform Console -> Get Started -> Join a Network
CA
P1
ORG1
org1msp
OS
osmsp
OS ORG
CA
Channel1
CA
P2
ORG2
org2msp
60
Deploying a smart contract [1/3]
1. Developer writes a smart contract in
VSCode and packages as a .cds file
Detailed tutorial at IBM Blockchain Platform Console -> Get Started -> Deploy Smart Contracts
CA
P1
ORG1
org1msp
OS
osmsp
OS ORG
CA
Channel1
CA
P2
ORG2
org2msp
S
61
Deploying a smart contract [2/3]
1. Developer writes a smart contract in
VSCode and packages as a .cds file
2. Admins install the .cds file on each
endorsing peer
Detailed tutorial at IBM Blockchain Platform Console -> Get Started -> Deploy Smart Contracts
CA
P1
ORG1
org1msp
OS
osmsp
OS ORG
CA
Channel1
CA
P2
ORG2
org2mspSS
62
Deploying a smart contract [3/3]
1. Developer writes a smart contract in
VSCode and packages as a .cds file
2. Admins install the .cds file on each
endorsing peer
3. A channel operator (e.g. Builder Admin or
Joiner Admin) instantiates the smart
contract once per channel.
Detailed tutorial at IBM Blockchain Platform Console -> Get Started -> Deploy Smart Contracts
CA
P1
ORG1
org1msp
OS
osmsp
OS ORG
CA
Channel1
CA
P1
ORG2
org2mspSS
S
63
Testing a smart contract
1. Download connection profile using
“Connect with SDK” option against
chaincode in console
2. If endorsement from multiple organizations
is needed, nominate anchor peers on
channel to allow discovery
3. Use connection profile to add gateway in
VSCode
4. In VSCode add wallet and create identity
from the CA enrollment ID
5. Connect to gateway
6. Discover channels and submit / evaluate
transactions
Detailed tutorial at IBM Blockchain Platform Console -> Get Started -> Deploy Smart Contracts
CA
P1
ORG1
org1msp
OS
osmsp
OS ORG
CA
Channel1
CA
P2
ORG2
org2mspSS
S
64
Success!
• Now that you’ve seen how to create a basic
network, you should also be able to see how
more advanced environments can evolve:
• Multiple channels, peers etc.
• Import and manage components running
on-premises or on other clouds
• Achieve high availability
• Govern changes to the network (e.g.
onboarding and offboarding)
• Deploy additional smart contracts,
endorsement policies etc.
• Often, you just need to rerun the relevant join or
deploy steps to get the configuration you need
CA
P1
ORG1
org1msp
OS
osmsp
OS ORG
CA
Channel1
CA
P2
ORG2
org2mspS S
S
Questions?
Questions? Tweet us or
go to ibm.com/blockchain
@IBMBlockchain
IBM Blockchain
IBM Blockchain
Thank you!
Alexander Al Basosi
Blockchain & Full Stack Developer
IBM Garage for Cloud
© Copyright IBM Corporation 2020. 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.

More Related Content

What's hot

Blockchain for Business
Blockchain for BusinessBlockchain for Business
Blockchain for BusinessFloyd DCosta
 
Examples of Smart Contracts
Examples of Smart ContractsExamples of Smart Contracts
Examples of Smart Contracts101 Blockchains
 
The Types of Cryptocurrency
The Types of CryptocurrencyThe Types of Cryptocurrency
The Types of CryptocurrencyDucatus Global
 
The Impact and Potential of Blockchain on the Banking Sector
The Impact and Potential of Blockchain on the Banking SectorThe Impact and Potential of Blockchain on the Banking Sector
The Impact and Potential of Blockchain on the Banking SectorPECB
 
Overview Of Blockchain Technology And Architecture Powerpoint Presentation Sl...
Overview Of Blockchain Technology And Architecture Powerpoint Presentation Sl...Overview Of Blockchain Technology And Architecture Powerpoint Presentation Sl...
Overview Of Blockchain Technology And Architecture Powerpoint Presentation Sl...SlideTeam
 
Blockchain consensus algorithms
Blockchain consensus algorithmsBlockchain consensus algorithms
Blockchain consensus algorithmsAnurag Dashputre
 
Blockchain Technology
Blockchain TechnologyBlockchain Technology
Blockchain TechnologyRashi Singh
 
Blockchain Technology | Blockchain Explained | Blockchain Tutorial | Blockcha...
Blockchain Technology | Blockchain Explained | Blockchain Tutorial | Blockcha...Blockchain Technology | Blockchain Explained | Blockchain Tutorial | Blockcha...
Blockchain Technology | Blockchain Explained | Blockchain Tutorial | Blockcha...Edureka!
 
Non-fungible tokens (nfts)
Non-fungible tokens (nfts)Non-fungible tokens (nfts)
Non-fungible tokens (nfts)Gene Leybzon
 
Blockchain in healthcare sector
Blockchain in healthcare sectorBlockchain in healthcare sector
Blockchain in healthcare sectorBalaji Naik
 
Blockchain - Use Cases
Blockchain - Use CasesBlockchain - Use Cases
Blockchain - Use CasesIBM Sverige
 
Blockchain Technology ppt project.pptx
Blockchain Technology ppt project.pptxBlockchain Technology ppt project.pptx
Blockchain Technology ppt project.pptxSahilBansal648873
 
Is web 3 an overengineered solution
Is web 3 an overengineered solutionIs web 3 an overengineered solution
Is web 3 an overengineered solutionBellaj Badr
 
Blockchain Smart Contract v5
Blockchain   Smart Contract v5Blockchain   Smart Contract v5
Blockchain Smart Contract v5MD SAQUIB KHAN
 
Polkadot Presentation
Polkadot PresentationPolkadot Presentation
Polkadot Presentationgavofyork
 
Smart Contracts - The Blockchain Beyond Bitcoin
Smart Contracts - The Blockchain Beyond BitcoinSmart Contracts - The Blockchain Beyond Bitcoin
Smart Contracts - The Blockchain Beyond BitcoinJim McKeeth
 
Bitcoin Protocols 1.0 and 2.0 Explained in the Series: Blockchain: The Inform...
Bitcoin Protocols 1.0 and 2.0 Explained in the Series: Blockchain: The Inform...Bitcoin Protocols 1.0 and 2.0 Explained in the Series: Blockchain: The Inform...
Bitcoin Protocols 1.0 and 2.0 Explained in the Series: Blockchain: The Inform...Melanie Swan
 
How does blockchain work
How does blockchain workHow does blockchain work
How does blockchain workShishir Aryal
 
Cryptocurrencies: The Mechanics Economic and Finance
Cryptocurrencies: The Mechanics Economic and FinanceCryptocurrencies: The Mechanics Economic and Finance
Cryptocurrencies: The Mechanics Economic and FinanceErnie Teo
 

What's hot (20)

Blockchain for Business
Blockchain for BusinessBlockchain for Business
Blockchain for Business
 
Examples of Smart Contracts
Examples of Smart ContractsExamples of Smart Contracts
Examples of Smart Contracts
 
The Types of Cryptocurrency
The Types of CryptocurrencyThe Types of Cryptocurrency
The Types of Cryptocurrency
 
The Impact and Potential of Blockchain on the Banking Sector
The Impact and Potential of Blockchain on the Banking SectorThe Impact and Potential of Blockchain on the Banking Sector
The Impact and Potential of Blockchain on the Banking Sector
 
Overview Of Blockchain Technology And Architecture Powerpoint Presentation Sl...
Overview Of Blockchain Technology And Architecture Powerpoint Presentation Sl...Overview Of Blockchain Technology And Architecture Powerpoint Presentation Sl...
Overview Of Blockchain Technology And Architecture Powerpoint Presentation Sl...
 
Blockchain consensus algorithms
Blockchain consensus algorithmsBlockchain consensus algorithms
Blockchain consensus algorithms
 
Blockchain in FinTech
Blockchain in FinTechBlockchain in FinTech
Blockchain in FinTech
 
Blockchain Technology
Blockchain TechnologyBlockchain Technology
Blockchain Technology
 
Blockchain Technology | Blockchain Explained | Blockchain Tutorial | Blockcha...
Blockchain Technology | Blockchain Explained | Blockchain Tutorial | Blockcha...Blockchain Technology | Blockchain Explained | Blockchain Tutorial | Blockcha...
Blockchain Technology | Blockchain Explained | Blockchain Tutorial | Blockcha...
 
Non-fungible tokens (nfts)
Non-fungible tokens (nfts)Non-fungible tokens (nfts)
Non-fungible tokens (nfts)
 
Blockchain in healthcare sector
Blockchain in healthcare sectorBlockchain in healthcare sector
Blockchain in healthcare sector
 
Blockchain - Use Cases
Blockchain - Use CasesBlockchain - Use Cases
Blockchain - Use Cases
 
Blockchain Technology ppt project.pptx
Blockchain Technology ppt project.pptxBlockchain Technology ppt project.pptx
Blockchain Technology ppt project.pptx
 
Is web 3 an overengineered solution
Is web 3 an overengineered solutionIs web 3 an overengineered solution
Is web 3 an overengineered solution
 
Blockchain Smart Contract v5
Blockchain   Smart Contract v5Blockchain   Smart Contract v5
Blockchain Smart Contract v5
 
Polkadot Presentation
Polkadot PresentationPolkadot Presentation
Polkadot Presentation
 
Smart Contracts - The Blockchain Beyond Bitcoin
Smart Contracts - The Blockchain Beyond BitcoinSmart Contracts - The Blockchain Beyond Bitcoin
Smart Contracts - The Blockchain Beyond Bitcoin
 
Bitcoin Protocols 1.0 and 2.0 Explained in the Series: Blockchain: The Inform...
Bitcoin Protocols 1.0 and 2.0 Explained in the Series: Blockchain: The Inform...Bitcoin Protocols 1.0 and 2.0 Explained in the Series: Blockchain: The Inform...
Bitcoin Protocols 1.0 and 2.0 Explained in the Series: Blockchain: The Inform...
 
How does blockchain work
How does blockchain workHow does blockchain work
How does blockchain work
 
Cryptocurrencies: The Mechanics Economic and Finance
Cryptocurrencies: The Mechanics Economic and FinanceCryptocurrencies: The Mechanics Economic and Finance
Cryptocurrencies: The Mechanics Economic and Finance
 

Similar to IBM Blockchain 101

Blockchain explained cata
Blockchain explained   cataBlockchain explained   cata
Blockchain explained cataMogul Marketing
 
Building blockchain applications using Java
Building blockchain applications using JavaBuilding blockchain applications using Java
Building blockchain applications using JavaSimon Stone
 
Ibm system storage solutions handbook
Ibm system storage solutions handbook Ibm system storage solutions handbook
Ibm system storage solutions handbook Diego Alberto Tamayo
 
Blockchain Explained v5.20
Blockchain Explained v5.20Blockchain Explained v5.20
Blockchain Explained v5.20Matt Lucas
 
Blockchain explained
Blockchain explainedBlockchain explained
Blockchain explainedIBM Sverige
 
Ibm blockchain - Hyperledger 15.02.18
Ibm blockchain - Hyperledger 15.02.18Ibm blockchain - Hyperledger 15.02.18
Ibm blockchain - Hyperledger 15.02.18TelecomValley
 
IBM Bluemix Nice Meetup #4-20170302 6 Meetup @INRIA - BlockChain
IBM Bluemix Nice Meetup #4-20170302 6 Meetup @INRIA - BlockChainIBM Bluemix Nice Meetup #4-20170302 6 Meetup @INRIA - BlockChain
IBM Bluemix Nice Meetup #4-20170302 6 Meetup @INRIA - BlockChainIBM France Lab
 
An introduction to blockchain and hyperledger v ru
An introduction to blockchain and hyperledger v ruAn introduction to blockchain and hyperledger v ru
An introduction to blockchain and hyperledger v ruLennartF
 
IBM Blockchain Platform Explained v2.2
IBM Blockchain Platform Explained v2.2IBM Blockchain Platform Explained v2.2
IBM Blockchain Platform Explained v2.2Matt Lucas
 
Ibm blockchain platform explained
Ibm blockchain platform explained Ibm blockchain platform explained
Ibm blockchain platform explained LennartF
 
Ibm blockchain platform explained
Ibm blockchain platform explained Ibm blockchain platform explained
Ibm blockchain platform explained LennartF
 
TDC2018FLN | Trilha Blockchain - BlockChain Casos de Usos alem das CryptoMoedas
TDC2018FLN | Trilha Blockchain - BlockChain Casos de Usos alem das CryptoMoedasTDC2018FLN | Trilha Blockchain - BlockChain Casos de Usos alem das CryptoMoedas
TDC2018FLN | Trilha Blockchain - BlockChain Casos de Usos alem das CryptoMoedastdc-globalcode
 
Making Blockchain Real for Business - Kathryn Harrison (IBM, Middle East and ...
Making Blockchain Real for Business - Kathryn Harrison (IBM, Middle East and ...Making Blockchain Real for Business - Kathryn Harrison (IBM, Middle East and ...
Making Blockchain Real for Business - Kathryn Harrison (IBM, Middle East and ...ideaport
 
Making Blockchain Real for Business at the "z Systems Agile Enterprise Develo...
Making Blockchain Real for Business at the "z Systems Agile Enterprise Develo...Making Blockchain Real for Business at the "z Systems Agile Enterprise Develo...
Making Blockchain Real for Business at the "z Systems Agile Enterprise Develo...DevOps for Enterprise Systems
 
Getting started with bc 2.0 in the cloud
 Getting started with bc 2.0 in the cloud Getting started with bc 2.0 in the cloud
Getting started with bc 2.0 in the cloudLennartF
 
Making blockchain works for business
Making blockchain works for businessMaking blockchain works for business
Making blockchain works for businessPatrick Yong
 
IBM - Blockchain Explained - Introduction for Business
IBM - Blockchain Explained - Introduction for BusinessIBM - Blockchain Explained - Introduction for Business
IBM - Blockchain Explained - Introduction for BusinessIBM Sverige
 
What's New Blockchain for Business (August 2019)
What's New Blockchain for Business (August 2019)What's New Blockchain for Business (August 2019)
What's New Blockchain for Business (August 2019)Matt Lucas
 

Similar to IBM Blockchain 101 (20)

Blockchain explained cata
Blockchain explained   cataBlockchain explained   cata
Blockchain explained cata
 
Building blockchain applications using Java
Building blockchain applications using JavaBuilding blockchain applications using Java
Building blockchain applications using Java
 
Ibm system storage solutions handbook
Ibm system storage solutions handbook Ibm system storage solutions handbook
Ibm system storage solutions handbook
 
Blockchain. Massimo Chiriatti, IBM
Blockchain. Massimo Chiriatti, IBMBlockchain. Massimo Chiriatti, IBM
Blockchain. Massimo Chiriatti, IBM
 
Blockchain Explained v5.20
Blockchain Explained v5.20Blockchain Explained v5.20
Blockchain Explained v5.20
 
Blockchain explained
Blockchain explainedBlockchain explained
Blockchain explained
 
Ibm blockchain - Hyperledger 15.02.18
Ibm blockchain - Hyperledger 15.02.18Ibm blockchain - Hyperledger 15.02.18
Ibm blockchain - Hyperledger 15.02.18
 
IBM Bluemix Nice Meetup #4-20170302 6 Meetup @INRIA - BlockChain
IBM Bluemix Nice Meetup #4-20170302 6 Meetup @INRIA - BlockChainIBM Bluemix Nice Meetup #4-20170302 6 Meetup @INRIA - BlockChain
IBM Bluemix Nice Meetup #4-20170302 6 Meetup @INRIA - BlockChain
 
An introduction to blockchain and hyperledger v ru
An introduction to blockchain and hyperledger v ruAn introduction to blockchain and hyperledger v ru
An introduction to blockchain and hyperledger v ru
 
Blockchain Explained for Devlopers
Blockchain Explained for DevlopersBlockchain Explained for Devlopers
Blockchain Explained for Devlopers
 
IBM Blockchain Platform Explained v2.2
IBM Blockchain Platform Explained v2.2IBM Blockchain Platform Explained v2.2
IBM Blockchain Platform Explained v2.2
 
Ibm blockchain platform explained
Ibm blockchain platform explained Ibm blockchain platform explained
Ibm blockchain platform explained
 
Ibm blockchain platform explained
Ibm blockchain platform explained Ibm blockchain platform explained
Ibm blockchain platform explained
 
TDC2018FLN | Trilha Blockchain - BlockChain Casos de Usos alem das CryptoMoedas
TDC2018FLN | Trilha Blockchain - BlockChain Casos de Usos alem das CryptoMoedasTDC2018FLN | Trilha Blockchain - BlockChain Casos de Usos alem das CryptoMoedas
TDC2018FLN | Trilha Blockchain - BlockChain Casos de Usos alem das CryptoMoedas
 
Making Blockchain Real for Business - Kathryn Harrison (IBM, Middle East and ...
Making Blockchain Real for Business - Kathryn Harrison (IBM, Middle East and ...Making Blockchain Real for Business - Kathryn Harrison (IBM, Middle East and ...
Making Blockchain Real for Business - Kathryn Harrison (IBM, Middle East and ...
 
Making Blockchain Real for Business at the "z Systems Agile Enterprise Develo...
Making Blockchain Real for Business at the "z Systems Agile Enterprise Develo...Making Blockchain Real for Business at the "z Systems Agile Enterprise Develo...
Making Blockchain Real for Business at the "z Systems Agile Enterprise Develo...
 
Getting started with bc 2.0 in the cloud
 Getting started with bc 2.0 in the cloud Getting started with bc 2.0 in the cloud
Getting started with bc 2.0 in the cloud
 
Making blockchain works for business
Making blockchain works for businessMaking blockchain works for business
Making blockchain works for business
 
IBM - Blockchain Explained - Introduction for Business
IBM - Blockchain Explained - Introduction for BusinessIBM - Blockchain Explained - Introduction for Business
IBM - Blockchain Explained - Introduction for Business
 
What's New Blockchain for Business (August 2019)
What's New Blockchain for Business (August 2019)What's New Blockchain for Business (August 2019)
What's New Blockchain for Business (August 2019)
 

Recently uploaded

Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 

Recently uploaded (20)

Odoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting ServiceOdoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting Service
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 

IBM Blockchain 101

  • 1. IBM Blockchain 101 Introduction to IBM Blockchain for Developers Alexander Al Basosi Blockchain & Full Stack Developer IBM Garage for Cloud
  • 2. IBM Blockchain Platform The IBM Blockchain Platform and Hyperledger Fabric What is Blockchain? What is Blockchain and how it benefits businesses Your first app Using the IBM Blockchain Platform to build your first app
  • 3. 3 Business networks, wealth and markets • Business Networks benefit from connectivity – Participants are customers, suppliers, banks, partners – Cross geography and regulatory boundary • Wealth is generated by the flow of goods and services across business network in transactions and contracts • Markets are central to this process: – Public (fruit market, car auction), or – Private (supply chain financing, bonds)
  • 4. 4 Transferring assets, building value Anything that is capable of being owned or controlled to produce value, is an asset Two fundamental types of asset Intangible assets subdivide Cash is also an asset • Tangible, e.g. a house • Intangible, e.g. a mortgage • Financial, e.g. bond • Intellectual, e.g. patents • Digital, e.g. data • Has property of anonymity
  • 5. 5 Ledgers, Transactions and Contracts • Ledger: an important log of all transactions – Describes the inputs and outputs of the business • Transaction: an asset transfer between participants – Matt gives a car to Dave (simple) • Contract: the conditions for a transaction to occur – If Dave pays Matt money, then car passes from Matt to Dave (simple) – If car won't start, funds do not pass to Matt (as decided by third party arbitrator) (more complex)
  • 7. 7 Problem inefficient, expensive, vulnerable Participant A’s records Participant B’s records Bank records Insurer records Regulator records Auditor records
  • 8. 8 Blockchain Participant A’s records Participant B’s records Bank records Insurer records Regulator records Auditor records Solution A shared, replicated, permissioned ledger… …with consensus, provenance, immutability and finality
  • 9. 9 Different types of blockchain – The first blockchain application – Defines a shadow-currency and its ledger – Resource intensive is an example of an unpermissioned, public blockchain • All blockchains aim to provide irrefutable proof that a set of transactions occurred between participants • Different types of blockchain exist: • Blockchains for business generally prioritize – Assets over cryptocurrency; Identity over anonymity; Selective endorsement over proof of work
  • 10. 10 Requirements of blockchain for business Participants decide which assets to share ASSETS Participants know who they are dealing with; information shared is need-to-know IDENTITY Participants give provable endorsement ENDORSEMENT
  • 11. 11 Assets The business network decides what to share on the ledger • Assets are anything of value – On the blockchain, these are represented digitally using a pre-agreed format • Transactions change the state of an asset and are provably recorded on the blockchain – e.g. transfer ownership, change color • Transactions are underpinned by smart contracts – Verifiable business rules that cause the asset to change state
  • 12. 12 Identity Knowing who you’re dealing with • Various regulations applied to businesses require them to know who they are dealing with – e.g. KYC, AML, CFT • Identity is used to ensure business networks are kept private and individual transactions confidential – With transparency for the regulator • There are established methods for obtaining and asserting identity – Cryptography is central to these – Identity allows transactions to be signed and encrypted
  • 13. 13 Transaction Endorsement Provable verification by relevant participants • Endorsement is the process in which a transaction is verified as “good” – Ensures that participants are happy to accept the transaction according to the smart contract, prevent double spending, etc. • Endorsement can be expensive in public blockchains – Without identity, transactions are thrown to the whole network for endorsement – Proof of work is particularly CPU intensive • In the real world, transactions are endorsed by a smaller number of participants – e.g. sender bank, receiver bank, payments provider – Must be completed in an appropriate timeframe
  • 14. 14 What is blockchain?  Blockchain lets you build a decentralized business network  Blockchain builds on basic business concepts  Business networks connect businesses  Participants with Identity  Assets flow over business networks  Transactions describe asset exchange  Contracts underpin transactions  The ledger is a log of transactions  IBM Blockchain Platform allows you to build, operate and grow blockchain networks in heterogeneous environments
  • 15. 15 IBM has a long provenance with blockchain… AUG 2015 IBM starts developing first prototype of blockchain technology (Open Blockchain); first client engagements FEB 2016 IBM becomes a founding member of Linux Foundation Hyperledger; donates code and intellectual property DEC 2016 Number of IBM blockchain client engagements now totals over 400 NOV 2019 Kubernetes v1.15+ supported AUG 2017 IBM Launches the IBM Blockchain Platform for enterprise use cases OCT 2018 IBM Food Trust becomes generally available MAY 2019 IBM Blockchain Platform for IBM Cloud released JUNE 2019 IBM Blockchain Platform for Multicloud released
  • 16. What is Blockchain? What is Blockchain and how it benefits businesses IBM Blockchain Platform The IBM Blockchain Platform and Hyperledger Fabric Your first app Using the IBM Blockchain Platform to build your first app
  • 17. 17 Hyperledger: A Linux Foundation project • IBM Blockchain Platform is underpinned by technology from the Hyperledger project • Hyperledger is a collaborative effort created to advance cross-industry blockchain technologies for business • Founded February 2016 and has since gathered significant cross-industry momentum • Open source Open standards Open governance model Source: https://www.hyperledger.org/members Updated: 24 September 2020 Premier Associate Academia Associate General General
  • 18. 18 Distributed ledger • An implementation of blockchain technology that is a foundation for developing blockchain applications • Emphasis on ledger, smart contracts, consensus, confidentiality, resiliency and scalability. • V2.2 released July 2020 – Long Term Service production release with emphasis on smart contract lifecycle and governance • IBM is one of the many contributing organizations
  • 19. 19 Advanced tooling Create & manage smart contracts, applications & networks Open technology Hyperledger Fabric, Containers, Kubernetes Deploy anywhere Comprehensive cloud & on-premises options Introducing IBM Blockchain Platform Build and operate Hyperledger Fabric networks Developer tools Operator tools on prem IBM Kubernetes Service Container virtualization & orchestration Multi-cloud deployment …
  • 20. 20 What is IBM Blockchain Platform? A set of advanced tooling to accelerate market-leading open source technology, with the flexibility to deploy anywhere. Build Seamless developer tools Operate Intuitive console to manage and govern Open source, standards and governance Kubernete s  VSCode extension  SDKs  Gateway to Platform  Manage Fabric components  Live patches and updates  Governance members and smart contracts on prem IBM LinuxONE Advanced Tooling Create and manage all components and policies that encompass a blockchain network Open Technology Hyperledger Fabric, Containers, Kubernetes Deploy Anywhere Comprehensive cloud & on-premises options
  • 21. 21 IBM Blockchain Platform: Deploy anywhere  IBM Blockchain Platform can be deployed wherever you want  IBM Cloud for an IBM-managed service, using IBM Kubernetes Service or Red Hat OpenShift (ROKS)  On-premises or in other cloud providers for greater deployment flexibility, using any Kubernetes v1.15+ environment (e.g. RH OpenShift, OKD, AKS, Rancher)  Fully heterogeneous: different components can be deployed in different environments  Caters for different vendor biases in the business network and avoids lock-in IBM Blockchain Platform Azure AWS On Prem IBM Cloud IKS
  • 22. 22 IBM Blockchain Platform’s advanced tooling: Build  Comprehensive developer tools for smart contracts and client applications, based on the popular Visual Studio Code environment  A library of getting started developer tutorials that lead to accredited badges  Simplified DevOps allows you easily move from development to test to production from a single console
  • 23. 23  Maintain complete control of your blockchain: govern and operate ledgers, channels, identities and other assets in one intuitive console  Deploy only the blockchain components you need and manage them - wherever they are hosted  Support for highly available environments and disaster recovery scenarios IBM Blockchain Platform’s advanced tooling: Operate
  • 24. 24 IBM Blockchain Platform has affordable pricing that scales with your network  Get what you need and only pay for what you use  Pay less per CPU-hour as your network grows  Customize your components and compute allocation to fit your use-case and budget with no fixed membership fees! US pricing as of Feb 2020. See https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-saas-pricing
  • 25. 25 1. Go to the IBM Cloud console (cloud.ibm.com) and search the catalog for blockchain Starting with IBM Blockchain Platform for IBM Cloud
  • 26. 26 2. Create your blockchain service instance 1. Go to the IBM Cloud console (cloud.ibm.com) and search the catalog for blockchain Starting with IBM Blockchain Platform for IBM Cloud
  • 27. 27 2. Create your blockchain service instance 1. Go to the IBM Cloud console (cloud.ibm.com) and search the catalog for blockchain 3. Create and attach an IBM Kubernetes Service cluster Starting with IBM Blockchain Platform for IBM Cloud
  • 28. 28 1. Go to the IBM Cloud console (cloud.ibm.com) and search the catalog for blockchain 2. Create your blockchain service instance 4. Launch blockchain console 3. Create and attach an IBM Kubernetes Service cluster Starting with IBM Blockchain Platform for IBM Cloud
  • 29. 29 1. Go to the IBM Cloud console (cloud.ibm.com) and search the catalog for blockchain 2. Create your blockchain service instance 4. Launch blockchain console 5. Success! Create or join networks, scale, customize, add HA… 3. Create and attach an IBM Kubernetes Service cluster …and you’re on your way! Starting with IBM Blockchain Platform for IBM Cloud
  • 30. 30 Top new features in IBM Blockchain Platform 2.1.3 For more information go here: https://cloud.ibm.com/docs/blockchain?topic=blockchain-release-notes-saas-20 HL Fabric 1.4.6 Support for latest version of Hyperledger Fabric – 1.4.6 – less than 1 month after the community code release Key management Industry-leading security with integrated hardware security module (HSM) support using PKCS 11 Distributed Raft Run a fully distributed ordering service across multiple environments and cloud providers LinuxONE and IBM Z Further enhancement of multicloud networks with support for Red Hat OpenShift on LinuxONE and Linux on IBM Z Java smart contracts Full support for Java smart contracts using the new contract application programming interface
  • 31. What is Blockchain? What is Blockchain and how it benefits businesses IBM Blockchain Platform The IBM Blockchain Platform and Hyperledger Fabric Your first app Using the IBM Blockchain Platform to build your first app
  • 32. 32 The IBM Blockchain Platform toolset • IBM Blockchain Platform comprises an intuitive set of tools for building, operating and growing Hyperledger Fabric networks • The purpose of this presentation is not to guide you through every feature of the tools – you will find them intuitive! • We will instead focus on useful tips, and things you might need to remember when using them VS Code IBM Blockchain Platform Extension IBM Blockchain Platform Console Kubernetes Dashboard
  • 33. 33 Navigating VS Code The basics of this powerful, popular editor Click in sidebar to expand and contract contextual set of panes Marketplace for installing extensions Parameters for commands entered here. Also used for quick navigation (Ctrl+P) File editor and overview Output, debug, terminal etc. Notifications
  • 34. 34 Setting up the IBM Blockchain Platform VS Code Extension 1. Install VS Code 2. Click Marketplace in sidebar 3. Search Marketplace for ”IBM Blockchain Platform” 4. Review and fix any pre- requisites 5. Start! Required / optional components What you already have When you’re ready, click here to begin Tip: Ctrl+P “> IBM Prereq” will return to the pre-req checker once you’re running
  • 35. 35 Navigating the VS Code Extension This is what you see when you launch the IBM Blockchain Platform extension for the first time Click here (Or ‘Blockchain Home’ at bottom) to return to this Home page in the future if you need to Output from running commands etc. Notifications Switch to IBM Blockchain Platform view Tutorials here!Views: Smart contracts Fabric Environments Gateways Wallets
  • 36. 36 Getting started with Tutorials Learn Hyperledger developer concepts and gain accredited badges • An initiative to make it easier to learn our tools: • Lower our barriers to entry • Increase developer advocacy • Help adoption of IBM Blockchain Platform • Tutorials built directly into the IBM Blockchain Platform VS Code plugin • Foundation developer set shipped in 1.0.28 • Intermediate Administrator set coming soon • Progress is coupled with IBM badges on Acclaim
  • 37. 37 Developing Smart Contracts: Concepts The structure of a smart contract project Use Explorer view when editing package.json describes smart contract Tip: FabCar and Commercial Paper are good exemplars! Smart contract code implements Contract interface Folder view (from filesystem)
  • 38. 38 Testing Smart Contracts [1/2] The basics for smart contract testing Hover here to reveal “…” and select Package Open Project. This builds the smart contract package Click here to start an embedded local Hyperledger Fabric instance Install and instantiate your smart contract Use IBM Blockchain Platform view when deploying Right click smart contracts to export as .cds file
  • 39. 39 Testing Smart Contracts [2/2] The basics for smart contract testing Connect to gateways for working with local or remote blockchain networks Shows available channels and smart contracts Wallets show available identities, used for connecting to remote networks Right click to submit / evaluate transactions without requiring a client application
  • 40. 40 Building Applications The basics for client application development • While you can submit and evaluate transactions from VS Code, real blockchain use-cases will require client applications to interact with the ledger. • You can create and test these client applications from VS Code too, just like any other development project. • Test within VS Code, command line or whatever environment you choose Use Fabric SDK
  • 41. 41 Navigating the IBM Blockchain Platform Console This is what you see when you launch the IBM Blockchain Platform service Sidebar: • Nodes (selected) • Channels • Smart contracts • Wallets • Organizations • Users • Settings Tutorials, e.g. • Build, Join • Develop, Deploy Actions to create or add things are always shown in blue
  • 42. 42 Working with nodes in the console Manage peers, certificate authorities and ordering services from the same pane Green square = running Deployment location ID of owning organization Select for more details Create and import additional nodes Check here for resource utilization
  • 43. 43 The importance of identities Registering and enrolling using certificate authorities CA • Managing identity is a critical part of a network • All users and components have an identity • These are managed in the console under the CA node • Make a note of what identities are used where; avoid reuse • Two step process helps ensure admins can’t hijack identities 1. CA admin registers the identity in the CA with an enroll ID and secret; passes details to identity owner 2. Owner enrolls the identity using these details (e.g. when creating nodes); certificates are generated for the owner to work with. • Certificates are stored in wallets and stay in local browser storage by default • Certificates can move between wallets but are not managed by IBM. • Take care when switching browsers!
  • 44. 44 Example: Creating a peer node • Select Add peer -> Create new • Several panels guide you through the new peer’s details • Display name • Peer’s identity to enroll (CA, peer enroll ID, secret) • Owning organization • TLS identity (for secure communication) • Administrator’s identity • Additional options cater for advanced deployment options (e.g. CouchDB vs. LevelDB) • Peer is then created and started automatically • See the next section for a full build tutorial! P1
  • 45. 45 Logging and monitoring Using Kubernetes to drill into the details • Each IBM Blockchain Platform component is run within a docker container and managed through a Kubernetes service • IBM Kubernetes Service (for components on IBM Cloud) or OpenShift (for components deployed on other clouds or on-premises) • Access component details from Kubernetes dashboard 1. Select cluster from IBM Cloud Dashboard 2. Click Kubernetes dashboard 3. Select nXXXXXX namespace 4. Click Pods to see components 5. Select individual pods for further details • IP addresses, parameters, storage etc. 6. Click Logs for debug information
  • 46. 46 Logging and monitoring Exporting metrics for further analysis • There are several monitoring tools which can extract and visualize blockchain metrics, e.g.: • Grafana is a general purpose dashboard and graph composer, available at metrics.[region.]bluemix.net • Sysdig is an systems monitoring and troubleshooting service, available on IBM Cloud • Prometheus is a monitoring and alerting toolkit that aggregates time series data • IBM Blockchain Platform exposes a /metrics endpoint that can be used by tools for this purpose.
  • 47. Build your first network
  • 48. 48 What we are building The target IBM Blockchain Platform environment CA: Certificate Authority P: Peer S: Smart Contract OS: Ordering Service msp: Membership Services Provider (identifies the organization on the network) CA P1 S ORG1 org1msp OS osmsp OS ORG Channel1 CA CA P2 S ORG2 org2msp S
  • 49. 49 S Who is building the network The organizations and roles CA P1 S ORG1 org1msp OS osmsp OS ORG Channel1 CA CA P2 S ORG2 org2msp OS ORG OS Admin ORG1 Builder Admin ORG2 Joiner Admin Developer
  • 50. 50 1.Build the network • Create an ordering service, peer, channel and first CAs 2.Join the network • Repeat for each additional organization in the consortium 3.Deploy smart contracts • And test transactions to make sure everything works How we are building it The high level sequence of steps
  • 51. 51 Building a network [1/5] 1. Builder Admin creates a peer organization and peer • Create the peer organization CA • Associate the CA admin identity • Using the CA to register identities • Create the peer organization MSP definition • Create the peer Detailed tutorial at IBM Blockchain Platform Console -> Get Started -> Build a Network CA P1 ORG1 org1msp
  • 52. 52 Building a network [2/5] 1. Builder Admin creates a peer organization and peer 2. OS Admin creates the ordering service • Create the ordering service organization CA • Associate the CA admin identity • Use the CA to register the ordering service node + OS Admin identities • Create the ordering service organization MSP definition • Deploy the ordering nodes Detailed tutorial at IBM Blockchain Platform Console -> Get Started -> Build a Network CA P1 ORG1 org1msp OS osmsp OS ORG CA
  • 53. 53 Building a network [3/5] 1. Builder Admin creates a peer organization and peer 2. OS Admin creates the ordering service 3. OS Admin adds ORG1 to the consortium hosted by the ordering service * 1. Builder Admin exports the ORG1 information and sends to the OS Admin 2. OS Admin imports the ORG1 definition into the ordering service and add its peer’s org to the OS 3. OS Admin exports the OS definition 4. Builder Admin imports the OS definition Detailed tutorial at IBM Blockchain Platform Console -> Get Started -> Build a Network CA P1 ORG1 org1msp OS osmsp OS ORG CA org1msp OS * If the OS Admin and Builder Admin are running in the same console, the sub-steps are not required. The console will let you simply add ORG1 directly to the Ordering Service.
  • 54. 54 Building a network [4/5] 1. Builder Admin creates a peer organization and peer 2. OS Admin creates the ordering service 3. OS Admin adds ORG1 to the consortium hosted by the ordering service 4. Builder Admin creates a channel Detailed tutorial at IBM Blockchain Platform Console -> Get Started -> Build a Network CA P1 ORG1 org1msp OS osmsp OS ORG CA Channel1
  • 55. 55 Building a network [5/5] 1. Builder Admin creates a peer organization and peer 2. OS Admin creates the ordering service 3. OS Admin adds ORG1 to the consortium hosted by the ordering service 4. Builder Admin creates a channel 5. Builder Admin joins the peer to the channel Detailed tutorial at IBM Blockchain Platform Console -> Get Started -> Build a Network CA P1 ORG1 org1msp OS osmsp OS ORG CA Channel1
  • 56. 56 Joining a network [1/4] 1. Joiner Admin creates a peer organization and peer 1. Create ORG2 CA 2. Associate the CA admin identity 3. Use the CA to register ORG2 identities 4. Create the ORG2 MSP definition 5. Create the peer Detailed tutorial at IBM Blockchain Platform Console -> Get Started -> Join a Network CA P1 ORG1 org1msp OS osmsp OS ORG CA Channel1 CA P2 ORG2 org2msp
  • 57. 57 Joining a network [2/4] 1. Joiner Admin creates a peer organization and peer 2. OS Admin adds ORG2 to the existing ordering service * 1. Joiner Admin exports the organization information and sends to the OS admin 2. OS Admin imports the ORG2 definition into the ordering service and add its peer’s org to the OS 3. OS Admin exports the OS definition 4. Joiner Admin imports the OS definition Detailed tutorial at IBM Blockchain Platform Console -> Get Started -> Join a Network CA P1 ORG1 org1msp OS osmsp OS ORG CA Channel1 CA P2 ORG2 org2msp * If the OS Admin and Joiner Admin are running in the same console, the sub-steps are not required. The console will let you simply add ORG2 directly to the Ordering Service. org2msp OS
  • 58. 58 Joining a network [3/4] 1. Joiner Admin creates a peer organization and peer 2. OS Admin adds ORG2 to the existing ordering service 3. A channel admin (e.g. Builder Admin) must add the peer’s organization to the existing channel Detailed tutorial at IBM Blockchain Platform Console -> Get Started -> Join a Network CA P1 ORG1 org1msp OS osmsp OS ORG CA Channel1 CA P2 ORG2 org2msp
  • 59. 59 Joining a network [4/4] 1. Joiner Admin creates a peer organization and peer 2. OS Admin adds ORG2 to the existing ordering service 3. A channel admin (e.g. Builder Admin) must add the peer’s organization to the existing channel 4. Joiner Admin joins the peer to the channel …and/or create more channels as required Detailed tutorial at IBM Blockchain Platform Console -> Get Started -> Join a Network CA P1 ORG1 org1msp OS osmsp OS ORG CA Channel1 CA P2 ORG2 org2msp
  • 60. 60 Deploying a smart contract [1/3] 1. Developer writes a smart contract in VSCode and packages as a .cds file Detailed tutorial at IBM Blockchain Platform Console -> Get Started -> Deploy Smart Contracts CA P1 ORG1 org1msp OS osmsp OS ORG CA Channel1 CA P2 ORG2 org2msp S
  • 61. 61 Deploying a smart contract [2/3] 1. Developer writes a smart contract in VSCode and packages as a .cds file 2. Admins install the .cds file on each endorsing peer Detailed tutorial at IBM Blockchain Platform Console -> Get Started -> Deploy Smart Contracts CA P1 ORG1 org1msp OS osmsp OS ORG CA Channel1 CA P2 ORG2 org2mspSS
  • 62. 62 Deploying a smart contract [3/3] 1. Developer writes a smart contract in VSCode and packages as a .cds file 2. Admins install the .cds file on each endorsing peer 3. A channel operator (e.g. Builder Admin or Joiner Admin) instantiates the smart contract once per channel. Detailed tutorial at IBM Blockchain Platform Console -> Get Started -> Deploy Smart Contracts CA P1 ORG1 org1msp OS osmsp OS ORG CA Channel1 CA P1 ORG2 org2mspSS S
  • 63. 63 Testing a smart contract 1. Download connection profile using “Connect with SDK” option against chaincode in console 2. If endorsement from multiple organizations is needed, nominate anchor peers on channel to allow discovery 3. Use connection profile to add gateway in VSCode 4. In VSCode add wallet and create identity from the CA enrollment ID 5. Connect to gateway 6. Discover channels and submit / evaluate transactions Detailed tutorial at IBM Blockchain Platform Console -> Get Started -> Deploy Smart Contracts CA P1 ORG1 org1msp OS osmsp OS ORG CA Channel1 CA P2 ORG2 org2mspSS S
  • 64. 64 Success! • Now that you’ve seen how to create a basic network, you should also be able to see how more advanced environments can evolve: • Multiple channels, peers etc. • Import and manage components running on-premises or on other clouds • Achieve high availability • Govern changes to the network (e.g. onboarding and offboarding) • Deploy additional smart contracts, endorsement policies etc. • Often, you just need to rerun the relevant join or deploy steps to get the configuration you need CA P1 ORG1 org1msp OS osmsp OS ORG CA Channel1 CA P2 ORG2 org2mspS S S
  • 66. Questions? Tweet us or go to ibm.com/blockchain @IBMBlockchain IBM Blockchain IBM Blockchain Thank you! Alexander Al Basosi Blockchain & Full Stack Developer IBM Garage for Cloud
  • 67. © Copyright IBM Corporation 2020. 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.

Editor's Notes

  1. This is a high-level introduction to blockchain concepts and business value.
  2. This presentation is in three sections: What is Blockchain: Covers the essentials of blockchain for business Example networks: Some places where blockchain has been successful How can IBM help: IBM’s value proposition and the state of the technology In this first section, we will discuss what blockchain is.
  3. We’ll start by looking at the business context in which blockchain applies. Businesses never operate in isolation, they participate in business networks. Business networks connect customers, suppliers, banks and regulators and will often cross geographical boundaries and different industries. Wealth is generated as goods and services move across these business networks. Car manufacturers will pay suppliers for the raw materials to assemble a car, which is then sold to dealers who then sell the car to us. Markets facilitate this process of exchange. There are public markets that anyone can join, and private markets that are restricted in terms of their membership.  However they work, efficient markets help wealth to be accumulated by their participants. Conversely, growth of wealth can be constrained if the network is heavily silo’d or inefficient.
  4. The term asset is used to describe anything of significant value. Assets typically change ownership as they flow between participants in a business network, usually in exchange for payments. We tend to think of assets as tangible- things that we can see and touch, like cars and houses. But assets can also be intangible - for example, financial instruments, intellectual property, customer data, or the right to listen to a piece of music. Money is, of course, an asset too. Cash - physical notes and coins - is anonymous; there’s no way for people to prove that cash is theirs other than the fact it happens to be in their wallet. This makes it difficult to track and difficult to tax. This property is important when we look at different blockchain implementations later on.
  5. Ledgers are arguably the most important systems of record in any business. Ledgers are simply transaction logs, and are important because they can be used to show what assets a business has, and therefore what a business is worth, which in turn influences investment decisions. A ledger comprises transactions which shows the changes in ownership of assets as they flow into and out of a business. More generally, transactions can be used to describe any change in state of an asset. For example, if respraying my car from yellow to green increases its resale value, this might be useful to log. Transactions are underpinned by contracts, which describe the business rules, or pre-requisites, for a transaction to be valid. If I sell my car to Dave, the terms of that transaction - for example, the circumstances in which Dave can get his money back, are agreed by both of us before we transact. There are problems with both ledgers and contracts, which stem from the fact that there are multiple participants who have a vested interest in their contents. - How do I know that the transaction I’ve recorded in my ledger tallies with the transaction that Dave’s recorded in his? - How do I know that the contract - the business rules associated with the transaction - are interpreted and implemented consistently between us? The answer to both of these questions is we don’t, and this can lead to significant costs of reconciliation, dispute resolution and legal processes.
  6. Blockchain aims to solve the problems of ledgers and contracts by allowing transactions and business rules to be shared between the participants of the business network. Blockchain can be thought of as a shared replicated ledger with smart contracts. So, blockchain is a LEDGER - a transaction log - but it SHARED between participants of the business network, so that the transactions each participant sees is identical. It’s also REPLICATED - participants retain copies so as to avoid any single points of failure. Smart contracts provide the shared implementation of the business rules associated with each transaction. Smart contracts are just pieces of computer code; as of today, they are not contracts in the legal sense; but they exist in the same way that IT systems execute the terms of a contract today. This sharing of transactions and contracts is the foundation for innovative business solutions, including the ability to remove ambiguity and friction from trade.
  7. Here is an example business network that contains six participants. Notice that, before blockchain, each participant has their own ledger, represented here by the books in different colours. Transactions between the participants are done point-to-point using a variety of mechanisms depending on the preferences of the participants - maybe over the internet, using file transfer, messaging systems, or older mechanisms such as phone calls or postal mail. Such a business network is EXPENSIVE due to reconciliation, duplication of effort and intermediaries adding margin for services. It is clearly INEFFICIENT, as the interactions are managed point-to-point, and the business rules are implemented by every network participant. It is also VULNERABLE because if a central system is compromised, maybe through fraud, cyber attack or a simple mistake, this can affect the whole business network.
  8. Now we have added a blockchain to this business network. It means that authorised participants can invoke transactions with each other and share smart contracts that underpin them - assuming agreed levels of privacy and confidentiality of course. The blockchain gives the business network four qualities of service - consensus, provenance, immutability and finality. CONSENSUS means that participants will collectively agree that each transaction is valid and the order of the transaction in relation to others. PROVENANCE means that participants know the history of the asset - for example, how its ownership has changed over time IMMUTABILITY means no participant can tamper with a transaction once it’s agreed. FINALITY means that once a transaction is committed, it cannot be reversed; in other words, the data cannot be rolled back to the previous state. If a transaction was in error then a NEW transaction must be used to reverse the error, with both transactions visible. Note that while the participants are exactly the same as before, because transactions are now more transparent, inefficiencies in the business network such as participants who do not add intrinsic value, may well become optimised out through market forces.
  9. Blockchains are all about adding irrefutable proof to transactions. This means that when we look at a transaction on the blockchain, we know that it is the same transaction that was agreed to previously by the appropriate set of participants. This gives us what we call non-repudiation; cryptographic evidence that the transaction happened. All blockchains aim to provide cryptographic proof, but different blockchain implementations require different other characteristics. For example, many people’s first experience of blockchain is through Bitcoin. This is a peer-to-peer payments system that allows people to send currency to one another without requiring a centralised intermediary, using a class of asset called a cryptocurrency. Bitcoin uses a blockchain to log all transactions, and a resource intensive process called Proof of Work to achieve consensus. Transactions in Bitcoin are public and visible to all, but the participants behind each transaction are largely anonymous, which makes it very difficult to track.
  10. The requirements of blockchains for business are generally different to Bitcoin’s. Firstly, blockchains for business are used to track any assets of value - tangible or intangible, and are not restricted to cryptocurrencies. Secondly, regulated businesses have requirements such as KYC (Know Your Customer) and AML (Anti Money Laundering), which require them to know who they are dealing with. Participants on business blockchains have known identity, using digital certificates, which also allows transactions to be signed and encrypted.  Transactions on business blockchains can be viewed by only those with a need to know, for example, a regulator. In public blockchains, the ledger is visible to all. Thirdly, in order to keep transactions confidential, businesses need fine-grained control over who agrees to (or endorses) transactions. In business blockchains, transactions are endorsed by a small subset of participants, such as those affected by the transaction and maybe a third party such as a payments provider. This is much more energy efficient than Proof of Work-based blockchains such as Bitcoin, which not only require a majority of the network to endorse a transaction, they also require transaction validators to arbitrarily burn electricity in order to remove incentives for fraud. After giving this chart: If you are pushed for time you might want to skip the next few charts, which go into the detail of this one. For a less technical audience, you might want to skip straight to a demo (e.g. Vehicle Lifecycle).
  11. Being able to represent *anything* of value is the first key requirement. The ledger is an append-only system of record that can record arbitrary information. Smart contracts are the rules that govern a transaction. This is the code that asks the blockchain to create, delete, modify or return the state of an asset. To a technical audience, a transaction is analogous to a stored procedure call on a database. The smart contract is simply a piece of code that runs; the input parameters to the code (and a reference to the code itself) are stored as the transaction details.
  12. Every business with whom IBM works is regulated in some way. Common requirements include KYC (Know Your Customer), AML (Anti-Money-Laundering) and CFT (Combatting the Financing of Terrorism). These all require that businesses know WHO they are dealing with. Standard PKI techniques establish identity (public/private keys), and these are trusted by the members of the business network. Also requires certificate revocation for off-boarding. User registration process to build trust network and access permission via certification management
  13. Endorsement is the process by which the network verifies a transaction. Bitcoin has no identity mechanism, and uses the wisdom of the network to determine whether a transaction is good. Bitcoin uses “Proof of Work” to achieve this, where validating nodes in the network burn electricity to prove their transaction block is genuine. Estimates vary, but research shows that Bitcoin has the power consumption requirements of a country like Ireland just in order to run this process. Business blockchains don’t have this requirement, because they have identity on the network – they already know who they’re dealing with, and the incentives are already in place to dissuade fraudulent behaviour (i.e. the desire the do business).
  14. Shows in a somewhat lighthearted way that IBM knows what it’s talking about when it comes to blockchain. For us it started around mid-2015; clients were asking for our opinion on blockchain, so we did some exploratory work to see the different blockchain technologies that were out there. Unfortunately we found nothing that was really compatible with the requirements of business - things like privacy and confidentiality. That led us to start prototyping something that became known as Open Blockchain, and we donated the code, development resource and intellectual property to the Linux Foundation Hyperledger project in early 2016. As time has moved on we have continued innovating with the technology and at the same time making blockchain a success for our clients with a huge number of blockchain engagements under our belt. This early adoption of blockchain by IBM has helped us become the recognized leader in blockchain for business.
  15. In this second section, we will discuss some of the real blockchain networks that IBM has built over the last few years, which will demonstrate the breadth of possibilities across any industry.
  16. It is important to correctly distinguish between the terms and projects here: Hyperledger is a trademark of the Linux Foundation and is the umbrella for a group of technologies designed to advance blockchain for business. Hyperledger Fabric is one framework that is underneath this umbrella. Contributors to Fabric include IBM, DTCC, Fujitsu and others. Other frameworks include Iroha and Sawtooth. IBM Blockchain is used to describe the breadth of technologies and services that are supplied uniquely by IBM (e.g. hosting on IBM Cloud). One of the key differentiators for Hyperledger is open governance. This means that there is no one controlling organisation that governs the direction of the project, and no lock-in to one particular vendor.
  17. Hyperledger Fabric is one of two Hyperledger projects that IBM is significantly investing in, although it is important to note that Fabric is NOT an IBM project. V1 was released on 11 July 2017 with developers representing 28 different organizations. Releases are roughly every three months. V1.1 was released in March 2018; V1.2 in July 2018; V1.3 in October 2018; V1.4 in January 2019.
  18. This is the IBM Blockchain Platform in a single chart. IBP is not just a hosting platform, but it aims to help with the entire lifecycle of a blockchain solution from inception through to deployment and beyond. The simplified architecture diagram on the right shows how the platform is put together. It’s built on the IBM Cloud platform, although other options are available, and makes use of the Hyperledger Fabric run time. There are a set of tools for solution development as well as tools to allow clients to govern and operate blockchain business networks. IBM’s key differentiators are down the left: (a) advanced TOOLING for building, operating and growing blockchain networks, and (b) the ability to deploy blockchains ANYWHERE. (c) Of course, everything is backed by the OPEN Hyperledger Fabric technology. The next few charts go into detail on each of these ideas.
  19. To demonstrate multicloud at Think 2019, Marley Gray (head of blockchain for Microsoft) and Gari Singh (IBM CTO for blockchain) connected a Hyperledger Fabric network running on Azure to IBM Blockchain Platform.
  20. VSCode Extension to write, test, debug, and deploy smart contracts Simple to advanced industry code samples and tutorials for blockchain apps Support for smart contracts in Javascript, Typescript, Node, and Go
  21. In this third section of the IBM Blockchain Essentials Course, I'll cover what IBM is doing with blockchain and how it's helping clients make blockchain real for business.
  22. Developer is purposefully not aligned to a particular organization. She can develop smart contracts somewhat independently of any organization, but may test by connecting to a conveniently accessible gateway sitting in either of the two peer-owning organizations.