SlideShare a Scribd company logo
1 of 28
Anatomy of a Hyperledger Application
Eric Cattoir
eric_cattoir@be.ibm.com
@CattoirEric
Dina Fatkulbayanova
dfatkulbayanova93@gmail.com
@dfatkulbayanov1
Agenda
•Hyperledger Architecture
•Application Components
•Smart Contracts
•Permissioned Ledger Access
•Summary
2
Agenda
•Hyperledger Architecture
•Application Components
•Smart Contracts
•Permissioned Ledger Access
•Summary
3
Hyperledger Architecture
4
Blockchain
User
Certificate
Authority
Blockchain
Developer
Blockchain
Network
Operator Traditional
Processing
Platforms
Traditional Data
Sources
Blockchain
B2B transactions
access to logic
access to
data
creates
applications
operates
accesses
security
certificates
Regulator
performs
oversight
The Participants in a Blockchain Network
R U
D
O

5
Blockchain Participants
the business user, operating in a business network. This role interacts
with the Blockchain using an application. They are not aware of the
Blockchain.
the overall authority in a business network. Specifically, regulators may
require broad access to the ledger’s contents.
the developer of applications and smart contracts that interact with the
Blockchain and are used by Blockchain users.
defines, creates, manages and monitors the Blockchain network. Each
business in the network has a Blockchain Network operator.
manages the different types of certificates required to run a permissioned
Blockchain.
an existing computer system which may be used by the Blockchain to
augment processing. This system may also need to initiate requests into
the Blockchain.
an existing data system which may provide data to influence the behavior
of smart contracts.
Blockchain
User
Blockchain
Developer
Certificate
Authority
Blockchain
Regulator
Traditional
Processing
Platform
Traditional
Data
Sources
Blockchain
Network
Operator
U
R
D
O

6
Blockchain Components
Membership
Smart Contract
Systems
Management
Events
Consensus
Network
Wallet
Ledger
contains the current world state of the ledger and a Blockchain of
transaction invocations
f(abc); encapsulates business network transactions in code. transaction
invocations result in gets and sets of ledger state
…
E T
a collection of network data and processing peers forming a Blockchain
network. Responsible for maintaining a consistently replicated ledger
manages identity and transaction certificates, as well as other aspects of
permissioned access
creates notifications of significant operations on the Blockchain (e.g. a
new block), as well as notifications related to smart contracts. Does not
include event distribution.
provides the ability to create, change and monitor Blockchain
components
securely manages a user’s security credentials
i
Blockchain
Systems
Integration
responsible for integrating Blockchain bi-directionally with external
systems. Not part of Blockchain, but used with it.
7
Agenda
•Hyperledger Architecture
•Application Components
•Smart Contracts
•Permissioned Ledger Access
•Summary
8
Typical Application
9
User Interface
API Layer NodeJS
Backend
Frontend
API
Golang
Chain code
World/Ledger
state
Blockchain
block
txn txn txn txn …
Blockchain
developer
Smart
Contract
invokesdevelops
develops
each ‘put’ or ’delete’ invoke recorded
*
Application
Blockchain Applications and the Ledger
Accesses
(Rest API)
event
emits
emits
D
10
Ledger
‘get’ ‘put, ‘delete’
Blockchain Applications
• Application
– Focuses on Blockchain user business needs and experience
– Calls smart contract for interactions with ledger state
– Can access transaction ledger directly, if required
– Can process events if required
• Smart Contract
– Chain code encapsulates business logic. Choice of implementation language
– Contract developer defines relevant interfaces (e.g. queryOwner, updateOwner …)
– Different interfaces access ledger state accordingly – consistent read and write provided
– Each invocation of a smart contract is a “Blockchain transaction”
• Ledger
– World/Ledger state holds current value of smart contract data
• e.g. vehicleOwner=Daisy
– Blockchain holds historic sequence of all chain code transactions
• e.g. updateOwner(from=John, to=Anthony); updateOwner (from=Anthony, to=Daisy);etc
11
Blockchain
Operator
configures,
operates
Smart
Contract
Application
deployed to and
executes on
peer nodes
invoke SC
peer
Exact network structure depends on
consensus mechanism. e.g. PBFT has
leader, validating and non-validating
peers
Consensus
Network
Consensus and the Blockchain Network
O
consensus msg
consensus messages flow
between appropriate peers to
ensure the Blockchain SC
transactions are kept in order;
world state is kept consistent
through local transaction
replay
…
…
scscsc
…
…
scscsc
…
…
…
scscsc
…
scscsc
12
How a PBFT Network Works (1/4) – Submission
Non-validating peer
Validating peer
Validating Leader
456
Transaction
submitted to
network
123
Transaction
submitted to
network
789
Transaction
submitted to
network
…789 123 456
…456 789 123
…456 123 789
…123 456 789
How a PBFT Network Works (2/4) – Ordering
Non-validating peer
Validating peer
Validating Leader
456 123
789
…123 456 789
…123 456 789
…123 456 789
…123 456 789
14
…123 456 789
Consensus network
establishes order as
How a PBFT Network Works (3/4) – Execution
Non-validating peer
Validating peer
Validating Leader
…123 456 789
…123 456 789
…123 456 789
…123 456 789
15
…123 456 789
Consensus network
establishes order as
Δ
Δ
Δ
Δ
How a PBFT Network Works (4/4) – Distribution
Non-validating peer
Validating peer
Validating Leader
…123 456 789
…123 456 789
…123 456 789
…123 456 789
16
…123 456 789
Consensus network
establishes order as
Blockchain Networks
• Blockchain Network
– Comprises a connected set of peer nodes, each owning a copy of the ledger
– Peers collaborate to maintain consistent replicated copies of the ledger
• Different mechanisms for collaboration – so-called “consensus protocols”
– Peers managed by key network participants
• Consensus Protocol Options
– PBFT excellent first choice. NOOPs (No Operation) available for starter networks
– Other protocols can be added (non-trivial!)
• PBFT Overview
– Defines non-validating peers, validating peers, with 1-validating leader
– Leader receives transactions from connected applications
– Leader organizes and distributes transactions with validator network
• Copes with erring and malicious validators at very low compute cost
– Each v-peer executes transactions to bring local ledger copy up-to-date
– Non-validating-peers’ ledgers maintained from connected validating-peer’s
– Castro & Liskov's paper ‘Practical Byzantine Fault Tolerance and Proactive Recovery’
17
Agenda
•Hyperledger Architecture
•Application Components
•Smart Contracts
•Permissioned Ledger Access
•Summary
18
Implementing Chaincode
• Implement Chaincode Shim Interface
• Init()
• Invoked when you deploy the chain code
• Invoke()
• Called when executing the contract
• Takes function name as parameter
• Query()
• Implement Main()
• Deploy through github
19
Blockchain
network
…
Integrating with Existing Systems
Transform Existing
systems
4. System
events
3. Blockchain
events
Smart
contract
1. Call out to existing
systems to enrich
smart contract logic
20
2. Call into Blockchain network
from existing systems
Non-Deterministic Number Errors
21
…123 456 789
…123 456 789
…123 456 789
…123 456 789
External System
1005
– If each smart contract calls out to external system to receive information or uses a
non-deterministic variable, it will prevent consensus being achieved.
– All external data sources should return the same result for the same calls and
variables must be deterministic, any non-deterministic values must be defines as
part of the transaction
Requested current
mileage of moving car
1006
1007
1008
Agenda
•Hyperledger Architecture
•Application Components
•Smart Contracts
•Permissioned Ledger Access
•Summary
22
Requests
certificates
1xEcert, NxTcert
Consensus
Network
Blockchain
User A
usesEcert
Tcert invokes SC txn
(signed with TkeyA,
encrypted with TkeyA, TkeyB…)
TkeyA
Smart
contract
deployed on every
validating peer
Enrollment certificates
(Ecerts) and Transaction
certificates (Tcerts) can only
be linked by CA and user
…
(signed with Ekey of origin,
encrypted with validators’ key)
Blockchain
User B
TkeyB
TkeyB
shares Tcert
public key
Accesses ledger
Permissioned Ledger Access
U
U
Application
Application
uses
TkeyB

sc
Membership
Certificate
Authority
(stored in wallet)
23
Transaction and Identity Privacy
• Transaction Certificates, Tcerts
– Disposable certificates, typically used once, requested from Transaction CA
– Tcert derived from long term identity - Enrollment Certificate, Ecert
– Only Transaction CA can link Ecert and Tcert
• Permissioned Interactions
– Consumer shares public Tcert to provider
– Provider invokes chain code transaction as usual, but
• Signs with provider’s private Tcert for authentication
• Encrypts with provider and consumer Tcerts for subsequent access
– Consumers can subsequently access ledger data using their private key
• Secure chain code
– CC can also be signed and encrypted, to keep verify and secure contract details
– Signing is by contract owner/author
– Encryption ensures only validators can see and execute transaction chain code
24
Integrating with Existing systems
• Blockchain is network System of Record
• Smart contracts can call out to existing systems
– Query is most likely interaction for smart decisions
• e.g. all payments made before asset transfer?
– Transactions execute on every peer in the Blockchain network
• Care over predictability… transaction must provide same outputs each time it executes
• Two-way exchange
– Events from Blockchain network create actions in existing systems
– Cumulative actions in existing systems result in Blockchain interaction
• Transformation between Blockchain and existing systems’ formats
– GBO, ASBO is most likely approach
– Standard approach will be for Gateway products to bridge these formats
– Gateway connects to peer in Blockchain network and existing systems
25
Agenda
•Hyperledger Architecture
•Application Components
•Smart Contracts
•Permissioned Ledger Access
•Summary
26
Summary and Next Steps
• Hyper ledger protocol Specification
• http://hyperledger-fabric.readthedocs.io/en/latest/
• Blockchain Courses IBM Developerworks
• https://developer.ibm.com/courses/all-courses/blockchain-for-developers/
• Chaincode Developers Guide
• http://hyperledger-fabric.readthedocs.io/en/latest/#chaincode-developer-
guide
• Bluemix Blockchain service
• https://console.ng.bluemix.net/docs/services/blockchain/index.html
27
Thank You!
28

More Related Content

What's hot

Ibm blockchain - Hyperledger 15.02.18
Ibm blockchain - Hyperledger 15.02.18Ibm blockchain - Hyperledger 15.02.18
Ibm blockchain - Hyperledger 15.02.18TelecomValley
 
Blockchain - HyperLedger Fabric
Blockchain - HyperLedger FabricBlockchain - HyperLedger Fabric
Blockchain - HyperLedger FabricAraf Karsh Hamid
 
Demystify blockchain development with hyperledger fabric
Demystify blockchain development with hyperledger fabricDemystify blockchain development with hyperledger fabric
Demystify blockchain development with hyperledger fabricBenjamin Fuentes
 
Hyperledger Lightning Talk
Hyperledger Lightning TalkHyperledger Lightning Talk
Hyperledger Lightning TalkAndrew Kennedy
 
Defrag X Keynote: Deploying and managing Global Blockchain Network
Defrag X Keynote: Deploying and managing Global Blockchain NetworkDefrag X Keynote: Deploying and managing Global Blockchain Network
Defrag X Keynote: Deploying and managing Global Blockchain NetworkDuncan Johnston-Watt
 
Blockchain Essentials for Enterprise Architects
Blockchain Essentials for Enterprise ArchitectsBlockchain Essentials for Enterprise Architects
Blockchain Essentials for Enterprise ArchitectsGokul Alex
 
Hyperledger Overview Feb 2017
Hyperledger Overview Feb 2017Hyperledger Overview Feb 2017
Hyperledger Overview Feb 2017Eric Kjome
 
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 ApplicationsDuncan Johnston-Watt
 
Wwc developing hyperledger applications v4
Wwc  developing hyperledger applications v4Wwc  developing hyperledger applications v4
Wwc developing hyperledger applications v4LennartF
 
NRCLive FinTech event Trends in FinTech
NRCLive FinTech event Trends in FinTech NRCLive FinTech event Trends in FinTech
NRCLive FinTech event Trends in FinTech Maarten Korz
 
Blockchain architected
Blockchain architectedBlockchain architected
Blockchain architectedIBM Sverige
 
Analysing Data from Blockchains - Keynote @ SOCCA 2020
Analysing Data from Blockchains - Keynote @ SOCCA 2020Analysing Data from Blockchains - Keynote @ SOCCA 2020
Analysing Data from Blockchains - Keynote @ SOCCA 2020Ingo Weber
 
Hyperledger Overview - 20181024
Hyperledger Overview - 20181024Hyperledger Overview - 20181024
Hyperledger Overview - 20181024Arnaud Le Hors
 
Oscon 2017: Contributing to Hyperledger
Oscon 2017: Contributing to HyperledgerOscon 2017: Contributing to Hyperledger
Oscon 2017: Contributing to HyperledgerTracy Kuhrt
 
The Role of Blockchain in Enterprise Commerce and Product Content Management
The Role of Blockchain in Enterprise Commerce and Product Content ManagementThe Role of Blockchain in Enterprise Commerce and Product Content Management
The Role of Blockchain in Enterprise Commerce and Product Content ManagementSAP Customer Experience
 
Software Architecture and Model-Driven Engineering for Blockchain
Software Architecture and Model-Driven Engineering for BlockchainSoftware Architecture and Model-Driven Engineering for Blockchain
Software Architecture and Model-Driven Engineering for BlockchainIngo Weber
 
Technical Introduction to Hyperledger Fabric v1.0
Technical Introduction to Hyperledger Fabric v1.0Technical Introduction to Hyperledger Fabric v1.0
Technical Introduction to Hyperledger Fabric v1.0Altoros
 

What's hot (20)

Blockchain for the Enterprise
Blockchain for the EnterpriseBlockchain for the Enterprise
Blockchain for the Enterprise
 
Ibm blockchain - Hyperledger 15.02.18
Ibm blockchain - Hyperledger 15.02.18Ibm blockchain - Hyperledger 15.02.18
Ibm blockchain - Hyperledger 15.02.18
 
Blockchain - HyperLedger Fabric
Blockchain - HyperLedger FabricBlockchain - HyperLedger Fabric
Blockchain - HyperLedger Fabric
 
Demystify blockchain development with hyperledger fabric
Demystify blockchain development with hyperledger fabricDemystify blockchain development with hyperledger fabric
Demystify blockchain development with hyperledger fabric
 
Hyperledger Lightning Talk
Hyperledger Lightning TalkHyperledger Lightning Talk
Hyperledger Lightning Talk
 
Hyperledger fabric 3
Hyperledger fabric 3Hyperledger fabric 3
Hyperledger fabric 3
 
Defrag X Keynote: Deploying and managing Global Blockchain Network
Defrag X Keynote: Deploying and managing Global Blockchain NetworkDefrag X Keynote: Deploying and managing Global Blockchain Network
Defrag X Keynote: Deploying and managing Global Blockchain Network
 
Blockchain Essentials for Enterprise Architects
Blockchain Essentials for Enterprise ArchitectsBlockchain Essentials for Enterprise Architects
Blockchain Essentials for Enterprise Architects
 
Hyperledger Overview Feb 2017
Hyperledger Overview Feb 2017Hyperledger Overview Feb 2017
Hyperledger Overview Feb 2017
 
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
 
Wwc developing hyperledger applications v4
Wwc  developing hyperledger applications v4Wwc  developing hyperledger applications v4
Wwc developing hyperledger applications v4
 
NRCLive FinTech event Trends in FinTech
NRCLive FinTech event Trends in FinTech NRCLive FinTech event Trends in FinTech
NRCLive FinTech event Trends in FinTech
 
Blockchain architected
Blockchain architectedBlockchain architected
Blockchain architected
 
Hyperledger
HyperledgerHyperledger
Hyperledger
 
Analysing Data from Blockchains - Keynote @ SOCCA 2020
Analysing Data from Blockchains - Keynote @ SOCCA 2020Analysing Data from Blockchains - Keynote @ SOCCA 2020
Analysing Data from Blockchains - Keynote @ SOCCA 2020
 
Hyperledger Overview - 20181024
Hyperledger Overview - 20181024Hyperledger Overview - 20181024
Hyperledger Overview - 20181024
 
Oscon 2017: Contributing to Hyperledger
Oscon 2017: Contributing to HyperledgerOscon 2017: Contributing to Hyperledger
Oscon 2017: Contributing to Hyperledger
 
The Role of Blockchain in Enterprise Commerce and Product Content Management
The Role of Blockchain in Enterprise Commerce and Product Content ManagementThe Role of Blockchain in Enterprise Commerce and Product Content Management
The Role of Blockchain in Enterprise Commerce and Product Content Management
 
Software Architecture and Model-Driven Engineering for Blockchain
Software Architecture and Model-Driven Engineering for BlockchainSoftware Architecture and Model-Driven Engineering for Blockchain
Software Architecture and Model-Driven Engineering for Blockchain
 
Technical Introduction to Hyperledger Fabric v1.0
Technical Introduction to Hyperledger Fabric v1.0Technical Introduction to Hyperledger Fabric v1.0
Technical Introduction to Hyperledger Fabric v1.0
 

Similar to Anatomy of a hyperledger application

Blockchain Explored: A technical deep-dive
Blockchain Explored: A technical deep-diveBlockchain Explored: A technical deep-dive
Blockchain Explored: A technical deep-diveBinh Nguyen
 
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 ApplicationsIngo Weber
 
Ibp technical introduction
Ibp technical introductionIbp technical introduction
Ibp technical introductionLennartF
 
Blockchain Tech Approach Whitepaper
Blockchain Tech Approach WhitepaperBlockchain Tech Approach Whitepaper
Blockchain Tech Approach WhitepaperProperty Bihar
 
blockchain unit 3
blockchain unit 3blockchain unit 3
blockchain unit 3Rohit Verma
 
Blockchain HyperLedger Fabric Internals - Clavent
Blockchain HyperLedger Fabric Internals - ClaventBlockchain HyperLedger Fabric Internals - Clavent
Blockchain HyperLedger Fabric Internals - ClaventAraf Karsh Hamid
 
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger WorkshopIBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger WorkshopIBM France Lab
 
Hyperledger Fabric Technical Deep Dive 20190618
Hyperledger Fabric Technical Deep Dive 20190618Hyperledger Fabric Technical Deep Dive 20190618
Hyperledger Fabric Technical Deep Dive 20190618Arnaud Le Hors
 
Block chain fundamentals and hyperledger
Block chain fundamentals and hyperledgerBlock chain fundamentals and hyperledger
Block chain fundamentals and hyperledgersendhilkumarks
 
Blockchain Intro to Hyperledger Fabric
Blockchain Intro to Hyperledger Fabric Blockchain Intro to Hyperledger Fabric
Blockchain Intro to Hyperledger Fabric Araf Karsh Hamid
 
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
 
BlockchainConf.tech - Hyperledger overview
BlockchainConf.tech - Hyperledger overviewBlockchainConf.tech - Hyperledger overview
BlockchainConf.tech - Hyperledger overviewPad Kankipati
 
Hyperledger Fabric update Meetup 20181101
Hyperledger Fabric update Meetup 20181101Hyperledger Fabric update Meetup 20181101
Hyperledger Fabric update Meetup 20181101Arnaud Le Hors
 
Blockchain in enterprise - Challenges, Considerations and Designs
Blockchain in enterprise - Challenges, Considerations and DesignsBlockchain in enterprise - Challenges, Considerations and Designs
Blockchain in enterprise - Challenges, Considerations and DesignsMichael Chi
 
Deploy a blockchain web-app with Hyperledger Fabric 1.4 - Concepts & Code
Deploy a blockchain web-app with Hyperledger Fabric 1.4 - Concepts & CodeDeploy a blockchain web-app with Hyperledger Fabric 1.4 - Concepts & Code
Deploy a blockchain web-app with Hyperledger Fabric 1.4 - Concepts & CodeHorea Porutiu
 

Similar to Anatomy of a hyperledger application (20)

Blockchain Explored: A technical deep-dive
Blockchain Explored: A technical deep-diveBlockchain Explored: A technical deep-dive
Blockchain Explored: A technical deep-dive
 
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
 
Ibp technical introduction
Ibp technical introductionIbp technical introduction
Ibp technical introduction
 
Blockchain Tech Approach Whitepaper
Blockchain Tech Approach WhitepaperBlockchain Tech Approach Whitepaper
Blockchain Tech Approach Whitepaper
 
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
 
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger WorkshopIBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
 
Hyperledger Fabric Technical Deep Dive 20190618
Hyperledger Fabric Technical Deep Dive 20190618Hyperledger Fabric Technical Deep Dive 20190618
Hyperledger Fabric Technical Deep Dive 20190618
 
Block chain fundamentals and hyperledger
Block chain fundamentals and hyperledgerBlock chain fundamentals and hyperledger
Block chain fundamentals and hyperledger
 
BlockChain-1.pptx
BlockChain-1.pptxBlockChain-1.pptx
BlockChain-1.pptx
 
Blockchain Intro to Hyperledger Fabric
Blockchain Intro to Hyperledger Fabric Blockchain Intro to Hyperledger Fabric
Blockchain Intro to Hyperledger Fabric
 
Introduction to Hyperledger Composer
Introduction to Hyperledger ComposerIntroduction to Hyperledger Composer
Introduction to Hyperledger Composer
 
BlockChain-1.pptx
BlockChain-1.pptxBlockChain-1.pptx
BlockChain-1.pptx
 
The Education Blockchain
The Education BlockchainThe Education Blockchain
The Education Blockchain
 
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
 
BlockchainConf.tech - Hyperledger overview
BlockchainConf.tech - Hyperledger overviewBlockchainConf.tech - Hyperledger overview
BlockchainConf.tech - Hyperledger overview
 
Hyperledger Fabric update Meetup 20181101
Hyperledger Fabric update Meetup 20181101Hyperledger Fabric update Meetup 20181101
Hyperledger Fabric update Meetup 20181101
 
Blockchain in enterprise - Challenges, Considerations and Designs
Blockchain in enterprise - Challenges, Considerations and DesignsBlockchain in enterprise - Challenges, Considerations and Designs
Blockchain in enterprise - Challenges, Considerations and Designs
 
Blockchain v 2 (1)
Blockchain v 2 (1)Blockchain v 2 (1)
Blockchain v 2 (1)
 
Deploy a blockchain web-app with Hyperledger Fabric 1.4 - Concepts & Code
Deploy a blockchain web-app with Hyperledger Fabric 1.4 - Concepts & CodeDeploy a blockchain web-app with Hyperledger Fabric 1.4 - Concepts & Code
Deploy a blockchain web-app with Hyperledger Fabric 1.4 - Concepts & Code
 

More from Eric Cattoir

Ibm edge computing meetup
Ibm edge computing meetupIbm edge computing meetup
Ibm edge computing meetupEric Cattoir
 
Kubernetes solutions
Kubernetes solutionsKubernetes solutions
Kubernetes solutionsEric Cattoir
 
You always dreamt of your own quantum computer. now you can have it in the cloud
You always dreamt of your own quantum computer. now you can have it in the cloudYou always dreamt of your own quantum computer. now you can have it in the cloud
You always dreamt of your own quantum computer. now you can have it in the cloudEric Cattoir
 
Bluemix overview with Internet of Things
Bluemix overview with Internet of ThingsBluemix overview with Internet of Things
Bluemix overview with Internet of ThingsEric Cattoir
 
2449 rapid prototyping of innovative io t solutions
2449   rapid prototyping of innovative io t solutions2449   rapid prototyping of innovative io t solutions
2449 rapid prototyping of innovative io t solutionsEric Cattoir
 
Devoxx 2014 presentation
Devoxx 2014 presentationDevoxx 2014 presentation
Devoxx 2014 presentationEric Cattoir
 
Innovate at speed with Devops
Innovate at speed with DevopsInnovate at speed with Devops
Innovate at speed with DevopsEric Cattoir
 
The new developer experience
The new developer experienceThe new developer experience
The new developer experienceEric Cattoir
 
Mobile application development
Mobile application developmentMobile application development
Mobile application developmentEric Cattoir
 
IBM Rational Solution for mobile
IBM Rational Solution for mobileIBM Rational Solution for mobile
IBM Rational Solution for mobileEric Cattoir
 

More from Eric Cattoir (12)

Ibm edge computing meetup
Ibm edge computing meetupIbm edge computing meetup
Ibm edge computing meetup
 
Kubernetes solutions
Kubernetes solutionsKubernetes solutions
Kubernetes solutions
 
You always dreamt of your own quantum computer. now you can have it in the cloud
You always dreamt of your own quantum computer. now you can have it in the cloudYou always dreamt of your own quantum computer. now you can have it in the cloud
You always dreamt of your own quantum computer. now you can have it in the cloud
 
Bluemix overview with Internet of Things
Bluemix overview with Internet of ThingsBluemix overview with Internet of Things
Bluemix overview with Internet of Things
 
2449 rapid prototyping of innovative io t solutions
2449   rapid prototyping of innovative io t solutions2449   rapid prototyping of innovative io t solutions
2449 rapid prototyping of innovative io t solutions
 
Ibm iot overview
Ibm   iot overviewIbm   iot overview
Ibm iot overview
 
Devoxx 2014 presentation
Devoxx 2014 presentationDevoxx 2014 presentation
Devoxx 2014 presentation
 
Innovate at speed with Devops
Innovate at speed with DevopsInnovate at speed with Devops
Innovate at speed with Devops
 
The new developer experience
The new developer experienceThe new developer experience
The new developer experience
 
Mobile application development
Mobile application developmentMobile application development
Mobile application development
 
Agile at scale
Agile at scaleAgile at scale
Agile at scale
 
IBM Rational Solution for mobile
IBM Rational Solution for mobileIBM Rational Solution for mobile
IBM Rational Solution for mobile
 

Recently uploaded

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 

Recently uploaded (20)

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 

Anatomy of a hyperledger application

  • 1. Anatomy of a Hyperledger Application Eric Cattoir eric_cattoir@be.ibm.com @CattoirEric Dina Fatkulbayanova dfatkulbayanova93@gmail.com @dfatkulbayanov1
  • 2. Agenda •Hyperledger Architecture •Application Components •Smart Contracts •Permissioned Ledger Access •Summary 2
  • 3. Agenda •Hyperledger Architecture •Application Components •Smart Contracts •Permissioned Ledger Access •Summary 3
  • 5. Blockchain User Certificate Authority Blockchain Developer Blockchain Network Operator Traditional Processing Platforms Traditional Data Sources Blockchain B2B transactions access to logic access to data creates applications operates accesses security certificates Regulator performs oversight The Participants in a Blockchain Network R U D O  5
  • 6. Blockchain Participants the business user, operating in a business network. This role interacts with the Blockchain using an application. They are not aware of the Blockchain. the overall authority in a business network. Specifically, regulators may require broad access to the ledger’s contents. the developer of applications and smart contracts that interact with the Blockchain and are used by Blockchain users. defines, creates, manages and monitors the Blockchain network. Each business in the network has a Blockchain Network operator. manages the different types of certificates required to run a permissioned Blockchain. an existing computer system which may be used by the Blockchain to augment processing. This system may also need to initiate requests into the Blockchain. an existing data system which may provide data to influence the behavior of smart contracts. Blockchain User Blockchain Developer Certificate Authority Blockchain Regulator Traditional Processing Platform Traditional Data Sources Blockchain Network Operator U R D O  6
  • 7. Blockchain Components Membership Smart Contract Systems Management Events Consensus Network Wallet Ledger contains the current world state of the ledger and a Blockchain of transaction invocations f(abc); encapsulates business network transactions in code. transaction invocations result in gets and sets of ledger state … E T a collection of network data and processing peers forming a Blockchain network. Responsible for maintaining a consistently replicated ledger manages identity and transaction certificates, as well as other aspects of permissioned access creates notifications of significant operations on the Blockchain (e.g. a new block), as well as notifications related to smart contracts. Does not include event distribution. provides the ability to create, change and monitor Blockchain components securely manages a user’s security credentials i Blockchain Systems Integration responsible for integrating Blockchain bi-directionally with external systems. Not part of Blockchain, but used with it. 7
  • 8. Agenda •Hyperledger Architecture •Application Components •Smart Contracts •Permissioned Ledger Access •Summary 8
  • 9. Typical Application 9 User Interface API Layer NodeJS Backend Frontend API Golang Chain code
  • 10. World/Ledger state Blockchain block txn txn txn txn … Blockchain developer Smart Contract invokesdevelops develops each ‘put’ or ’delete’ invoke recorded * Application Blockchain Applications and the Ledger Accesses (Rest API) event emits emits D 10 Ledger ‘get’ ‘put, ‘delete’
  • 11. Blockchain Applications • Application – Focuses on Blockchain user business needs and experience – Calls smart contract for interactions with ledger state – Can access transaction ledger directly, if required – Can process events if required • Smart Contract – Chain code encapsulates business logic. Choice of implementation language – Contract developer defines relevant interfaces (e.g. queryOwner, updateOwner …) – Different interfaces access ledger state accordingly – consistent read and write provided – Each invocation of a smart contract is a “Blockchain transaction” • Ledger – World/Ledger state holds current value of smart contract data • e.g. vehicleOwner=Daisy – Blockchain holds historic sequence of all chain code transactions • e.g. updateOwner(from=John, to=Anthony); updateOwner (from=Anthony, to=Daisy);etc 11
  • 12. Blockchain Operator configures, operates Smart Contract Application deployed to and executes on peer nodes invoke SC peer Exact network structure depends on consensus mechanism. e.g. PBFT has leader, validating and non-validating peers Consensus Network Consensus and the Blockchain Network O consensus msg consensus messages flow between appropriate peers to ensure the Blockchain SC transactions are kept in order; world state is kept consistent through local transaction replay … … scscsc … … scscsc … … … scscsc … scscsc 12
  • 13. How a PBFT Network Works (1/4) – Submission Non-validating peer Validating peer Validating Leader 456 Transaction submitted to network 123 Transaction submitted to network 789 Transaction submitted to network …789 123 456 …456 789 123 …456 123 789 …123 456 789
  • 14. How a PBFT Network Works (2/4) – Ordering Non-validating peer Validating peer Validating Leader 456 123 789 …123 456 789 …123 456 789 …123 456 789 …123 456 789 14 …123 456 789 Consensus network establishes order as
  • 15. How a PBFT Network Works (3/4) – Execution Non-validating peer Validating peer Validating Leader …123 456 789 …123 456 789 …123 456 789 …123 456 789 15 …123 456 789 Consensus network establishes order as Δ Δ Δ Δ
  • 16. How a PBFT Network Works (4/4) – Distribution Non-validating peer Validating peer Validating Leader …123 456 789 …123 456 789 …123 456 789 …123 456 789 16 …123 456 789 Consensus network establishes order as
  • 17. Blockchain Networks • Blockchain Network – Comprises a connected set of peer nodes, each owning a copy of the ledger – Peers collaborate to maintain consistent replicated copies of the ledger • Different mechanisms for collaboration – so-called “consensus protocols” – Peers managed by key network participants • Consensus Protocol Options – PBFT excellent first choice. NOOPs (No Operation) available for starter networks – Other protocols can be added (non-trivial!) • PBFT Overview – Defines non-validating peers, validating peers, with 1-validating leader – Leader receives transactions from connected applications – Leader organizes and distributes transactions with validator network • Copes with erring and malicious validators at very low compute cost – Each v-peer executes transactions to bring local ledger copy up-to-date – Non-validating-peers’ ledgers maintained from connected validating-peer’s – Castro & Liskov's paper ‘Practical Byzantine Fault Tolerance and Proactive Recovery’ 17
  • 18. Agenda •Hyperledger Architecture •Application Components •Smart Contracts •Permissioned Ledger Access •Summary 18
  • 19. Implementing Chaincode • Implement Chaincode Shim Interface • Init() • Invoked when you deploy the chain code • Invoke() • Called when executing the contract • Takes function name as parameter • Query() • Implement Main() • Deploy through github 19
  • 20. Blockchain network … Integrating with Existing Systems Transform Existing systems 4. System events 3. Blockchain events Smart contract 1. Call out to existing systems to enrich smart contract logic 20 2. Call into Blockchain network from existing systems
  • 21. Non-Deterministic Number Errors 21 …123 456 789 …123 456 789 …123 456 789 …123 456 789 External System 1005 – If each smart contract calls out to external system to receive information or uses a non-deterministic variable, it will prevent consensus being achieved. – All external data sources should return the same result for the same calls and variables must be deterministic, any non-deterministic values must be defines as part of the transaction Requested current mileage of moving car 1006 1007 1008
  • 22. Agenda •Hyperledger Architecture •Application Components •Smart Contracts •Permissioned Ledger Access •Summary 22
  • 23. Requests certificates 1xEcert, NxTcert Consensus Network Blockchain User A usesEcert Tcert invokes SC txn (signed with TkeyA, encrypted with TkeyA, TkeyB…) TkeyA Smart contract deployed on every validating peer Enrollment certificates (Ecerts) and Transaction certificates (Tcerts) can only be linked by CA and user … (signed with Ekey of origin, encrypted with validators’ key) Blockchain User B TkeyB TkeyB shares Tcert public key Accesses ledger Permissioned Ledger Access U U Application Application uses TkeyB  sc Membership Certificate Authority (stored in wallet) 23
  • 24. Transaction and Identity Privacy • Transaction Certificates, Tcerts – Disposable certificates, typically used once, requested from Transaction CA – Tcert derived from long term identity - Enrollment Certificate, Ecert – Only Transaction CA can link Ecert and Tcert • Permissioned Interactions – Consumer shares public Tcert to provider – Provider invokes chain code transaction as usual, but • Signs with provider’s private Tcert for authentication • Encrypts with provider and consumer Tcerts for subsequent access – Consumers can subsequently access ledger data using their private key • Secure chain code – CC can also be signed and encrypted, to keep verify and secure contract details – Signing is by contract owner/author – Encryption ensures only validators can see and execute transaction chain code 24
  • 25. Integrating with Existing systems • Blockchain is network System of Record • Smart contracts can call out to existing systems – Query is most likely interaction for smart decisions • e.g. all payments made before asset transfer? – Transactions execute on every peer in the Blockchain network • Care over predictability… transaction must provide same outputs each time it executes • Two-way exchange – Events from Blockchain network create actions in existing systems – Cumulative actions in existing systems result in Blockchain interaction • Transformation between Blockchain and existing systems’ formats – GBO, ASBO is most likely approach – Standard approach will be for Gateway products to bridge these formats – Gateway connects to peer in Blockchain network and existing systems 25
  • 26. Agenda •Hyperledger Architecture •Application Components •Smart Contracts •Permissioned Ledger Access •Summary 26
  • 27. Summary and Next Steps • Hyper ledger protocol Specification • http://hyperledger-fabric.readthedocs.io/en/latest/ • Blockchain Courses IBM Developerworks • https://developer.ibm.com/courses/all-courses/blockchain-for-developers/ • Chaincode Developers Guide • http://hyperledger-fabric.readthedocs.io/en/latest/#chaincode-developer- guide • Bluemix Blockchain service • https://console.ng.bluemix.net/docs/services/blockchain/index.html 27

Editor's Notes

  1. This shows the major participants within a Blockchain network and what they are doing within the network Details on next slide
  2. These are the major components within Hyperledger Blockchain, Additional Details: Membership – This is eCerts & tCerts. tCerts are equivialant to one time use certificates to be stored on the blockchain for the users linkable but hidden identity. Wallet – this term is used throughtout blockchain fabrics and does not store the money, only identification (eCert & tCerts)
  3. Delete can only delete from the World State, not the Blockchain! A developer will create an application and smart contract (could be different developers) The application will invoke calls within the smart contract Those calls are processed by the business logic within the smart contract - a ‘put’ or ‘delete’ command will go through consensus protocol selected and added to the blockchain - a ’get’ command can only read from the world state but is not recorded on the blockchain To read from the blockchain a smartcontract must use the Rest APIs oh Hyperledger in the same way a application would An application can access Block information via rest APIs such as get block height
  4. The Consensus network is in the Hexagon containing the Validating nodes & Non-validating nodes. Each operation only needs to be sent into the network once where it is then distributed around the network. The items being inputted into the network are abound the edge, Smart Contracts, Applications and configurations by a Blockchain Operator.
  5. In the Hexagon is the consensus network. It has a central core of validators who press the transaction and reach consensus and a set of non-validating nodes who will receive a copy of the results and output. Validating leaders are found through an election process in PBFT, more on what they do in next slide. The first step is submitting the transactions. Around the edge are 3 participants inputting 3 transactions each (transaction numbers 1, 2, 3, 4, 5, 6, 7, 8 & 9) These are then distributed around the validators so each have a copy of all the transactions However, these transactions may arrive at validators at different times (e.g. 456 arrive first on the left side validators but last on the right side validator) so the validators will have differing orders of transactions
  6. The Validating leader for this block is the one that decides the final order for the transactions. This validating leader has received the transactions in order 123456789 so sends this order to the other validators. Each validator then re-arranges the transactions they already had into the order set by the validating leader Each submitters transactions will stay in the order that they submitted them but may not be consectuive (e.g 145267839)
  7. This is the point the validators then execute the transactions Each validator independently runs the transactions in the order set previously and adds the results to a delta (Δ) in the world state. The delta can be rolled back if consensus is not achieved
  8. The validators then update the non-validators to that they have a copy of the latest blockchain and world state
  9. A consideration to be made when writing applications that will call upon external systems is the external system may not give the same result If different results are received by different vlidators, they will not reach consensus They should request the result before submitting the transaction and then submit the result as part of transaction