SlideShare a Scribd company logo
1 of 48
Download to read offline
IBM Blockchain Platform: Technical Introduction
Get started with using IBM Blockchain Platform
V1.1, 4 October 2019
IBM Blockchain Platform Technical Series
Architectural Good Practices
Modeling Blockchain Applications
What’s New in Technology
Using IBM Blockchain Platform
Technical Introduction
Hyperledger Fabric
Concepts
Understand the technology that underpins
IBM Blockchain Platform
IBM Blockchain Platform
Concepts
Technical overview of
IBM Blockchain Platform
Tools
IBM Blockchain Platform tools that
simplify development and operations
4
Blockchain concepts
• Consider the business concepts that comprise blockchain solutions:
– Assets modeled as data structures
– Contracts modeled as algorithms
– Transactions modeled as invocations of algorithms
– Business Networks modeled as peer-to-peer networks
– Participants modeled as nodes on these networks
• IBM Blockchain Platform is based around Hyperledger Fabric
• We will now look at how Hyperledger Fabric exposes these
business concepts to the blockchain developer
• We will also look at the IBM Blockchain Platform tools that
help developers implement these concepts in a solution
© 2018 IBM Corporation
5
A simple consensus example (1/4) – a puzzle!
• Situation: A presenter in a room with 100 people, 10 of whom are mathematicians!
• Problem: Answer the question: What is the square root of 49?
• Question: Can everyone agree on an answer?
You are here!
Or here!
But not here ;)
a puzzle
a process
a problem
a policy
P
M M M M M
M M M M M
A
A
A
A
P
M
audience
mathematician
presenter
attendant
© 2018 IBM Corporation
6
A simple consensus example (2/4) – a process
Solution approach
1. The presenter asks every mathematician to calculate √49
2. Every mathematician writes their answer on a piece of paper, signs with their (digital) signature
3. The presenter collects every mathematician's signed response
4. The room attendants distribute copies of the signed answer to every member of the audience
5. Every audience member checks that every mathematician agrees the answer, or not!
6. Everyone is happy; there is consensus!
a puzzle
a process
a problem
a policy
P
M M M M M
M M M M M
A
A
A
© 2018 IBM Corporation
7
A simple consensus example (3/4) – a problem
Issues
1. How many mathematicians should the presenter ask?
2. How many mathematicians need to agree for an answer to be correct?
3. What happens if the mathematics disagree on the answer, or the presenter selects a bad answer?
à Everyone needs to agree what constitutes a good answer
a puzzle
a process
a problem
a policy
P
M M M M M
M M M M M
A
A
A
© 2018 IBM Corporation
8
A simple consensus example (4/4) – a policy
The importance of policy
1. The audience agrees a policy for good answers
2. Example policies:
– all mathematicians must agree
– the majority of mathematicians must agree
à Using this policy everyone can now agree what makes a good answer
a puzzle
a process
a problem
a policy
P
M M M M M
M M M M M
A
A
A
9
Transaction Endorsement
© 2018 IBM Corporation
10
Hyperledger Fabric multi-party transactions
• A transaction describes a change to a system
Examples:
– a change in bank balance
– a student receives an academic qualification
– a parcel is delivered
• Traditionally transactions are signed by a single organization
– a bank signs payment transactions
– a university signs graduation transactions
– a logistics company signs parcel receipt transactions
• Multi-party transactions are the heart of Hyperledger Fabric
– e.g. buyer and seller sign car transfer transaction
– e.g. logistics and delivery companies both sign parcel transaction
• Understand multi-party transactions and you will understand Fabric!
car transfer transaction:
identifier: 1234567890
proposal:
input: {CAR1, seller, buyer}
signature: input*seller
response:
output:
{CAR1.oldOwner=seller,
CAR1.newOwner=buyer}
signatures:
output signed by seller
output signed by buyer
A transaction to transfer a car is signed by
both the buyer and the seller
© 2018 IBM Corporation
11
A Hyperledger Fabric network
• A Hyperledger Fabric network comprises a set of nodes
• The most common type of node is a peer. Every peer hosts an instance of a ledger
• The network is decentralized; peer nodes are owned by different organizations
ORG 4
ORG 3
ORG 1
ORG 2
P7
P8
P9P4
P1
P2
P5
P6
P3
© 2018 IBM Corporation
12
Applications can query the ledger
• Querying the ledger is the simplest operation an application can perform!
• Applications can query any peer's ledger to determine the value of an object – every instance is the same!
• Applications typically query their own organization's peers
A1
ORG 2
P7
P8
P9P3 P4
P1
P2
P5
P6
ORG 4
ORG 3
ORG 1
A2
A3A4
© 2018 IBM Corporation
13
Applications submit transactions to the network
• Applications use smart contracts hosted on endorsing peers to create multi-party transactions
• Orderers group endorsed transactions into blocks which are distributed to every node
• Every node validates every transaction using the smart contract's endorsement policy
A1
S P
Every smart contract
has an endorsement
policy which defines the
organizations required
to sign its transactions
P1
S
ORG 1
P7
P8
P9P3 P4
P2
P6
ORG 2
P5
S
O1 O2 O3
TXN:1234
Signed:
ORG1
ORG2
1234
1234
1234
1234
1234
1234
1234
1234
1234
© 2018 IBM Corporation
14
The importance of identity
• Every actor has an associated X.509 identity issued by its organization's Certificate Authority
• A peer, orderer, application, organization, CA uses its identity to determine its organizational role
• This role determines the level of access an actor has to network resources, e.g. read/write the ledger
ORG 4
CA3
ORG 3
CA4
ORG 2CA2
P5
P6O2
A2
P7
P8
P9
O3 A2
P4
P3
A4
P1
P2
A1
ORG 1 CA1
O1
© 2018 IBM Corporation
15
Managing decentralized networks with policy
• Organizations in a consortium agree to form a network using a set of policies
• A network's policies encode each organization's rights, like a constitution
Examples:
– Every organization has the same authority over the network
– All organizations must agree any change to the network
– A majority of organizations must agree any change to the network
– A majority of organizations including particular organization must agree a change
• Hyperledger Fabric identity and policy – model the real world relationships between organizations
!
totality majority
approved
majority
transition between constitutions
with agreement
© 2018 IBM Corporation
16
Programming smart contracts
• A smart contract governs the lifecycle of an object. e.g. createCar, queryCar, updateCar, scrapCar...
• Implemented as a class; method contains relevant transaction logic in JavaScript, TypeScript, Java & Go*
• Installed on relevant organizations' peer(s). Execution results in digitally signed transaction response.
@Contract(name="org.papernet.commercialpaper")
@Default
class CommercialPaper implements ContractInterface {
public Context createContext(ChaincodeStub stub) {
return new CommercialPaperContext(stub);
}
@Transaction
public CommercialPaper issue(
CommercialPaperContext ctx,
String issuer,
String value,
String date,
int faceValue) {
// Interact with the ledger
getState(existingPaper);
putState(newPaper);
...
* Go under development
© 2018 IBM Corporation
17
Submitting transactions and querying the ledger
Path walletPath = Paths.get("wallet");
Wallet wallet = Wallet.createFileSystemWallet(walletPath); // Access file wallet
Path networkConfigPath = Paths.get("..", "..", "paper-network", "connection.json");
// Identify a network using a CCP
Gateway.Builder builder = Gateway.createBuilder(); // Create gateway to the network
builder.commitHandler(DefaultCommitHandlers.MSPID_SCOPE_ANYFORTX); // One peer from my organization to reply
builder.identity(wallet, "admin").networkConfig(networkConfigPath);
try (Gateway gateway = builder.connect()) { // connect to the gateway
Network network = gateway.getNetwork("market1234"); // get the network
Contract contract = network.getContract("commercial-paper"); // get contract in network
String paper = contract.submitTransaction("issue", "IBM", "1000000", "2019-10-31")
// issue paper by IBM
contract.submitTransaction("move", paper, "ACME", "900000")) // sell paper to ACME
} catch (Exception ex) {
ex.printStackTrace();
}
• SDK provides wallet, identity, gateway, network, contract classes to access smart contract
• Ledger query: contract.evaluateTransaction(); update: contract.submitTransaction()
• Consensus managed transparently by SDK. Applications focus on WHAT not HOW.
• gatewayOptions parameterize popular interactions. e.g. wait for any/all peers in my organization to confirm
18
Understanding an application gateway
§Network topology constantly changing
– Peers, Orderers, CAs, smart contracts, ledgers
§Gateways isolate business logic from topology
– connectionProfile identifies components & roles
– connectionOptions specifies desired outcome
§Service Discovery
– CCP bootstrap -> discover networks dynamically!
Gateway
“transfer”
application
Connection
profile
Orderer
1
ManCorp
Orderer
2
DealerCorp
channel: drivenet
ManCorp DealerCorp
Peer2
ManCorp
Peer7
DealerCorp
Isabella
Peer1
ManCorp
Peer3
ManCorp
const connectionProfile = yaml.safeLoad('../gateway/driveNet.yaml');
const connectionOptions = {..., commitTimeout: 100,... };
const gateway = new Gateway();
await gateway.connect(connectionProfile, connectionOptions);
19
Understanding wallets
• Wallets store a identities available to a user
– Typically X.509 certificates and private keys
– Application can use multiple wallets & identities ...
• Applications connect to gateway with identity
– Identified in gateway connectionOptions
PaperNet
ID1: ManCorp.member
ID4: DealerCorp.member
MSP
BondNet
ID1: ManCorp.member
ID2: ManCorp.admin
MSP
ManCorp
Isabella
CA1
Wallet1
ID1
ID2
ID3
DealerCorp
CA2
Wallet2
ID4
App1 App2
Balaji
const user1 = 'paperUser1@mancorp.com';
const wallet = new FileSystemWallet('../identity/user/isabella/wallet');
const connectionOptions = {
identity: userName,
wallet: wallet,
eventHandlerOptions: {
commitTimeout: 100,
strategy: EventStrategies.MSPID_SCOPE_ANYFORTX
}
};
await gateway.connect(connectionProfile, connectionOptions);
20
Connecting to a network channel and smart contract
• Gateway gives access to multiple networks
– gateway.getNetwork('papernet')
• All instantiated smart contracts accessible
– network.getContract('papercontract')
• Construct transaction proposal & submit it!
– contract.submitTranaction('sell',
'paper05')
– Multiple gateways/channels/contracts at
once!
const network1 = await gateway.getNetwork('PaperNet');
const network2 = await gateway.getNetwork('BondNet');
const euroContract = await network1.getContract('EuroCommercialPaperContract');
const bondContract = await network2.getContract('BondContract');
const issueResponse = await euroContract.submitTransaction('issue', 'MagnetoCorp'...);
const sellResponse = await bondContract.submitTransaction('sell', 'BOND007'...)
MagnetoCorp DigiBank
issuer
App channel: papernet
Peer9
DigiBank
paper
contract
ledger
Peer1
MagnetoCorp
paper
contract
ledger
Orderer
1
MagnetoCorp
Orderer
2
DigiBank
Ordering service
Peer3
MagnetoCorp
ledger
Peer8
DigiBank
ledger
Peer2
MagnetoCorp
ledger
Peer7
DigiBank
ledger
21
Interacting with smart contracts and the ledger
• submitTransaction()
– Adds a fully signed new transaction to the ledger
– SDK manages entire multi-peer, ordering process
– Returns control when E/O/V complete (default)
• evaluateTransaction()
– Executes a transaction, but doesn't order it
– Typically used to query the ledger
– Only needs to interact with one peer
(pluggable handlers can be used for multi-peer query)
MagnetoCorp DigiBank
user
App channel: bond
Peer9
DigiBank
bonds
contract
ledger
Peer1
MagnetoCorp
bonds
contract
ledger
Orderer
1
MagnetoCorp
Orderer
2
DigiBank
Ordering service
Peer3
MagnetoCorp
ledger
Peer8
DigiBank
ledger
Peer2
MagnetoCorp
ledger
Peer7
DigiBank
ledger
bonds.submitTransaction('sell',
'BOND007');
bonds.evaluateTransaction('queryBond',
'BOND007');
1a 1b
1c1d
1e 1f
1
1
2
2a
2
22
Ledger notification interactions
• Three listener types:
– contract.addContractListener()
• wait for all transactions of given contract
– contract.addBlockListener()
• wait for blocks
– transaction.addTransactionListener()
• wait for specific transaction to be committed
const transaction = contract.createTransaction('sell');
transaction.addCommitListener(`${transactionId}-listener`, (err, txId, status, blockHeight) => {
...
if (status === ‘VALID’) {
console.info(‘Transaction committed’);
} else {
...
}, {checkpointer: false});
await transaction.submit('ibm', '1000000', '2019-03-31’);
MagnetoCorp DigiBank
issuer
App channel: papernet
Peer9
DigiBank
paper
contract
ledger
Peer1
MagnetoCorp
paper
contract
ledger
Orderer
1
MagnetoCorp
Orderer
2
DigiBank
Ordering service
Peer3
MagnetoCorp
ledger
Peer8
DigiBank
ledger
Peer2
MagnetoCorp
ledger
Peer7
DigiBank
ledger
1b
1a
1c
APIs under development in
FABN-1100, slated 2.0
23
Customizing behavior with
connectionOptions
• connectionOptions specifies gateway behaviour
– wallet: & identity: must be set by app
– All other options have sensible defaults
• Strategies codify most popular behaviour
– e.g. "wait for any/all peers in my organization"
• EventStrategies.MSPID_SCOPE_ANYFORTX
• EventStrategies.MSPID_SCOPE_ALLFORTX
• Handlers for programmable interactions
– User function gets control at appropriate point in transaction lifecycle with relevant topology, i.e.
peers
• e.g. startListening(), waitForEvents(), cancelListening()...
– Keeps separate from application business logic. Advanced feature; only required for special
scenarios
Gateway
“transfer”
application
Connection
options
Peer6
DealerCorp
channel: drivenet
ManCorp DealerCorp
Peer2
ManCorp
Peer7
DealerCorp
Isabella
Peer1
ManCorp
Peer3
ManCorp
ledger ledger ledger
ledger ledger
Hyperledger Fabric
Concepts
Understand the technology that underpins
IBM Blockchain Platform
IBM Blockchain Platform
Concepts
Technical overview of
IBM Blockchain Platform
Tools
IBM Blockchain Platform tools that
simplify development and operations
25
IBM Blockchain Platform is a key part of IBM’s
Blockchain Strategy
Solutions
Services
Ecosystem
IBM Blockchain Platform
Collaborate
with services
teams from
ideation all the
way to
production
Tap into our diverse ecosystem to develop strategic
partnerships and create your competitive advantage
Solve critical industry challenges by building and
joining new business networks and applications
Build, operate and grow blockchain
networks in heterogeneous environments
A founding, premier member of Hyperledger, IBM is
committed to open source, standards & governance
26
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, operate and grow Hyperledger Fabric networks
Developer
tools
Operator
tools
kubernetes
Kubernetes
on
prem
IBM
Kubernetes
Service
Container virtualization &
orchestration
Multi-cloud deployment
kubernetes
27
IBM Blockchain Platform Deployment Options
• There is just one IBM Blockchain Platform product
regardless of where it is deployed
– It sits on a Kubernetes container infrastructure on
your chosen provider
– Kubernetes provides common logging and
management services of the IBM Blockchain
Platform
• When run on IBM Cloud, the IBM Blockchain Platform
uses the IBM Cloud Kubernetes Service
– Use the free IBM Kubernetes tier for a free IBM
Blockchain Platform, or a paid IBM Kubernetes
tier for a paid IBM Blockchain Platform; free tiers
expire after 30 days
• When deployed on-premises or on any non-IBM cloud,
IBM Blockchain Platform uses Red Hat Openshift 3.11
– You provide your OpenShift instance
Developer
tools
Operator
tools
kubernetes
Kubernetes
on
prem
IBM
Kubernetes
Service
Container virtualization &
orchestration
Multi-cloud deployment
kubernetes
Hyperledger Fabric
Concepts
Understand the technology that underpins
IBM Blockchain Platform
IBM Blockchain Platform
Concepts
Technical overview of
IBM Blockchain Platform
Tools
IBM Blockchain Platform tools that
simplify development and operations
© 2019 IBM Corporation
29
Getting Started with Hyperledger Fabric
• The IBM Blockchain Platform makes it easy to get started with Hyperledger Fabric
• Download VSCode developer tool from VSCode marketplace. Linux, Windows and MacOS)
• Create local networks, smart contracts and applications. Move to multi-cloud when you're ready!
https://marketplace.visualstudio.com/items?itemName=IBMBlockchain.ibm-blockchain-platform
30
IBM Blockchain Platform Admin Console
• Multi-cloud administration tool
– Web UI to manage all IBP
components
• Configure infrastructure on IBM Cloud
– Configure IKS network, storage,
compute
• Connect & Manage components
– Peer, Orderer, CA, channel...
• Policy & Identity management
– Create, update, display channel
policies
• Smart contract package management
– Install, instantiate, upgrade, discover
31
On IBM Cloud, your blockchain components are
deployed to an IBM Kubernetes service
• Blockchain resources are deployed
into your own Kubernetes cluster
• This allows you to maintain control
over your resources (CPU, storage,
memory)
• Scale up or down as required for your
blockchain environment
• Start small, pay as you grow for what
you use with no upfront investment
• Maintain control of private keys
32
• The IBM Kubernetes Service
within IBM Cloud has a free cluster
and a paid cluster.
• Pick the cluster that works for you!
Selecting your Kubernetes cluster
33
• Intuitive console lets you manage network
components in one place, no matter where they
are deployed
• Manage nodes running in any environment (on-
premises, public, hybrid clouds)
• Easily connect a single peer to multiple industry
networks
• Deploy only the blockchain components you need
(Peer, Ordering Service, Certificate Authority)
• Different organizations can be hosted by different
consortium members in different clusters in
different geographies (zones)
Flexible deployment
34
• It is possible to use your own
certificates for peers and orderers
Adding your own certificates
35
• When using the paid
cluster, operational tools
will allow you to scale up or
down.
• Peers, orderers, and
certificate authorities can
be managed to balance
cost and performance.
https://www.ibm.com/blogs/blockchain/2019/01/answering-your-questions-on-hyperledger-fabric-performance-and-scale
Scaling up and down
36
• Easily invite or add
members to the consortium
without having to learn
fabric commands
Governance: Managing the Orderer
37
• Governing a consortium network takes
work, but operational tools make it easier
• Examples:
• Update members
• Update roles (who can read, who
can write)
• Update ACLs (who can perform
specific operations within the
smart contract)
• Update channel policy (who needs
to approve updates to the channel)
Governance: Managing channels
38
• Set up endorsement policy
on smart contracts
Governance: Endorsement policies
39
• Transactions are
committed in blocks
• Individual transactions
can be viewed
Viewing blocks and transactions
40
• Decide when you want to
apply patches
Applying maintenance patches
41
• You can see
exactly what is
deployed and if it’s
running
• Selecr
Viewing deployment in Kubernetes
42
• View Hyperledger Fabric logs
in Kubernetes dashboard
Logging and monitoring
43
• Get Metrics information for IKS
using Grafana or Sysdig
Logging and monitoring
Your Blockchain Service Your Infrastructure Resources
IBM Blockchain Platform
The instance that lets you deploy and manage your
Hyperledger Fabric nodes.
Learn more: https://cloud.ibm.com/docs/containers?topic=containers-ibm-cloud-kubernetes-service-technology
Operational Console (UI)
Hyperledger Fabric Components
Certificate
Authority
Peer Ordering Service
Peer Couch
GRPC-
Web
Chaincode
CA
Orderer
Containers
IBP VS Code extension (Development Tools)
FluentdInit
Init
Init
GRPC-
Web
Deployment Overview: IBP & IKS & Storage
Your Blockchain Service Your Infrastructure Resources
IBM Blockchain Platform
The instance that lets you deploy and manage your
Hyperledger Fabric nodes.
IBM Cloud Kubernetes Service
Your compute and memory that you allocate to your blockchain
instance
Cluster (e.g. 2CPU x 4GB RAM)
Worker Node
Pod
App (Containers)
Learn more: https://cloud.ibm.com/docs/containers?topic=containers-ibm-cloud-kubernetes-service-technology
Persistent Storage
Operational Console (UI)
Hyperledger Fabric Components
Certificate
Authority
Peer Ordering Service
Peer Couch
GRPC-
Web
Chaincode
CA
Orderer
Containers
File Storage (Default)
IBP VS Code extension (Development Tools)
FluentdInit
Init
Init
GRPC-
Web
Deployment Overview: IBP & IKS & Storage
Your Blockchain Service Your Infrastructure Resources
IBM Blockchain Platform
The instance that lets you deploy and manage your
Hyperledger Fabric nodes.
IBM Cloud Kubernetes Service
Your compute and memory that you allocate to your blockchain
instance
Cluster (e.g. 2CPU x 4GB RAM)
Worker Node
Pod
App (Containers)
Learn more: https://cloud.ibm.com/docs/containers?topic=containers-ibm-cloud-kubernetes-service-technology
Persistent Storage
Operational Console (UI)
Hyperledger Fabric Components
Certificate
Authority
Peer Ordering Service
Peer Couch
GRPC-
Web
Chaincode
CA
Orderer
Containers
CPU & Memory
Storage
File Storage (Default)
IBP VS Code extension (Development Tools)
Containers for
each component
are within the
Kubernetes Pod
and can be
managed as
standalone items
Each Fabric
component is
deployed into an
individual Pod
FluentdInit
Init
Init
GRPC-
Web
1 2 3
1 2 3
Deployment Overview: IBP & IKS & Storage
47
Summary
• The Hyperledger Fabric transaction
– Structure drives system design and application architecture
• Smart contract
– Contains transaction definitions for entire lifecycle of business
object(s) stored in a decentralized ledger
– built-in contract class makes programming easy
• Application
– Consensus is complex, but the SDK makes it easy for
applications
– submitTransaction(), evaluateTransaction(), addListener()
– gateway connectionOptions for ultimate customizability
• The IBM Blockchain Platform difference
– Multi-cloud networks, developer & operator tools, IBM service and
support
Thank you
www.ibm.com/blockchain
developer.ibm.com/blockchain
www.hyperledger.org
© Copyright IBM Corporation 2019. 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.
IBM Blockchain Platform Technical Introduction

More Related Content

What's hot

Understanding Proof of Work (PoW) and Proof of Stake (PoS) Algorithms
Understanding Proof of Work (PoW) and Proof of Stake (PoS) AlgorithmsUnderstanding Proof of Work (PoW) and Proof of Stake (PoS) Algorithms
Understanding Proof of Work (PoW) and Proof of Stake (PoS) AlgorithmsGautam Anand
 
Zero-Knowledge Proofs: Privacy-Preserving Digital Identity with Clare Nelson
Zero-Knowledge Proofs: Privacy-Preserving Digital Identity with Clare NelsonZero-Knowledge Proofs: Privacy-Preserving Digital Identity with Clare Nelson
Zero-Knowledge Proofs: Privacy-Preserving Digital Identity with Clare NelsonSSIMeetup
 
OpenID for Verifiable Credentials
OpenID for Verifiable CredentialsOpenID for Verifiable Credentials
OpenID for Verifiable CredentialsTorsten Lodderstedt
 
The Shift from Federated to Decentralized Identity
The Shift from Federated to Decentralized IdentityThe Shift from Federated to Decentralized Identity
The Shift from Federated to Decentralized IdentityEvernym
 
Block chain technology and its applications
Block chain technology and its applications Block chain technology and its applications
Block chain technology and its applications ABHISHEK JAIN
 
Secure Socket Layer (SSL)
Secure Socket Layer (SSL)Secure Socket Layer (SSL)
Secure Socket Layer (SSL)Samip jain
 
Alice & bob public key cryptography 101
Alice & bob  public key cryptography 101Alice & bob  public key cryptography 101
Alice & bob public key cryptography 101Joshua Thijssen
 
Two factor authentication 2018
Two factor authentication 2018Two factor authentication 2018
Two factor authentication 2018Will Adams
 
Blockchain-based Solutions for Identity & Access Management
Blockchain-based Solutions for Identity & Access ManagementBlockchain-based Solutions for Identity & Access Management
Blockchain-based Solutions for Identity & Access ManagementPrabath Siriwardena
 
Seminar ppt on digital signature
Seminar ppt on digital signatureSeminar ppt on digital signature
Seminar ppt on digital signaturejolly9293
 
Web3 Security: The Blockchain is Your SIEM
Web3 Security: The Blockchain is Your SIEMWeb3 Security: The Blockchain is Your SIEM
Web3 Security: The Blockchain is Your SIEMTal Be'ery
 
IPFS introduction
IPFS introductionIPFS introduction
IPFS introductionGenta M
 
Decentralised ethereum blockchain voting application
Decentralised ethereum blockchain voting applicationDecentralised ethereum blockchain voting application
Decentralised ethereum blockchain voting applicationRakesh Ranjan
 
Basic introduction in blockchain, smart contracts, permissioned ledgers
Basic introduction in blockchain, smart contracts, permissioned ledgersBasic introduction in blockchain, smart contracts, permissioned ledgers
Basic introduction in blockchain, smart contracts, permissioned ledgersKoen Vingerhoets
 
OSCON 2018 Getting Started with Hyperledger Indy
OSCON 2018 Getting Started with Hyperledger IndyOSCON 2018 Getting Started with Hyperledger Indy
OSCON 2018 Getting Started with Hyperledger IndyTracy Kuhrt
 

What's hot (20)

Understanding Proof of Work (PoW) and Proof of Stake (PoS) Algorithms
Understanding Proof of Work (PoW) and Proof of Stake (PoS) AlgorithmsUnderstanding Proof of Work (PoW) and Proof of Stake (PoS) Algorithms
Understanding Proof of Work (PoW) and Proof of Stake (PoS) Algorithms
 
Bitcoin & Bitcoin Mining
Bitcoin & Bitcoin MiningBitcoin & Bitcoin Mining
Bitcoin & Bitcoin Mining
 
Zero-Knowledge Proofs: Privacy-Preserving Digital Identity with Clare Nelson
Zero-Knowledge Proofs: Privacy-Preserving Digital Identity with Clare NelsonZero-Knowledge Proofs: Privacy-Preserving Digital Identity with Clare Nelson
Zero-Knowledge Proofs: Privacy-Preserving Digital Identity with Clare Nelson
 
OpenID for Verifiable Credentials
OpenID for Verifiable CredentialsOpenID for Verifiable Credentials
OpenID for Verifiable Credentials
 
Blockchain
BlockchainBlockchain
Blockchain
 
The Shift from Federated to Decentralized Identity
The Shift from Federated to Decentralized IdentityThe Shift from Federated to Decentralized Identity
The Shift from Federated to Decentralized Identity
 
Smart contracts
Smart contractsSmart contracts
Smart contracts
 
Block chain technology and its applications
Block chain technology and its applications Block chain technology and its applications
Block chain technology and its applications
 
Secure Socket Layer (SSL)
Secure Socket Layer (SSL)Secure Socket Layer (SSL)
Secure Socket Layer (SSL)
 
Blockchain concepts
Blockchain conceptsBlockchain concepts
Blockchain concepts
 
Alice & bob public key cryptography 101
Alice & bob  public key cryptography 101Alice & bob  public key cryptography 101
Alice & bob public key cryptography 101
 
Two factor authentication 2018
Two factor authentication 2018Two factor authentication 2018
Two factor authentication 2018
 
Blockchain-based Solutions for Identity & Access Management
Blockchain-based Solutions for Identity & Access ManagementBlockchain-based Solutions for Identity & Access Management
Blockchain-based Solutions for Identity & Access Management
 
Crypto wallets
Crypto walletsCrypto wallets
Crypto wallets
 
Seminar ppt on digital signature
Seminar ppt on digital signatureSeminar ppt on digital signature
Seminar ppt on digital signature
 
Web3 Security: The Blockchain is Your SIEM
Web3 Security: The Blockchain is Your SIEMWeb3 Security: The Blockchain is Your SIEM
Web3 Security: The Blockchain is Your SIEM
 
IPFS introduction
IPFS introductionIPFS introduction
IPFS introduction
 
Decentralised ethereum blockchain voting application
Decentralised ethereum blockchain voting applicationDecentralised ethereum blockchain voting application
Decentralised ethereum blockchain voting application
 
Basic introduction in blockchain, smart contracts, permissioned ledgers
Basic introduction in blockchain, smart contracts, permissioned ledgersBasic introduction in blockchain, smart contracts, permissioned ledgers
Basic introduction in blockchain, smart contracts, permissioned ledgers
 
OSCON 2018 Getting Started with Hyperledger Indy
OSCON 2018 Getting Started with Hyperledger IndyOSCON 2018 Getting Started with Hyperledger Indy
OSCON 2018 Getting Started with Hyperledger Indy
 

Similar to IBM Blockchain Platform Technical Introduction

Modeling Blockchain Applications v1.02
Modeling Blockchain Applications v1.02Modeling Blockchain Applications v1.02
Modeling Blockchain Applications v1.02Matt Lucas
 
Fabric Composer - London Hyperledger Meetup - March 2017
Fabric Composer - London Hyperledger Meetup - March 2017Fabric Composer - London Hyperledger Meetup - March 2017
Fabric Composer - London Hyperledger Meetup - March 2017Simon Stone
 
Blockchain for Business
Blockchain for BusinessBlockchain for Business
Blockchain for BusinessAhmad Gohar
 
Ibm system storage solutions handbook
Ibm system storage solutions handbook Ibm system storage solutions handbook
Ibm system storage solutions handbook Diego Alberto Tamayo
 
IBM Bluemix Nice Meetup - 20171120 - Smart Contracts
IBM Bluemix Nice Meetup - 20171120 - Smart ContractsIBM Bluemix Nice Meetup - 20171120 - Smart Contracts
IBM Bluemix Nice Meetup - 20171120 - Smart ContractsIBM France Lab
 
Ibp technical introduction
Ibp technical introductionIbp technical introduction
Ibp technical introductionLennartF
 
Fabric Composer - Construct 2017
Fabric Composer - Construct 2017Fabric Composer - Construct 2017
Fabric Composer - Construct 2017Simon Stone
 
Making blockchain works for business
Making blockchain works for businessMaking blockchain works for business
Making blockchain works for businessPatrick Yong
 
Wwc developing hyperledger applications v4
Wwc  developing hyperledger applications v4Wwc  developing hyperledger applications v4
Wwc developing hyperledger applications v4LennartF
 
From the Network to Multi-Cloud: How to Chart an Integrated Strategy
From the Network to Multi-Cloud: How to Chart an Integrated StrategyFrom the Network to Multi-Cloud: How to Chart an Integrated Strategy
From the Network to Multi-Cloud: How to Chart an Integrated StrategyXO Communications
 
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes & Rule-based Sm...
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes &  Rule-based Sm...IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes &  Rule-based Sm...
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes & Rule-based Sm...IBM France Lab
 
Introduction to Hyperledger Composer
Introduction to Hyperledger ComposerIntroduction to Hyperledger Composer
Introduction to Hyperledger ComposerSimon Stone
 
IBM Blockchain Platform - Architectural Good Practices v1.0
IBM Blockchain Platform - Architectural Good Practices v1.0IBM Blockchain Platform - Architectural Good Practices v1.0
IBM Blockchain Platform - Architectural Good Practices v1.0Matt Lucas
 
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
 
Hyperledger fabric 20180528
Hyperledger fabric 20180528Hyperledger fabric 20180528
Hyperledger fabric 20180528Arnaud Le Hors
 
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
 
[Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발
[Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발 [Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발
[Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발 Yunho Maeng
 
Hyperledger Fabric in a Nutshell
Hyperledger Fabric in a NutshellHyperledger Fabric in a Nutshell
Hyperledger Fabric in a NutshellDaniel Chan
 

Similar to IBM Blockchain Platform Technical Introduction (20)

Modeling Blockchain Applications v1.02
Modeling Blockchain Applications v1.02Modeling Blockchain Applications v1.02
Modeling Blockchain Applications v1.02
 
Fabric Composer - London Hyperledger Meetup - March 2017
Fabric Composer - London Hyperledger Meetup - March 2017Fabric Composer - London Hyperledger Meetup - March 2017
Fabric Composer - London Hyperledger Meetup - March 2017
 
Blockchain for Business
Blockchain for BusinessBlockchain for Business
Blockchain for Business
 
Ibm system storage solutions handbook
Ibm system storage solutions handbook Ibm system storage solutions handbook
Ibm system storage solutions handbook
 
IBM Bluemix Nice Meetup - 20171120 - Smart Contracts
IBM Bluemix Nice Meetup - 20171120 - Smart ContractsIBM Bluemix Nice Meetup - 20171120 - Smart Contracts
IBM Bluemix Nice Meetup - 20171120 - Smart Contracts
 
Ibp technical introduction
Ibp technical introductionIbp technical introduction
Ibp technical introduction
 
Fabric Composer - Construct 2017
Fabric Composer - Construct 2017Fabric Composer - Construct 2017
Fabric Composer - Construct 2017
 
Making blockchain works for business
Making blockchain works for businessMaking blockchain works for business
Making blockchain works for business
 
Wwc developing hyperledger applications v4
Wwc  developing hyperledger applications v4Wwc  developing hyperledger applications v4
Wwc developing hyperledger applications v4
 
From the Network to Multi-Cloud: How to Chart an Integrated Strategy
From the Network to Multi-Cloud: How to Chart an Integrated StrategyFrom the Network to Multi-Cloud: How to Chart an Integrated Strategy
From the Network to Multi-Cloud: How to Chart an Integrated Strategy
 
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes & Rule-based Sm...
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes &  Rule-based Sm...IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes &  Rule-based Sm...
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes & Rule-based Sm...
 
Introduction to Hyperledger Composer
Introduction to Hyperledger ComposerIntroduction to Hyperledger Composer
Introduction to Hyperledger Composer
 
IBM Blockchain Platform - Architectural Good Practices v1.0
IBM Blockchain Platform - Architectural Good Practices v1.0IBM Blockchain Platform - Architectural Good Practices v1.0
IBM Blockchain Platform - Architectural Good Practices v1.0
 
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
 
Hyperledger fabric 20180528
Hyperledger fabric 20180528Hyperledger fabric 20180528
Hyperledger fabric 20180528
 
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...
 
How to design, code, deploy and execute a smart contract
How to design, code, deploy and execute a smart contractHow to design, code, deploy and execute a smart contract
How to design, code, deploy and execute a smart contract
 
[Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발
[Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발 [Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발
[Call for code] IBM 블록체인을 활용하여 투명하게 구호기금 관리하기 - Hyperledger Fabric v1.1 by 맹개발
 
Blockchain on AWS
Blockchain on AWSBlockchain on AWS
Blockchain on AWS
 
Hyperledger Fabric in a Nutshell
Hyperledger Fabric in a NutshellHyperledger Fabric in a Nutshell
Hyperledger Fabric in a Nutshell
 

More from Matt Lucas

What's New In Blockchain For Business Technology (October 2019)
What's New In Blockchain For Business Technology (October 2019)What's New In Blockchain For Business Technology (October 2019)
What's New In Blockchain For Business Technology (October 2019)Matt Lucas
 
Using IBM Blockchain Platform (November 2019)
Using IBM Blockchain Platform (November 2019)Using IBM Blockchain Platform (November 2019)
Using IBM Blockchain Platform (November 2019)Matt Lucas
 
IBM Blockchain Labs Explained v1.0
IBM Blockchain Labs Explained v1.0IBM Blockchain Labs Explained v1.0
IBM Blockchain Labs Explained v1.0Matt Lucas
 
IBM Blockchain Solutions Explained v0.6
IBM Blockchain Solutions Explained v0.6IBM Blockchain Solutions Explained v0.6
IBM Blockchain Solutions Explained v0.6Matt Lucas
 
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
 
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 Usage Patterns v1.3
IBM Blockchain Usage Patterns v1.3IBM Blockchain Usage Patterns v1.3
IBM Blockchain Usage Patterns v1.3Matt Lucas
 
Blockchain Explained v5.20
Blockchain Explained v5.20Blockchain Explained v5.20
Blockchain Explained v5.20Matt Lucas
 

More from Matt Lucas (8)

What's New In Blockchain For Business Technology (October 2019)
What's New In Blockchain For Business Technology (October 2019)What's New In Blockchain For Business Technology (October 2019)
What's New In Blockchain For Business Technology (October 2019)
 
Using IBM Blockchain Platform (November 2019)
Using IBM Blockchain Platform (November 2019)Using IBM Blockchain Platform (November 2019)
Using IBM Blockchain Platform (November 2019)
 
IBM Blockchain Labs Explained v1.0
IBM Blockchain Labs Explained v1.0IBM Blockchain Labs Explained v1.0
IBM Blockchain Labs Explained v1.0
 
IBM Blockchain Solutions Explained v0.6
IBM Blockchain Solutions Explained v0.6IBM Blockchain Solutions Explained v0.6
IBM Blockchain Solutions Explained v0.6
 
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)
 
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 Usage Patterns v1.3
IBM Blockchain Usage Patterns v1.3IBM Blockchain Usage Patterns v1.3
IBM Blockchain Usage Patterns v1.3
 
Blockchain Explained v5.20
Blockchain Explained v5.20Blockchain Explained v5.20
Blockchain Explained v5.20
 

Recently uploaded

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Recently uploaded (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

IBM Blockchain Platform Technical Introduction

  • 1. IBM Blockchain Platform: Technical Introduction Get started with using IBM Blockchain Platform V1.1, 4 October 2019 IBM Blockchain Platform Technical Series Architectural Good Practices Modeling Blockchain Applications What’s New in Technology Using IBM Blockchain Platform Technical Introduction
  • 2. Hyperledger Fabric Concepts Understand the technology that underpins IBM Blockchain Platform IBM Blockchain Platform Concepts Technical overview of IBM Blockchain Platform Tools IBM Blockchain Platform tools that simplify development and operations
  • 3. 4 Blockchain concepts • Consider the business concepts that comprise blockchain solutions: – Assets modeled as data structures – Contracts modeled as algorithms – Transactions modeled as invocations of algorithms – Business Networks modeled as peer-to-peer networks – Participants modeled as nodes on these networks • IBM Blockchain Platform is based around Hyperledger Fabric • We will now look at how Hyperledger Fabric exposes these business concepts to the blockchain developer • We will also look at the IBM Blockchain Platform tools that help developers implement these concepts in a solution
  • 4. © 2018 IBM Corporation 5 A simple consensus example (1/4) – a puzzle! • Situation: A presenter in a room with 100 people, 10 of whom are mathematicians! • Problem: Answer the question: What is the square root of 49? • Question: Can everyone agree on an answer? You are here! Or here! But not here ;) a puzzle a process a problem a policy P M M M M M M M M M M A A A A P M audience mathematician presenter attendant
  • 5. © 2018 IBM Corporation 6 A simple consensus example (2/4) – a process Solution approach 1. The presenter asks every mathematician to calculate √49 2. Every mathematician writes their answer on a piece of paper, signs with their (digital) signature 3. The presenter collects every mathematician's signed response 4. The room attendants distribute copies of the signed answer to every member of the audience 5. Every audience member checks that every mathematician agrees the answer, or not! 6. Everyone is happy; there is consensus! a puzzle a process a problem a policy P M M M M M M M M M M A A A
  • 6. © 2018 IBM Corporation 7 A simple consensus example (3/4) – a problem Issues 1. How many mathematicians should the presenter ask? 2. How many mathematicians need to agree for an answer to be correct? 3. What happens if the mathematics disagree on the answer, or the presenter selects a bad answer? à Everyone needs to agree what constitutes a good answer a puzzle a process a problem a policy P M M M M M M M M M M A A A
  • 7. © 2018 IBM Corporation 8 A simple consensus example (4/4) – a policy The importance of policy 1. The audience agrees a policy for good answers 2. Example policies: – all mathematicians must agree – the majority of mathematicians must agree à Using this policy everyone can now agree what makes a good answer a puzzle a process a problem a policy P M M M M M M M M M M A A A
  • 9. © 2018 IBM Corporation 10 Hyperledger Fabric multi-party transactions • A transaction describes a change to a system Examples: – a change in bank balance – a student receives an academic qualification – a parcel is delivered • Traditionally transactions are signed by a single organization – a bank signs payment transactions – a university signs graduation transactions – a logistics company signs parcel receipt transactions • Multi-party transactions are the heart of Hyperledger Fabric – e.g. buyer and seller sign car transfer transaction – e.g. logistics and delivery companies both sign parcel transaction • Understand multi-party transactions and you will understand Fabric! car transfer transaction: identifier: 1234567890 proposal: input: {CAR1, seller, buyer} signature: input*seller response: output: {CAR1.oldOwner=seller, CAR1.newOwner=buyer} signatures: output signed by seller output signed by buyer A transaction to transfer a car is signed by both the buyer and the seller
  • 10. © 2018 IBM Corporation 11 A Hyperledger Fabric network • A Hyperledger Fabric network comprises a set of nodes • The most common type of node is a peer. Every peer hosts an instance of a ledger • The network is decentralized; peer nodes are owned by different organizations ORG 4 ORG 3 ORG 1 ORG 2 P7 P8 P9P4 P1 P2 P5 P6 P3
  • 11. © 2018 IBM Corporation 12 Applications can query the ledger • Querying the ledger is the simplest operation an application can perform! • Applications can query any peer's ledger to determine the value of an object – every instance is the same! • Applications typically query their own organization's peers A1 ORG 2 P7 P8 P9P3 P4 P1 P2 P5 P6 ORG 4 ORG 3 ORG 1 A2 A3A4
  • 12. © 2018 IBM Corporation 13 Applications submit transactions to the network • Applications use smart contracts hosted on endorsing peers to create multi-party transactions • Orderers group endorsed transactions into blocks which are distributed to every node • Every node validates every transaction using the smart contract's endorsement policy A1 S P Every smart contract has an endorsement policy which defines the organizations required to sign its transactions P1 S ORG 1 P7 P8 P9P3 P4 P2 P6 ORG 2 P5 S O1 O2 O3 TXN:1234 Signed: ORG1 ORG2 1234 1234 1234 1234 1234 1234 1234 1234 1234
  • 13. © 2018 IBM Corporation 14 The importance of identity • Every actor has an associated X.509 identity issued by its organization's Certificate Authority • A peer, orderer, application, organization, CA uses its identity to determine its organizational role • This role determines the level of access an actor has to network resources, e.g. read/write the ledger ORG 4 CA3 ORG 3 CA4 ORG 2CA2 P5 P6O2 A2 P7 P8 P9 O3 A2 P4 P3 A4 P1 P2 A1 ORG 1 CA1 O1
  • 14. © 2018 IBM Corporation 15 Managing decentralized networks with policy • Organizations in a consortium agree to form a network using a set of policies • A network's policies encode each organization's rights, like a constitution Examples: – Every organization has the same authority over the network – All organizations must agree any change to the network – A majority of organizations must agree any change to the network – A majority of organizations including particular organization must agree a change • Hyperledger Fabric identity and policy – model the real world relationships between organizations ! totality majority approved majority transition between constitutions with agreement
  • 15. © 2018 IBM Corporation 16 Programming smart contracts • A smart contract governs the lifecycle of an object. e.g. createCar, queryCar, updateCar, scrapCar... • Implemented as a class; method contains relevant transaction logic in JavaScript, TypeScript, Java & Go* • Installed on relevant organizations' peer(s). Execution results in digitally signed transaction response. @Contract(name="org.papernet.commercialpaper") @Default class CommercialPaper implements ContractInterface { public Context createContext(ChaincodeStub stub) { return new CommercialPaperContext(stub); } @Transaction public CommercialPaper issue( CommercialPaperContext ctx, String issuer, String value, String date, int faceValue) { // Interact with the ledger getState(existingPaper); putState(newPaper); ... * Go under development
  • 16. © 2018 IBM Corporation 17 Submitting transactions and querying the ledger Path walletPath = Paths.get("wallet"); Wallet wallet = Wallet.createFileSystemWallet(walletPath); // Access file wallet Path networkConfigPath = Paths.get("..", "..", "paper-network", "connection.json"); // Identify a network using a CCP Gateway.Builder builder = Gateway.createBuilder(); // Create gateway to the network builder.commitHandler(DefaultCommitHandlers.MSPID_SCOPE_ANYFORTX); // One peer from my organization to reply builder.identity(wallet, "admin").networkConfig(networkConfigPath); try (Gateway gateway = builder.connect()) { // connect to the gateway Network network = gateway.getNetwork("market1234"); // get the network Contract contract = network.getContract("commercial-paper"); // get contract in network String paper = contract.submitTransaction("issue", "IBM", "1000000", "2019-10-31") // issue paper by IBM contract.submitTransaction("move", paper, "ACME", "900000")) // sell paper to ACME } catch (Exception ex) { ex.printStackTrace(); } • SDK provides wallet, identity, gateway, network, contract classes to access smart contract • Ledger query: contract.evaluateTransaction(); update: contract.submitTransaction() • Consensus managed transparently by SDK. Applications focus on WHAT not HOW. • gatewayOptions parameterize popular interactions. e.g. wait for any/all peers in my organization to confirm
  • 17. 18 Understanding an application gateway §Network topology constantly changing – Peers, Orderers, CAs, smart contracts, ledgers §Gateways isolate business logic from topology – connectionProfile identifies components & roles – connectionOptions specifies desired outcome §Service Discovery – CCP bootstrap -> discover networks dynamically! Gateway “transfer” application Connection profile Orderer 1 ManCorp Orderer 2 DealerCorp channel: drivenet ManCorp DealerCorp Peer2 ManCorp Peer7 DealerCorp Isabella Peer1 ManCorp Peer3 ManCorp const connectionProfile = yaml.safeLoad('../gateway/driveNet.yaml'); const connectionOptions = {..., commitTimeout: 100,... }; const gateway = new Gateway(); await gateway.connect(connectionProfile, connectionOptions);
  • 18. 19 Understanding wallets • Wallets store a identities available to a user – Typically X.509 certificates and private keys – Application can use multiple wallets & identities ... • Applications connect to gateway with identity – Identified in gateway connectionOptions PaperNet ID1: ManCorp.member ID4: DealerCorp.member MSP BondNet ID1: ManCorp.member ID2: ManCorp.admin MSP ManCorp Isabella CA1 Wallet1 ID1 ID2 ID3 DealerCorp CA2 Wallet2 ID4 App1 App2 Balaji const user1 = 'paperUser1@mancorp.com'; const wallet = new FileSystemWallet('../identity/user/isabella/wallet'); const connectionOptions = { identity: userName, wallet: wallet, eventHandlerOptions: { commitTimeout: 100, strategy: EventStrategies.MSPID_SCOPE_ANYFORTX } }; await gateway.connect(connectionProfile, connectionOptions);
  • 19. 20 Connecting to a network channel and smart contract • Gateway gives access to multiple networks – gateway.getNetwork('papernet') • All instantiated smart contracts accessible – network.getContract('papercontract') • Construct transaction proposal & submit it! – contract.submitTranaction('sell', 'paper05') – Multiple gateways/channels/contracts at once! const network1 = await gateway.getNetwork('PaperNet'); const network2 = await gateway.getNetwork('BondNet'); const euroContract = await network1.getContract('EuroCommercialPaperContract'); const bondContract = await network2.getContract('BondContract'); const issueResponse = await euroContract.submitTransaction('issue', 'MagnetoCorp'...); const sellResponse = await bondContract.submitTransaction('sell', 'BOND007'...) MagnetoCorp DigiBank issuer App channel: papernet Peer9 DigiBank paper contract ledger Peer1 MagnetoCorp paper contract ledger Orderer 1 MagnetoCorp Orderer 2 DigiBank Ordering service Peer3 MagnetoCorp ledger Peer8 DigiBank ledger Peer2 MagnetoCorp ledger Peer7 DigiBank ledger
  • 20. 21 Interacting with smart contracts and the ledger • submitTransaction() – Adds a fully signed new transaction to the ledger – SDK manages entire multi-peer, ordering process – Returns control when E/O/V complete (default) • evaluateTransaction() – Executes a transaction, but doesn't order it – Typically used to query the ledger – Only needs to interact with one peer (pluggable handlers can be used for multi-peer query) MagnetoCorp DigiBank user App channel: bond Peer9 DigiBank bonds contract ledger Peer1 MagnetoCorp bonds contract ledger Orderer 1 MagnetoCorp Orderer 2 DigiBank Ordering service Peer3 MagnetoCorp ledger Peer8 DigiBank ledger Peer2 MagnetoCorp ledger Peer7 DigiBank ledger bonds.submitTransaction('sell', 'BOND007'); bonds.evaluateTransaction('queryBond', 'BOND007'); 1a 1b 1c1d 1e 1f 1 1 2 2a 2
  • 21. 22 Ledger notification interactions • Three listener types: – contract.addContractListener() • wait for all transactions of given contract – contract.addBlockListener() • wait for blocks – transaction.addTransactionListener() • wait for specific transaction to be committed const transaction = contract.createTransaction('sell'); transaction.addCommitListener(`${transactionId}-listener`, (err, txId, status, blockHeight) => { ... if (status === ‘VALID’) { console.info(‘Transaction committed’); } else { ... }, {checkpointer: false}); await transaction.submit('ibm', '1000000', '2019-03-31’); MagnetoCorp DigiBank issuer App channel: papernet Peer9 DigiBank paper contract ledger Peer1 MagnetoCorp paper contract ledger Orderer 1 MagnetoCorp Orderer 2 DigiBank Ordering service Peer3 MagnetoCorp ledger Peer8 DigiBank ledger Peer2 MagnetoCorp ledger Peer7 DigiBank ledger 1b 1a 1c APIs under development in FABN-1100, slated 2.0
  • 22. 23 Customizing behavior with connectionOptions • connectionOptions specifies gateway behaviour – wallet: & identity: must be set by app – All other options have sensible defaults • Strategies codify most popular behaviour – e.g. "wait for any/all peers in my organization" • EventStrategies.MSPID_SCOPE_ANYFORTX • EventStrategies.MSPID_SCOPE_ALLFORTX • Handlers for programmable interactions – User function gets control at appropriate point in transaction lifecycle with relevant topology, i.e. peers • e.g. startListening(), waitForEvents(), cancelListening()... – Keeps separate from application business logic. Advanced feature; only required for special scenarios Gateway “transfer” application Connection options Peer6 DealerCorp channel: drivenet ManCorp DealerCorp Peer2 ManCorp Peer7 DealerCorp Isabella Peer1 ManCorp Peer3 ManCorp ledger ledger ledger ledger ledger
  • 23. Hyperledger Fabric Concepts Understand the technology that underpins IBM Blockchain Platform IBM Blockchain Platform Concepts Technical overview of IBM Blockchain Platform Tools IBM Blockchain Platform tools that simplify development and operations
  • 24. 25 IBM Blockchain Platform is a key part of IBM’s Blockchain Strategy Solutions Services Ecosystem IBM Blockchain Platform Collaborate with services teams from ideation all the way to production Tap into our diverse ecosystem to develop strategic partnerships and create your competitive advantage Solve critical industry challenges by building and joining new business networks and applications Build, operate and grow blockchain networks in heterogeneous environments A founding, premier member of Hyperledger, IBM is committed to open source, standards & governance
  • 25. 26 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, operate and grow Hyperledger Fabric networks Developer tools Operator tools kubernetes Kubernetes on prem IBM Kubernetes Service Container virtualization & orchestration Multi-cloud deployment kubernetes
  • 26. 27 IBM Blockchain Platform Deployment Options • There is just one IBM Blockchain Platform product regardless of where it is deployed – It sits on a Kubernetes container infrastructure on your chosen provider – Kubernetes provides common logging and management services of the IBM Blockchain Platform • When run on IBM Cloud, the IBM Blockchain Platform uses the IBM Cloud Kubernetes Service – Use the free IBM Kubernetes tier for a free IBM Blockchain Platform, or a paid IBM Kubernetes tier for a paid IBM Blockchain Platform; free tiers expire after 30 days • When deployed on-premises or on any non-IBM cloud, IBM Blockchain Platform uses Red Hat Openshift 3.11 – You provide your OpenShift instance Developer tools Operator tools kubernetes Kubernetes on prem IBM Kubernetes Service Container virtualization & orchestration Multi-cloud deployment kubernetes
  • 27. Hyperledger Fabric Concepts Understand the technology that underpins IBM Blockchain Platform IBM Blockchain Platform Concepts Technical overview of IBM Blockchain Platform Tools IBM Blockchain Platform tools that simplify development and operations
  • 28. © 2019 IBM Corporation 29 Getting Started with Hyperledger Fabric • The IBM Blockchain Platform makes it easy to get started with Hyperledger Fabric • Download VSCode developer tool from VSCode marketplace. Linux, Windows and MacOS) • Create local networks, smart contracts and applications. Move to multi-cloud when you're ready! https://marketplace.visualstudio.com/items?itemName=IBMBlockchain.ibm-blockchain-platform
  • 29. 30 IBM Blockchain Platform Admin Console • Multi-cloud administration tool – Web UI to manage all IBP components • Configure infrastructure on IBM Cloud – Configure IKS network, storage, compute • Connect & Manage components – Peer, Orderer, CA, channel... • Policy & Identity management – Create, update, display channel policies • Smart contract package management – Install, instantiate, upgrade, discover
  • 30. 31 On IBM Cloud, your blockchain components are deployed to an IBM Kubernetes service • Blockchain resources are deployed into your own Kubernetes cluster • This allows you to maintain control over your resources (CPU, storage, memory) • Scale up or down as required for your blockchain environment • Start small, pay as you grow for what you use with no upfront investment • Maintain control of private keys
  • 31. 32 • The IBM Kubernetes Service within IBM Cloud has a free cluster and a paid cluster. • Pick the cluster that works for you! Selecting your Kubernetes cluster
  • 32. 33 • Intuitive console lets you manage network components in one place, no matter where they are deployed • Manage nodes running in any environment (on- premises, public, hybrid clouds) • Easily connect a single peer to multiple industry networks • Deploy only the blockchain components you need (Peer, Ordering Service, Certificate Authority) • Different organizations can be hosted by different consortium members in different clusters in different geographies (zones) Flexible deployment
  • 33. 34 • It is possible to use your own certificates for peers and orderers Adding your own certificates
  • 34. 35 • When using the paid cluster, operational tools will allow you to scale up or down. • Peers, orderers, and certificate authorities can be managed to balance cost and performance. https://www.ibm.com/blogs/blockchain/2019/01/answering-your-questions-on-hyperledger-fabric-performance-and-scale Scaling up and down
  • 35. 36 • Easily invite or add members to the consortium without having to learn fabric commands Governance: Managing the Orderer
  • 36. 37 • Governing a consortium network takes work, but operational tools make it easier • Examples: • Update members • Update roles (who can read, who can write) • Update ACLs (who can perform specific operations within the smart contract) • Update channel policy (who needs to approve updates to the channel) Governance: Managing channels
  • 37. 38 • Set up endorsement policy on smart contracts Governance: Endorsement policies
  • 38. 39 • Transactions are committed in blocks • Individual transactions can be viewed Viewing blocks and transactions
  • 39. 40 • Decide when you want to apply patches Applying maintenance patches
  • 40. 41 • You can see exactly what is deployed and if it’s running • Selecr Viewing deployment in Kubernetes
  • 41. 42 • View Hyperledger Fabric logs in Kubernetes dashboard Logging and monitoring
  • 42. 43 • Get Metrics information for IKS using Grafana or Sysdig Logging and monitoring
  • 43. Your Blockchain Service Your Infrastructure Resources IBM Blockchain Platform The instance that lets you deploy and manage your Hyperledger Fabric nodes. Learn more: https://cloud.ibm.com/docs/containers?topic=containers-ibm-cloud-kubernetes-service-technology Operational Console (UI) Hyperledger Fabric Components Certificate Authority Peer Ordering Service Peer Couch GRPC- Web Chaincode CA Orderer Containers IBP VS Code extension (Development Tools) FluentdInit Init Init GRPC- Web Deployment Overview: IBP & IKS & Storage
  • 44. Your Blockchain Service Your Infrastructure Resources IBM Blockchain Platform The instance that lets you deploy and manage your Hyperledger Fabric nodes. IBM Cloud Kubernetes Service Your compute and memory that you allocate to your blockchain instance Cluster (e.g. 2CPU x 4GB RAM) Worker Node Pod App (Containers) Learn more: https://cloud.ibm.com/docs/containers?topic=containers-ibm-cloud-kubernetes-service-technology Persistent Storage Operational Console (UI) Hyperledger Fabric Components Certificate Authority Peer Ordering Service Peer Couch GRPC- Web Chaincode CA Orderer Containers File Storage (Default) IBP VS Code extension (Development Tools) FluentdInit Init Init GRPC- Web Deployment Overview: IBP & IKS & Storage
  • 45. Your Blockchain Service Your Infrastructure Resources IBM Blockchain Platform The instance that lets you deploy and manage your Hyperledger Fabric nodes. IBM Cloud Kubernetes Service Your compute and memory that you allocate to your blockchain instance Cluster (e.g. 2CPU x 4GB RAM) Worker Node Pod App (Containers) Learn more: https://cloud.ibm.com/docs/containers?topic=containers-ibm-cloud-kubernetes-service-technology Persistent Storage Operational Console (UI) Hyperledger Fabric Components Certificate Authority Peer Ordering Service Peer Couch GRPC- Web Chaincode CA Orderer Containers CPU & Memory Storage File Storage (Default) IBP VS Code extension (Development Tools) Containers for each component are within the Kubernetes Pod and can be managed as standalone items Each Fabric component is deployed into an individual Pod FluentdInit Init Init GRPC- Web 1 2 3 1 2 3 Deployment Overview: IBP & IKS & Storage
  • 46. 47 Summary • The Hyperledger Fabric transaction – Structure drives system design and application architecture • Smart contract – Contains transaction definitions for entire lifecycle of business object(s) stored in a decentralized ledger – built-in contract class makes programming easy • Application – Consensus is complex, but the SDK makes it easy for applications – submitTransaction(), evaluateTransaction(), addListener() – gateway connectionOptions for ultimate customizability • The IBM Blockchain Platform difference – Multi-cloud networks, developer & operator tools, IBM service and support
  • 47. Thank you www.ibm.com/blockchain developer.ibm.com/blockchain www.hyperledger.org © Copyright IBM Corporation 2019. 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.