SlideShare a Scribd company logo
1© 2016 IBM Corporation
Blockchain Explored: A Technical Deep-Dive
Binh Nguyen
Hyperledger Fabric Chief Architect
2
Contents
2Page
What?
How?
When?
3
A mutual distributed ledger technology
allowing any participant in the business
network to independently compute and
validate the source of truth
Introducing Blockchain

4
Reference Architecture
Distributed Ledger Technology Services
APIs, Events, SDKs
SMART
CONTRACT
Chain-code
Services
AP
Membership

Services

Enrollment
Attributes
Consensus Services

Distributed

Ledger
Ordering
Service


Network

Protocol
Endorsement
Validation

Secure
Container

Secure
Registry

TRANSACTIONS
LEDGER
IDENTITY
Security and Crypto Services
IDENTITY
Pluggable, Membership, Privacy
and Auditability of transactions.
LEDGER | TRANSACTIONS
Distributed transactional ledger
whose state is updated by
consensus of stakeholders
SMART-CONTRACT
“Programmable Ledger”, provide
ability to run business logic against
the blockchain (aka smart contract)
APIs, Events, SDKs
Multi-language native SDKs allow
developers to write DLT apps
5
Orderer
•  A group of Orderers runs a communication service,
called ordering service, to provide atomic broadcast
•  Ordering service is the genesis of a network. Clients
of ordering service are peers and applications
– Accept transactions and deliver blocks
– Process all configuration transactions to set up network
policies (readers, writers, admins)
•  Orderer manages a pluggable trust engine (eg CFT or
BFT) that performs the ordering of the transactions
orderer
Atomicbroadcast
System Config
Config
Processor
Trust Model
6
Peer
•  A Peer is a node on the network maintaining state of the
ledger and managing chaincodes
•  Any number of Peers may participate in a network
•  A Peer can be an endorser, committer and/or submitter
(submitter has not been implemented). An endorser is always
a committer
–  An endorser executes and endorses transactions
–  A committer verifies endorsements and validates transaction results
•  A Peer manages event hub and deliver events to the
subscribers
•  Peers form a peer-to-peer gossip network
Endorser
Committer
Ledger
Chaincode
Event
Submitter
peer
7
Ledger
Latest written key/values for
use in transaction simulation
Supports keyed queries,
composite key queries, key
range queries
TX	
Reads[]	
Writes[]	
TX	
Reads[]	
Writes[]	
TX	
Reads[]	
Writes[]	
TX	
Reads[]	
Writes[]	
State Database
Transaction Log
Last written key/value
CouchDB (external option)
supports keyed queries,
composite key queries, key
range queries, plus full data
rich queries (beta in 1.0)
blockHash à SegNo + offset
blockNum à SegNo + offset
txId à SegNo + offset
Block index
block
tx array
File System Level DB
Replaceable
tracking history of a key
Key History index
8
Channel
•  A data partitioning mechanism to control transaction visibility only to
stakeholders
•  Consensus takes place within a channel by members of the channel
– Other members on the network are not allowed to access the channel and will not
see transactions on the channel
•  A chaincode may be deployed on multiple channels, each instance is
isolated within its channel
– A chaincode may query another chaincode in other channel (ACL applied)
9
Membership Service Provider
•  An abstraction of identity provider
–  <MSP.id, MSP.sign, MSP.verify, MSP.validateid, MSP.admin> 
–  govern application, endorser and orderer identities
•  Used as building blocks for access control
frameworks 
–  at the system level (read/write access on system
controls, and channel creation)
–  at the channel level (read/write access), 
–  at the chaincode level (invocation access)
•  Represent a consortium or a member
Client
End-user
Bob
Endorser
Endorser
Endorser
Membership
Service Provider
Orderer
Channel
ü 
External
Certificate Authority
Fabric-CA
Certificate Authority
ü 
10
Crypto Service Provider
•  CSP abstracts crypto standards (software
and hardware) to enable plugging in
different implementation
– Alternate implementations of crypto interface
can be used within the Fabric code, without
modifying the core
•  Support for Multiple CSPs
– Easy addition of more types of CSPs, e.g., of
different HSM types
– Enable the use of different CSP on different
system components transparently
Fabric Components
ACSP
EP11
(enterprise PKCS11
firmware)
IBM HSM
(card)
OpenCryptoKi
(remote PKCS11)
(PKCS11)
(enterprise PKCS11)
Software BCCSP
HSM BCCSP
(PKCS11)
CSP Factory
11
Ecert
Tcert
Fabric-CA
•  Default implementation of the
Membership Services Provider
Interface.
•  Issues Ecerts (long-term
identity) and Tcerts (disposable
certificate)
•  Supports clustering for HA
characteristics
•  Supports LDAP for user
authentication
•  Supports HSM
Fabric-CA
cluster DB
LDAP
Authenticate
Enroll ID, secret
HSM
Root
Certificate Authority
ü 
Membership
Services
Provider
Implements
12
Overview of Application Flow
•  Developers create application
and smart contracts (chaincodes)
– Chaincodes are deployed on the
network and control the state of the
ledger
– Application handles user interface
and submits transactions to the
network which call chaincodes
•  Network emits events on block of
transactions allowing applications
to integrate with other systems
cached state,
history, tx
Blockchain
block
txn txn txn txn …
Blockchain
developer
Smart
Contract
Invokes/queriesdevelops
develops
Application
Accesses
event
emits
emits
D
Ledger
‘get’ ‘put, ‘delete’
SDK
Peer
13
Contents
13Page© 2016 IBM Corporation
What?
How?
When?
14
Bootstrapping a Network
•  Decide on members (MSPs) controlling the ordering service
–  Set up MSP configuration for each member (root certs, signing certs, key, admins)
–  Set up policies governing the network (who has privilege to modify config and create
channels)
–  Start up orderers with the configuration
•  Each member decides on the number of peers to participate
–  For each peer, issue peer identity (local MSP configuration) and start it up
•  At this point, we have a network of peers and orderers
–  Peers are not yet connected to orderers nor to each other
15
Two-Member Network
Ordering
Service
(transaction timestamping)
Orderer
Peer
Peer
Peer
Peer
Peer
Peer
Orderer
Profiles:
TwoMembers:
Orderer:
<<: *OrdererDefaults
Organizations:
- *Member1
- *Member2
Application:
<<: *ApplicationDefaults
Organizations:
- *Member1
- *Member2
Membership
Service Provider
Membership
Service Provider
16
Setting up Channels, Policies, and Chaincodes
•  Depending on the business network, 1 or more channels may be required
•  To create a channel, send a configuration transaction to the ordering service
specifying members of the channel, ACL policies, anchor peers
– The configuration becomes part of the genesis block of the channel
– Then notify members to join the channel (a peer may join multiple channels)
•  Deploy chaincodes on the channel with appropriate endorsement policy
•  Now the network is ready for transacting
17
Consensus Redefined
•  Consensus = Transaction Endorsement + Ordering + Validation
•  Endorsement: Each stakeholder decides whether to accept or reject a
transaction
•  Ordering: Sort all transactions within a period into a block to be committed in
that order
•  Validation: Verify transaction endorsement satisfied the policy and
transaction transformation is valid according to multiversion concurrency
control (MVCC)
18
Transaction Endorsement
•  An endorsement is a signed response of the result of a transaction execution
•  An endorsement policy encapsulates the requirement for a transaction to be
accepted by the stakeholders, either explicit or implicit
– A signature from both member1 and member2
– Either a signature from both member1 and member2 or a signature from member3
– A signature from John Doe
•  The endorsement policy is specified during a chaincode instantiation on a
channel; each channel-chaincode may have different endorsement policy
19
Two-Member Network with A Channel
Ordering
Service
(transaction timestamping)
Orderer
Peer
Peer
Peer
Peer
Peer
Peer
Orderer
Channel
Channel
App
App
What if we want to add more members ?
20
N-Member Network

with Multichannel
Ordering
Service
(transaction timestamping)
Orderer
Peer
Peer
Peer
Peer
Peer
Peer
Orderer
Channel
Channel
App
App
Peer
Peer
Peer
Orderer
Channel Peer
Peer
Peer
Peer
21
Sample transaction: Step 1/7 – Propose transaction
E0
Client
Application E1
E2
S
D
K
Endorser Ledger
Committer Application
Orderier
Smart Contract
(Chain code)
Endorsement
Policy
Key:
Fabric
Ordering-Service
O
O O
OAp
Application proposes transaction
Endorsement policy:
•  “E0, E1 and E2 must sign”
•  (P3, P4 are not part of the policy)
Client application submits a transaction
proposal for chaincode A. It must target
the required peers {E0, E1, E2}
P4P3
A
B
A
B
A
B
A
D
22
Sample transaction: Step 2/7 – Execute proposal
Endorsers Execute Proposals
E0, E1 & E2 will each execute the
proposed transaction. None of these
executions will update the ledger
Each execution will capture the set of
Read and Written data, called RW sets,
which will now flow in the fabric.
E0
Client
Application E1
E2
S
D
K
Fabric
Ordering-Service
O
O O
OAp
Endorser Ledger
Committer Application
Orderier
Smart Contract
(Chain code)
Endorsement
Policy
Key:
P4P3
A
B
A
B
A
B
A
D
23
Sample transaction: Step 3/7 – Proposal Response
Application receives responses
The RW sets are signed by each
endorser and returned to the application
E0
Client
Application E1
E2
S
D
K
Fabric
Ordering-Service
O
O O
OAp
Endorser Ledger
Committer Application
Orderier
Smart Contract
(Chain code)
Endorsement
Policy
Key:
P4P3
A
B
A
B
A
B
A
D
24
Sample transaction: Step 4/7 – Order Transaction
Application submits responses for
ordering
Application submits responses as a
transaction to be ordered.
Ordering happens across the fabric in
parallel with transactions submitted by
other applications
Fabric
E0
E1
E2
O
O O
OAp
Client
Application
S
D
K
Endorser Ledger
Committer Application
Orderier
Smart Contract
(Chain code)
Endorsement
Policy
Key:
(other applications)
Ordering-Service
P4P3
A
B
A
B
A
B
A
D
25
Sample transaction: Step 5/7 – Deliver Transaction
Orderer delivers to all committing peers
Ordering service collects transactions
into blocks for distribution to committing
peers. Peers can deliver to other peers
using gossip (not shown)
Different ordering algorithms available:
• SOLO (single node, development)
• Kafka (blocks map to topics)
• SBFT (tolerates faulty peers, future)
Fabric
E0
E1
E2
O
O O
OAp
Client
Application
S
D
K
Endorser Ledger
Committer Application
Orderier
Smart Contract
(Chain code)
Endorsement
Policy
Key:
Ordering-Service
P4P3
A
B
A
B
A
B
A
D
26
Sample transaction: Step 6/7 – Validate Transaction
Committing peers validate transactions
Every committing peer validates against
the endorsement policy. Also check RW
sets are still valid for the current state
Transactions are written to the ledger
and update caching DBs with validated
transactions
Fabric
E0
E1
E2
O
O O
OAp
Client
Application
S
D
K
Endorser Ledger
Committer Application
Orderier
Smart Contract
(Chain code)
Endorsement
Policy
Key:
Ordering-Service
P4P3
A
B
A
B
A
B
A
D
27
Sample transaction: Step 7/7 – Notify Transaction
Committing peers notify applications
Applications can register to be notified
when transactions succeed or fail, and
when blocks are added to the ledger
Applications will be notified by each peer
to which they are connected
Fabric
E0
A
B
E1
A
B
E2
A
B
O
O O
OAp
Client
Application
S
D
K
Endorser Ledger
Committer Application
Orderier
Smart Contract
(Chain code)
Endorsement
Policy
Key:
Ordering-Service
P3
A
D
P4
!
!
!
!
! !
28
Contents
28Page© 2016 IBM Corporation
What?
How?
When?
29
2017!December January 31 March 20 May
Early Docker Images for
the December Connect-
A-Thon with Press
Release
11 companies in
Australia, Hungary, UK,
US East Coast, US West
Coast, Canada
Docker images for
Hyperledger Community
60+ participants real time
testing out latest
Hyperledger Fabric 1.0
and documentation at
Hyperledger Developer
Event in San Fransisco
Interconnect:
Docker images
aligned with Beta
for HSBN
Docker images
aligned with the
HSBN Consortium
offering GA
Proposal to community on current content
(which also applies to Interconnect 2017)
https://wiki.hyperledger.org/projects/proposedv1alphacontent
Docker Images
Continually
produced through
Continuous
Integration
March 3
Docker
images for
community,
being used by
select
customers
Moving Forward
30
Where to Ask Questions
Hyperledger Community has moved off Slack to RocketChat.
Go to chat.hyperledger.org and register. 
You will be required to have a linux foundation ID however. If you aren't
registered with the Linux Foundation, get an ID from
https://identity.linuxfoundation.org/

For questions on Version 1.0, go to the fabric-questions channel.
Also every day, the docker build status is posted when passing the
continuous integration tests will be posted on fabric-ci (only posted when
tests pass)
31
Useful Information To Get You Started
•  Documentation actively getting updated as we progress:
http://hyperledger-fabric.readthedocs.io/en/latest/ 
•  Support for Docker images for easy deployment for Hyperledger-fabric 1.0.
Docker images will be available for all major components to run a network (peers, solo
orderer, CLI, CA, Kafka, CouchDB).  A “Getting started” section will be available in the
Hyperledger-fabric publications.  Getting started will help a developer or user to start
the network, run a simple application , and learn the basics of running fabric 1.0. See:
http://hyperledger-fabric.readthedocs.io/en/latest/ 
•  Support for a tool that helps bootstrap a network.   The bootstrap network tool is
available and called the Configuration Transaction Generator (configtxgen). The tool is
designed to configure the network with organizations included in the ordering service
genesis block and generates the configuration transaction artifacts used for channel
creation.
32© 2016 IBM Corporation
http://hyperledger.org
http://ibm.com/blockchain

More Related Content

What's hot

Introduction to Blockchain and Hyperledger
Introduction to Blockchain and HyperledgerIntroduction to Blockchain and Hyperledger
Introduction to Blockchain and Hyperledger
Dev_Events
 
Trading Derivatives on Hyperledger
Trading Derivatives on HyperledgerTrading Derivatives on Hyperledger
Trading Derivatives on Hyperledger
LF Events
 
Hyperledger
HyperledgerHyperledger
Hyperledger
Vinay Aitha
 
Architecture of the Hyperledger Blockchain Fabric
Architecture of the Hyperledger Blockchain FabricArchitecture of the Hyperledger Blockchain Fabric
Architecture of the Hyperledger Blockchain Fabric
mustafa sarac
 
Excelian hyperledger fabric-feb17
Excelian hyperledger fabric-feb17Excelian hyperledger fabric-feb17
Excelian hyperledger fabric-feb17
Excelian | Luxoft Financial Services
 
Introduction of Hyperledger Fabric & Composer
Introduction of Hyperledger Fabric & Composer Introduction of Hyperledger Fabric & Composer
Introduction of Hyperledger Fabric & Composer
Dr. Ketan Parmar
 
Hyperledger community update 20180528
Hyperledger community update 20180528Hyperledger community update 20180528
Hyperledger community update 20180528
Arnaud Le Hors
 
Hyperledger Lightning Talk
Hyperledger Lightning TalkHyperledger Lightning Talk
Hyperledger Lightning Talk
Andrew Kennedy
 
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
LennartF
 
Gluecon 2016 Keynote: Deploying and Managing Blockchain Applications
Gluecon 2016 Keynote: Deploying and Managing Blockchain ApplicationsGluecon 2016 Keynote: Deploying and Managing Blockchain Applications
Gluecon 2016 Keynote: Deploying and Managing Blockchain Applications
Duncan Johnston-Watt
 
Hyperledger Fabric & Composer
Hyperledger Fabric & Composer Hyperledger Fabric & Composer
Hyperledger Fabric & Composer
Dr. Ketan Parmar
 
Hyperledger
HyperledgerHyperledger
Hyperledger
Roshan Ranabhat
 
Bitmark and Hyperledger Workshop: the Digital Assets and Property
Bitmark and Hyperledger Workshop: the Digital Assets and PropertyBitmark and Hyperledger Workshop: the Digital Assets and Property
Bitmark and Hyperledger Workshop: the Digital Assets and Property
Jollen Chen
 
IBM Blockchain Overview
IBM Blockchain OverviewIBM Blockchain Overview
IBM Blockchain Overview
Alexander Al Basosi
 
Blockchain explained FIATA Congress 20180910
Blockchain explained FIATA Congress 20180910Blockchain explained FIATA Congress 20180910
Blockchain explained FIATA Congress 20180910
Arnaud Le Hors
 
Anatomy of a hyperledger application
Anatomy of a hyperledger applicationAnatomy of a hyperledger application
Anatomy of a hyperledger application
Eric Cattoir
 
Hyperledger Fabric Update - June 2018
Hyperledger Fabric Update - June 2018Hyperledger Fabric Update - June 2018
Hyperledger Fabric Update - June 2018
Arnaud Le Hors
 
Blockchain with HyperLedger (Public version)
Blockchain with HyperLedger (Public version)Blockchain with HyperLedger (Public version)
Blockchain with HyperLedger (Public version)Benjamin Fuentes
 
Ibm blockchain - Hyperledger 15.02.18
Ibm blockchain - Hyperledger 15.02.18Ibm blockchain - Hyperledger 15.02.18
Ibm blockchain - Hyperledger 15.02.18
TelecomValley
 
Hyperledger Fabric in a Nutshell
Hyperledger Fabric in a NutshellHyperledger Fabric in a Nutshell
Hyperledger Fabric in a Nutshell
Daniel Chan
 

What's hot (20)

Introduction to Blockchain and Hyperledger
Introduction to Blockchain and HyperledgerIntroduction to Blockchain and Hyperledger
Introduction to Blockchain and Hyperledger
 
Trading Derivatives on Hyperledger
Trading Derivatives on HyperledgerTrading Derivatives on Hyperledger
Trading Derivatives on Hyperledger
 
Hyperledger
HyperledgerHyperledger
Hyperledger
 
Architecture of the Hyperledger Blockchain Fabric
Architecture of the Hyperledger Blockchain FabricArchitecture of the Hyperledger Blockchain Fabric
Architecture of the Hyperledger Blockchain Fabric
 
Excelian hyperledger fabric-feb17
Excelian hyperledger fabric-feb17Excelian hyperledger fabric-feb17
Excelian hyperledger fabric-feb17
 
Introduction of Hyperledger Fabric & Composer
Introduction of Hyperledger Fabric & Composer Introduction of Hyperledger Fabric & Composer
Introduction of Hyperledger Fabric & Composer
 
Hyperledger community update 20180528
Hyperledger community update 20180528Hyperledger community update 20180528
Hyperledger community update 20180528
 
Hyperledger Lightning Talk
Hyperledger Lightning TalkHyperledger Lightning Talk
Hyperledger Lightning Talk
 
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
 
Gluecon 2016 Keynote: Deploying and Managing Blockchain Applications
Gluecon 2016 Keynote: Deploying and Managing Blockchain ApplicationsGluecon 2016 Keynote: Deploying and Managing Blockchain Applications
Gluecon 2016 Keynote: Deploying and Managing Blockchain Applications
 
Hyperledger Fabric & Composer
Hyperledger Fabric & Composer Hyperledger Fabric & Composer
Hyperledger Fabric & Composer
 
Hyperledger
HyperledgerHyperledger
Hyperledger
 
Bitmark and Hyperledger Workshop: the Digital Assets and Property
Bitmark and Hyperledger Workshop: the Digital Assets and PropertyBitmark and Hyperledger Workshop: the Digital Assets and Property
Bitmark and Hyperledger Workshop: the Digital Assets and Property
 
IBM Blockchain Overview
IBM Blockchain OverviewIBM Blockchain Overview
IBM Blockchain Overview
 
Blockchain explained FIATA Congress 20180910
Blockchain explained FIATA Congress 20180910Blockchain explained FIATA Congress 20180910
Blockchain explained FIATA Congress 20180910
 
Anatomy of a hyperledger application
Anatomy of a hyperledger applicationAnatomy of a hyperledger application
Anatomy of a hyperledger application
 
Hyperledger Fabric Update - June 2018
Hyperledger Fabric Update - June 2018Hyperledger Fabric Update - June 2018
Hyperledger Fabric Update - June 2018
 
Blockchain with HyperLedger (Public version)
Blockchain with HyperLedger (Public version)Blockchain with HyperLedger (Public version)
Blockchain with HyperLedger (Public version)
 
Ibm blockchain - Hyperledger 15.02.18
Ibm blockchain - Hyperledger 15.02.18Ibm blockchain - Hyperledger 15.02.18
Ibm blockchain - Hyperledger 15.02.18
 
Hyperledger Fabric in a Nutshell
Hyperledger Fabric in a NutshellHyperledger Fabric in a Nutshell
Hyperledger Fabric in a Nutshell
 

Viewers also liked

Introduction to Fabric Composer
Introduction to Fabric ComposerIntroduction to Fabric Composer
Introduction to Fabric Composer
Hyperleger Tokyo Meetup
 
オンライン・アイデンティティの自己コントロールと活用
オンライン・アイデンティティの自己コントロールと活用オンライン・アイデンティティの自己コントロールと活用
オンライン・アイデンティティの自己コントロールと活用
Naohiro Fujie
 
How blockchain is changing finance
How blockchain is changing financeHow blockchain is changing finance
How blockchain is changing finance
EY
 
Hyperledger Fabric 1.0 概要
Hyperledger Fabric 1.0 概要Hyperledger Fabric 1.0 概要
Hyperledger Fabric 1.0 概要
Hyperleger Tokyo Meetup
 
データベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみたデータベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみた
Hyperleger Tokyo Meetup
 

Viewers also liked (6)

Introduction to Fabric Composer
Introduction to Fabric ComposerIntroduction to Fabric Composer
Introduction to Fabric Composer
 
Slides Saturn-final
Slides Saturn-finalSlides Saturn-final
Slides Saturn-final
 
オンライン・アイデンティティの自己コントロールと活用
オンライン・アイデンティティの自己コントロールと活用オンライン・アイデンティティの自己コントロールと活用
オンライン・アイデンティティの自己コントロールと活用
 
How blockchain is changing finance
How blockchain is changing financeHow blockchain is changing finance
How blockchain is changing finance
 
Hyperledger Fabric 1.0 概要
Hyperledger Fabric 1.0 概要Hyperledger Fabric 1.0 概要
Hyperledger Fabric 1.0 概要
 
データベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみたデータベース屋がHyperledger Fabricを検証してみた
データベース屋がHyperledger Fabricを検証してみた
 

Similar to Blockchain Explored: A technical deep-dive

Hyperledger Fabric Technical Deep Dive 20190618
Hyperledger Fabric Technical Deep Dive 20190618Hyperledger Fabric Technical Deep Dive 20190618
Hyperledger Fabric Technical Deep Dive 20190618
Arnaud Le Hors
 
blockchain unit 3
blockchain unit 3blockchain unit 3
blockchain unit 3
Rohit Verma
 
Blockchain HyperLedger Fabric Internals - Clavent
Blockchain HyperLedger Fabric Internals - ClaventBlockchain HyperLedger Fabric Internals - Clavent
Blockchain HyperLedger Fabric Internals - Clavent
Araf Karsh Hamid
 
Blockchin architecture & use cases -part-2
Blockchin architecture & use cases -part-2Blockchin architecture & use cases -part-2
Blockchin architecture & use cases -part-2
Mohammad Asif
 
Iata blockchain presentation icaew suisse branch
Iata blockchain presentation   icaew suisse branchIata blockchain presentation   icaew suisse branch
Iata blockchain presentation icaew suisse branch
Tim Moss
 
Ibp technical introduction
Ibp technical introductionIbp technical introduction
Ibp technical introduction
LennartF
 
Hyperledger Fabric - Blockchain for the Enterprise - FOSDEM 20190203
Hyperledger Fabric - Blockchain for the Enterprise - FOSDEM 20190203Hyperledger Fabric - Blockchain for the Enterprise - FOSDEM 20190203
Hyperledger Fabric - Blockchain for the Enterprise - FOSDEM 20190203
Arnaud Le Hors
 
Hyperledger Fabric update Meetup 20181101
Hyperledger Fabric update Meetup 20181101Hyperledger Fabric update Meetup 20181101
Hyperledger Fabric update Meetup 20181101
Arnaud Le Hors
 
Ibm system storage solutions handbook
Ibm system storage solutions handbook Ibm system storage solutions handbook
Ibm system storage solutions handbook
Diego Alberto Tamayo
 
Blockchain and BPM - Reflections on Four Years of Research and Applications
Blockchain and BPM - Reflections on Four Years of Research and ApplicationsBlockchain and BPM - Reflections on Four Years of Research and Applications
Blockchain and BPM - Reflections on Four Years of Research and Applications
Ingo Weber
 
Blockchain Intro to Hyperledger Fabric
Blockchain Intro to Hyperledger Fabric Blockchain Intro to Hyperledger Fabric
Blockchain Intro to Hyperledger Fabric
Araf Karsh Hamid
 
Deploying and Managing a Global Blockchain Network
Deploying and Managing a Global Blockchain NetworkDeploying and Managing a Global Blockchain Network
Deploying and Managing a Global Blockchain Network
Duncan Johnston-Watt
 
Cisco ICON Speaker Series: Blockchain - Technology that is revolutionizing th...
Cisco ICON Speaker Series: Blockchain - Technology that is revolutionizing th...Cisco ICON Speaker Series: Blockchain - Technology that is revolutionizing th...
Cisco ICON Speaker Series: Blockchain - Technology that is revolutionizing th...
Vishnu Pendyala
 
Blockchain Hyper Ledger Fabric : Bangkok Conference
Blockchain Hyper Ledger Fabric : Bangkok ConferenceBlockchain Hyper Ledger Fabric : Bangkok Conference
Blockchain Hyper Ledger Fabric : Bangkok Conference
Araf Karsh Hamid
 
Blockchain v 2 (1)
Blockchain v 2 (1)Blockchain v 2 (1)
Blockchain v 2 (1)
Ravi Bijlani , MBA
 
Blockchain Tech Approach Whitepaper
Blockchain Tech Approach WhitepaperBlockchain Tech Approach Whitepaper
Blockchain Tech Approach Whitepaper
Property Bihar
 
Blockchain architected
Blockchain architectedBlockchain architected
Blockchain architected
IBM Sverige
 
apidays Helsinki & North 2023 - API authorization with Open Policy Agent, And...
apidays Helsinki & North 2023 - API authorization with Open Policy Agent, And...apidays Helsinki & North 2023 - API authorization with Open Policy Agent, And...
apidays Helsinki & North 2023 - API authorization with Open Policy Agent, And...
apidays
 
WebRTC - Bridging Web and SIP Worlds
WebRTC - Bridging Web and SIP WorldsWebRTC - Bridging Web and SIP Worlds
WebRTC - Bridging Web and SIP Worlds
IMTC
 
Wwc developing hyperledger applications v4
Wwc  developing hyperledger applications v4Wwc  developing hyperledger applications v4
Wwc developing hyperledger applications v4
LennartF
 

Similar to Blockchain Explored: A technical deep-dive (20)

Hyperledger Fabric Technical Deep Dive 20190618
Hyperledger Fabric Technical Deep Dive 20190618Hyperledger Fabric Technical Deep Dive 20190618
Hyperledger Fabric Technical Deep Dive 20190618
 
blockchain unit 3
blockchain unit 3blockchain unit 3
blockchain unit 3
 
Blockchain HyperLedger Fabric Internals - Clavent
Blockchain HyperLedger Fabric Internals - ClaventBlockchain HyperLedger Fabric Internals - Clavent
Blockchain HyperLedger Fabric Internals - Clavent
 
Blockchin architecture & use cases -part-2
Blockchin architecture & use cases -part-2Blockchin architecture & use cases -part-2
Blockchin architecture & use cases -part-2
 
Iata blockchain presentation icaew suisse branch
Iata blockchain presentation   icaew suisse branchIata blockchain presentation   icaew suisse branch
Iata blockchain presentation icaew suisse branch
 
Ibp technical introduction
Ibp technical introductionIbp technical introduction
Ibp technical introduction
 
Hyperledger Fabric - Blockchain for the Enterprise - FOSDEM 20190203
Hyperledger Fabric - Blockchain for the Enterprise - FOSDEM 20190203Hyperledger Fabric - Blockchain for the Enterprise - FOSDEM 20190203
Hyperledger Fabric - Blockchain for the Enterprise - FOSDEM 20190203
 
Hyperledger Fabric update Meetup 20181101
Hyperledger Fabric update Meetup 20181101Hyperledger Fabric update Meetup 20181101
Hyperledger Fabric update Meetup 20181101
 
Ibm system storage solutions handbook
Ibm system storage solutions handbook Ibm system storage solutions handbook
Ibm system storage solutions handbook
 
Blockchain and BPM - Reflections on Four Years of Research and Applications
Blockchain and BPM - Reflections on Four Years of Research and ApplicationsBlockchain and BPM - Reflections on Four Years of Research and Applications
Blockchain and BPM - Reflections on Four Years of Research and Applications
 
Blockchain Intro to Hyperledger Fabric
Blockchain Intro to Hyperledger Fabric Blockchain Intro to Hyperledger Fabric
Blockchain Intro to Hyperledger Fabric
 
Deploying and Managing a Global Blockchain Network
Deploying and Managing a Global Blockchain NetworkDeploying and Managing a Global Blockchain Network
Deploying and Managing a Global Blockchain Network
 
Cisco ICON Speaker Series: Blockchain - Technology that is revolutionizing th...
Cisco ICON Speaker Series: Blockchain - Technology that is revolutionizing th...Cisco ICON Speaker Series: Blockchain - Technology that is revolutionizing th...
Cisco ICON Speaker Series: Blockchain - Technology that is revolutionizing th...
 
Blockchain Hyper Ledger Fabric : Bangkok Conference
Blockchain Hyper Ledger Fabric : Bangkok ConferenceBlockchain Hyper Ledger Fabric : Bangkok Conference
Blockchain Hyper Ledger Fabric : Bangkok Conference
 
Blockchain v 2 (1)
Blockchain v 2 (1)Blockchain v 2 (1)
Blockchain v 2 (1)
 
Blockchain Tech Approach Whitepaper
Blockchain Tech Approach WhitepaperBlockchain Tech Approach Whitepaper
Blockchain Tech Approach Whitepaper
 
Blockchain architected
Blockchain architectedBlockchain architected
Blockchain architected
 
apidays Helsinki & North 2023 - API authorization with Open Policy Agent, And...
apidays Helsinki & North 2023 - API authorization with Open Policy Agent, And...apidays Helsinki & North 2023 - API authorization with Open Policy Agent, And...
apidays Helsinki & North 2023 - API authorization with Open Policy Agent, And...
 
WebRTC - Bridging Web and SIP Worlds
WebRTC - Bridging Web and SIP WorldsWebRTC - Bridging Web and SIP Worlds
WebRTC - Bridging Web and SIP Worlds
 
Wwc developing hyperledger applications v4
Wwc  developing hyperledger applications v4Wwc  developing hyperledger applications v4
Wwc developing hyperledger applications v4
 

Recently uploaded

Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
Atul Kumar Singh
 
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBCSTRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
kimdan468
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
Thiyagu K
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
Vivekanand Anglo Vedic Academy
 
Marketing internship report file for MBA
Marketing internship report file for MBAMarketing internship report file for MBA
Marketing internship report file for MBA
gb193092
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Thiyagu K
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
Balvir Singh
 
Normal Labour/ Stages of Labour/ Mechanism of Labour
Normal Labour/ Stages of Labour/ Mechanism of LabourNormal Labour/ Stages of Labour/ Mechanism of Labour
Normal Labour/ Stages of Labour/ Mechanism of Labour
Wasim Ak
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
Jisc
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
camakaiclarkmusic
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
Jean Carlos Nunes Paixão
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
DeeptiGupta154
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
TechSoup
 
Honest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptxHonest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptx
timhan337
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
DhatriParmar
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
Tamralipta Mahavidyalaya
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
Nguyen Thanh Tu Collection
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
Pavel ( NSTU)
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 

Recently uploaded (20)

Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
 
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBCSTRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
 
Marketing internship report file for MBA
Marketing internship report file for MBAMarketing internship report file for MBA
Marketing internship report file for MBA
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
 
Normal Labour/ Stages of Labour/ Mechanism of Labour
Normal Labour/ Stages of Labour/ Mechanism of LabourNormal Labour/ Stages of Labour/ Mechanism of Labour
Normal Labour/ Stages of Labour/ Mechanism of Labour
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
 
Honest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptxHonest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptx
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
 

Blockchain Explored: A technical deep-dive

  • 1. 1© 2016 IBM Corporation Blockchain Explored: A Technical Deep-Dive Binh Nguyen Hyperledger Fabric Chief Architect
  • 3. 3 A mutual distributed ledger technology allowing any participant in the business network to independently compute and validate the source of truth Introducing Blockchain

  • 4. 4 Reference Architecture Distributed Ledger Technology Services APIs, Events, SDKs SMART CONTRACT Chain-code Services AP Membership
 Services Enrollment Attributes Consensus Services Distributed
 Ledger Ordering Service Network
 Protocol Endorsement Validation Secure Container Secure Registry TRANSACTIONS LEDGER IDENTITY Security and Crypto Services IDENTITY Pluggable, Membership, Privacy and Auditability of transactions. LEDGER | TRANSACTIONS Distributed transactional ledger whose state is updated by consensus of stakeholders SMART-CONTRACT “Programmable Ledger”, provide ability to run business logic against the blockchain (aka smart contract) APIs, Events, SDKs Multi-language native SDKs allow developers to write DLT apps
  • 5. 5 Orderer •  A group of Orderers runs a communication service, called ordering service, to provide atomic broadcast •  Ordering service is the genesis of a network. Clients of ordering service are peers and applications – Accept transactions and deliver blocks – Process all configuration transactions to set up network policies (readers, writers, admins) •  Orderer manages a pluggable trust engine (eg CFT or BFT) that performs the ordering of the transactions orderer Atomicbroadcast System Config Config Processor Trust Model
  • 6. 6 Peer •  A Peer is a node on the network maintaining state of the ledger and managing chaincodes •  Any number of Peers may participate in a network •  A Peer can be an endorser, committer and/or submitter (submitter has not been implemented). An endorser is always a committer –  An endorser executes and endorses transactions –  A committer verifies endorsements and validates transaction results •  A Peer manages event hub and deliver events to the subscribers •  Peers form a peer-to-peer gossip network Endorser Committer Ledger Chaincode Event Submitter peer
  • 7. 7 Ledger Latest written key/values for use in transaction simulation Supports keyed queries, composite key queries, key range queries TX Reads[] Writes[] TX Reads[] Writes[] TX Reads[] Writes[] TX Reads[] Writes[] State Database Transaction Log Last written key/value CouchDB (external option) supports keyed queries, composite key queries, key range queries, plus full data rich queries (beta in 1.0) blockHash à SegNo + offset blockNum à SegNo + offset txId à SegNo + offset Block index block tx array File System Level DB Replaceable tracking history of a key Key History index
  • 8. 8 Channel •  A data partitioning mechanism to control transaction visibility only to stakeholders •  Consensus takes place within a channel by members of the channel – Other members on the network are not allowed to access the channel and will not see transactions on the channel •  A chaincode may be deployed on multiple channels, each instance is isolated within its channel – A chaincode may query another chaincode in other channel (ACL applied)
  • 9. 9 Membership Service Provider •  An abstraction of identity provider –  <MSP.id, MSP.sign, MSP.verify, MSP.validateid, MSP.admin> –  govern application, endorser and orderer identities •  Used as building blocks for access control frameworks –  at the system level (read/write access on system controls, and channel creation) –  at the channel level (read/write access), –  at the chaincode level (invocation access) •  Represent a consortium or a member Client End-user Bob Endorser Endorser Endorser Membership Service Provider Orderer Channel ü  External Certificate Authority Fabric-CA Certificate Authority ü 
  • 10. 10 Crypto Service Provider •  CSP abstracts crypto standards (software and hardware) to enable plugging in different implementation – Alternate implementations of crypto interface can be used within the Fabric code, without modifying the core •  Support for Multiple CSPs – Easy addition of more types of CSPs, e.g., of different HSM types – Enable the use of different CSP on different system components transparently Fabric Components ACSP EP11 (enterprise PKCS11 firmware) IBM HSM (card) OpenCryptoKi (remote PKCS11) (PKCS11) (enterprise PKCS11) Software BCCSP HSM BCCSP (PKCS11) CSP Factory
  • 11. 11 Ecert Tcert Fabric-CA •  Default implementation of the Membership Services Provider Interface. •  Issues Ecerts (long-term identity) and Tcerts (disposable certificate) •  Supports clustering for HA characteristics •  Supports LDAP for user authentication •  Supports HSM Fabric-CA cluster DB LDAP Authenticate Enroll ID, secret HSM Root Certificate Authority ü  Membership Services Provider Implements
  • 12. 12 Overview of Application Flow •  Developers create application and smart contracts (chaincodes) – Chaincodes are deployed on the network and control the state of the ledger – Application handles user interface and submits transactions to the network which call chaincodes •  Network emits events on block of transactions allowing applications to integrate with other systems cached state, history, tx Blockchain block txn txn txn txn … Blockchain developer Smart Contract Invokes/queriesdevelops develops Application Accesses event emits emits D Ledger ‘get’ ‘put, ‘delete’ SDK Peer
  • 13. 13 Contents 13Page© 2016 IBM Corporation What? How? When?
  • 14. 14 Bootstrapping a Network •  Decide on members (MSPs) controlling the ordering service –  Set up MSP configuration for each member (root certs, signing certs, key, admins) –  Set up policies governing the network (who has privilege to modify config and create channels) –  Start up orderers with the configuration •  Each member decides on the number of peers to participate –  For each peer, issue peer identity (local MSP configuration) and start it up •  At this point, we have a network of peers and orderers –  Peers are not yet connected to orderers nor to each other
  • 15. 15 Two-Member Network Ordering Service (transaction timestamping) Orderer Peer Peer Peer Peer Peer Peer Orderer Profiles: TwoMembers: Orderer: <<: *OrdererDefaults Organizations: - *Member1 - *Member2 Application: <<: *ApplicationDefaults Organizations: - *Member1 - *Member2 Membership Service Provider Membership Service Provider
  • 16. 16 Setting up Channels, Policies, and Chaincodes •  Depending on the business network, 1 or more channels may be required •  To create a channel, send a configuration transaction to the ordering service specifying members of the channel, ACL policies, anchor peers – The configuration becomes part of the genesis block of the channel – Then notify members to join the channel (a peer may join multiple channels) •  Deploy chaincodes on the channel with appropriate endorsement policy •  Now the network is ready for transacting
  • 17. 17 Consensus Redefined •  Consensus = Transaction Endorsement + Ordering + Validation •  Endorsement: Each stakeholder decides whether to accept or reject a transaction •  Ordering: Sort all transactions within a period into a block to be committed in that order •  Validation: Verify transaction endorsement satisfied the policy and transaction transformation is valid according to multiversion concurrency control (MVCC)
  • 18. 18 Transaction Endorsement •  An endorsement is a signed response of the result of a transaction execution •  An endorsement policy encapsulates the requirement for a transaction to be accepted by the stakeholders, either explicit or implicit – A signature from both member1 and member2 – Either a signature from both member1 and member2 or a signature from member3 – A signature from John Doe •  The endorsement policy is specified during a chaincode instantiation on a channel; each channel-chaincode may have different endorsement policy
  • 19. 19 Two-Member Network with A Channel Ordering Service (transaction timestamping) Orderer Peer Peer Peer Peer Peer Peer Orderer Channel Channel App App What if we want to add more members ?
  • 20. 20 N-Member Network
 with Multichannel Ordering Service (transaction timestamping) Orderer Peer Peer Peer Peer Peer Peer Orderer Channel Channel App App Peer Peer Peer Orderer Channel Peer Peer Peer Peer
  • 21. 21 Sample transaction: Step 1/7 – Propose transaction E0 Client Application E1 E2 S D K Endorser Ledger Committer Application Orderier Smart Contract (Chain code) Endorsement Policy Key: Fabric Ordering-Service O O O OAp Application proposes transaction Endorsement policy: •  “E0, E1 and E2 must sign” •  (P3, P4 are not part of the policy) Client application submits a transaction proposal for chaincode A. It must target the required peers {E0, E1, E2} P4P3 A B A B A B A D
  • 22. 22 Sample transaction: Step 2/7 – Execute proposal Endorsers Execute Proposals E0, E1 & E2 will each execute the proposed transaction. None of these executions will update the ledger Each execution will capture the set of Read and Written data, called RW sets, which will now flow in the fabric. E0 Client Application E1 E2 S D K Fabric Ordering-Service O O O OAp Endorser Ledger Committer Application Orderier Smart Contract (Chain code) Endorsement Policy Key: P4P3 A B A B A B A D
  • 23. 23 Sample transaction: Step 3/7 – Proposal Response Application receives responses The RW sets are signed by each endorser and returned to the application E0 Client Application E1 E2 S D K Fabric Ordering-Service O O O OAp Endorser Ledger Committer Application Orderier Smart Contract (Chain code) Endorsement Policy Key: P4P3 A B A B A B A D
  • 24. 24 Sample transaction: Step 4/7 – Order Transaction Application submits responses for ordering Application submits responses as a transaction to be ordered. Ordering happens across the fabric in parallel with transactions submitted by other applications Fabric E0 E1 E2 O O O OAp Client Application S D K Endorser Ledger Committer Application Orderier Smart Contract (Chain code) Endorsement Policy Key: (other applications) Ordering-Service P4P3 A B A B A B A D
  • 25. 25 Sample transaction: Step 5/7 – Deliver Transaction Orderer delivers to all committing peers Ordering service collects transactions into blocks for distribution to committing peers. Peers can deliver to other peers using gossip (not shown) Different ordering algorithms available: • SOLO (single node, development) • Kafka (blocks map to topics) • SBFT (tolerates faulty peers, future) Fabric E0 E1 E2 O O O OAp Client Application S D K Endorser Ledger Committer Application Orderier Smart Contract (Chain code) Endorsement Policy Key: Ordering-Service P4P3 A B A B A B A D
  • 26. 26 Sample transaction: Step 6/7 – Validate Transaction Committing peers validate transactions Every committing peer validates against the endorsement policy. Also check RW sets are still valid for the current state Transactions are written to the ledger and update caching DBs with validated transactions Fabric E0 E1 E2 O O O OAp Client Application S D K Endorser Ledger Committer Application Orderier Smart Contract (Chain code) Endorsement Policy Key: Ordering-Service P4P3 A B A B A B A D
  • 27. 27 Sample transaction: Step 7/7 – Notify Transaction Committing peers notify applications Applications can register to be notified when transactions succeed or fail, and when blocks are added to the ledger Applications will be notified by each peer to which they are connected Fabric E0 A B E1 A B E2 A B O O O OAp Client Application S D K Endorser Ledger Committer Application Orderier Smart Contract (Chain code) Endorsement Policy Key: Ordering-Service P3 A D P4 ! ! ! ! ! !
  • 28. 28 Contents 28Page© 2016 IBM Corporation What? How? When?
  • 29. 29 2017!December January 31 March 20 May Early Docker Images for the December Connect- A-Thon with Press Release 11 companies in Australia, Hungary, UK, US East Coast, US West Coast, Canada Docker images for Hyperledger Community 60+ participants real time testing out latest Hyperledger Fabric 1.0 and documentation at Hyperledger Developer Event in San Fransisco Interconnect: Docker images aligned with Beta for HSBN Docker images aligned with the HSBN Consortium offering GA Proposal to community on current content (which also applies to Interconnect 2017) https://wiki.hyperledger.org/projects/proposedv1alphacontent Docker Images Continually produced through Continuous Integration March 3 Docker images for community, being used by select customers Moving Forward
  • 30. 30 Where to Ask Questions Hyperledger Community has moved off Slack to RocketChat. Go to chat.hyperledger.org and register. You will be required to have a linux foundation ID however. If you aren't registered with the Linux Foundation, get an ID from https://identity.linuxfoundation.org/ For questions on Version 1.0, go to the fabric-questions channel. Also every day, the docker build status is posted when passing the continuous integration tests will be posted on fabric-ci (only posted when tests pass)
  • 31. 31 Useful Information To Get You Started •  Documentation actively getting updated as we progress: http://hyperledger-fabric.readthedocs.io/en/latest/ •  Support for Docker images for easy deployment for Hyperledger-fabric 1.0. Docker images will be available for all major components to run a network (peers, solo orderer, CLI, CA, Kafka, CouchDB).  A “Getting started” section will be available in the Hyperledger-fabric publications.  Getting started will help a developer or user to start the network, run a simple application , and learn the basics of running fabric 1.0. See: http://hyperledger-fabric.readthedocs.io/en/latest/ •  Support for a tool that helps bootstrap a network.   The bootstrap network tool is available and called the Configuration Transaction Generator (configtxgen). The tool is designed to configure the network with organizations included in the ordering service genesis block and generates the configuration transaction artifacts used for channel creation.
  • 32. 32© 2016 IBM Corporation http://hyperledger.org http://ibm.com/blockchain