Slides presented at the Hyperledger Fabric Workshop in Barcelona on July 10th, 2019.
This covers the development of a Fabric application and smart contract (i.e. chaincode), with some tips on good practices and the IBM Blockchain Platform extension for VS Code.
An introduction session in the "Blockchain: Cryptocurrencies and other Business Applications" course that I've just finished delivering to the School of Business of Hong Kong Baptist University.
- Analyze the strength and weakness of public blockchain and the goal of private blockchain.
- Explains the core architectural features, mechanisms and provisioning process of Hyperledger Fabric.
An introduction session in the "Blockchain: Cryptocurrencies and other Business Applications" course that I've just finished delivering to the School of Business of Hong Kong Baptist University.
- Analyze the strength and weakness of public blockchain and the goal of private blockchain.
- Explains the core architectural features, mechanisms and provisioning process of Hyperledger Fabric.
Hyperledger Fabric Technical Deep Dive 20190618Arnaud Le Hors
Slides presented at the Hyperledger Fabric workshop in Barecelona on July 10th, 2019.
This introduces blockchain for business and describes in details the Hyperledger Fabric design principles, overall architecture, its components, and the transaction flow.
Hyperledger Fabric is a blockchain framework implementation initially developed by Digital Asset and IBM and now hosted by Linux Foundation under the hyperledger project. Fabric joined the hyperledger project for incubation in the early 2016 and after 1 year of incubation, it became the first project get into the ‘active’ state. On July 11, 2017, the hyperledger Technical Steering Committee announced their first production-ready distributed ledger codebase, Hyperledger Fabric V1.0
Developing applications with Hyperledger Fabric SDKHorea Porutiu
Intro to Hyperledger Fabric concepts. Will cover peers, orderer, state database, and certificate authority. Go over code examples of how to submit transactions on the network. Demo IBM Blockchain Starter Plan, Composer, and IBM Food Trust use-cases.
New to Corda and blockchain development? Join us for a live interactive session where we will introduce Corda, an open-source blockchain platform built for business applications.
Blockchain technology has the potential to disrupt how businesses transact. Corda is a next-gen platform that solves the key challenges of privacy and finality found in early blockchain platforms. Join us to learn how you can leverage Corda to develop powerful, distributed applications that allow direct transfer of value between organizations.
Quant - Interchain Development And Cross-Chain Protocols. BlockchainLive 2018Gilbert Verdian
The Internet of Trust: Network of inter-connected blockchain networks to transact Value.
I covered the history of the Internet, the mistakes we made with OSI and why we’re making the same mistakes again on blockchain.
The problem with Blockchain today is lack of Openness, Adoption and Proprietary Technology
#Overledger solves this.
Introduction to Ethereum Blockchain & Smart ContractThanh Nguyen
The Harvard Business Review (HBR) thinks that Blockchain Technology has to power to keep data safe for consumers and businesses alike; because Blockchain provides a secure and immutable ledger, HBR says it represents the key to taking back privacy of data.
“You can keep certified copies of identity documents, biometric test results, health data, or academic and training certificates online, available at all times, yet safe unless you give away your key. At a whole system level, the database is very secure.”
This Edureka Blockchain technology tutorial will give you an understanding of how blockchain works and what are blockchain technologies. This tutorial helps you to learn following topics:
1. What are Blockchain & Bitcoin
2. Blockchain Technologies
3. Peer to Peer Network
4. Cryptography
5. Proof of Work & Blockchain Program
6. Ethereum & Smart Contracts
7. Blockchain Applications and Use Cases
An introductory look at various Blockchain Technologies and examples. In this slide I explain about basics of Etherium and types of Blockchain technology currently present and some known public projects/examples which use Blockchain.
Blockchain Technology and Its Application in LibrariesNabi Hasan
Background
Blockchain: Conceptual Understanding
What is Blockchain Technology?
The Three Pillars of Blockchain Technology
Why is Blockchain Popular?
What is Distributed Ledger?
Blockchain for Enterprise Application Developer
Possible Areas of Implimention of Blockchain Technology in Libraries
Hyperledger Fabric Technical Deep Dive 20190618Arnaud Le Hors
Slides presented at the Hyperledger Fabric workshop in Barecelona on July 10th, 2019.
This introduces blockchain for business and describes in details the Hyperledger Fabric design principles, overall architecture, its components, and the transaction flow.
Hyperledger Fabric is a blockchain framework implementation initially developed by Digital Asset and IBM and now hosted by Linux Foundation under the hyperledger project. Fabric joined the hyperledger project for incubation in the early 2016 and after 1 year of incubation, it became the first project get into the ‘active’ state. On July 11, 2017, the hyperledger Technical Steering Committee announced their first production-ready distributed ledger codebase, Hyperledger Fabric V1.0
Developing applications with Hyperledger Fabric SDKHorea Porutiu
Intro to Hyperledger Fabric concepts. Will cover peers, orderer, state database, and certificate authority. Go over code examples of how to submit transactions on the network. Demo IBM Blockchain Starter Plan, Composer, and IBM Food Trust use-cases.
New to Corda and blockchain development? Join us for a live interactive session where we will introduce Corda, an open-source blockchain platform built for business applications.
Blockchain technology has the potential to disrupt how businesses transact. Corda is a next-gen platform that solves the key challenges of privacy and finality found in early blockchain platforms. Join us to learn how you can leverage Corda to develop powerful, distributed applications that allow direct transfer of value between organizations.
Quant - Interchain Development And Cross-Chain Protocols. BlockchainLive 2018Gilbert Verdian
The Internet of Trust: Network of inter-connected blockchain networks to transact Value.
I covered the history of the Internet, the mistakes we made with OSI and why we’re making the same mistakes again on blockchain.
The problem with Blockchain today is lack of Openness, Adoption and Proprietary Technology
#Overledger solves this.
Introduction to Ethereum Blockchain & Smart ContractThanh Nguyen
The Harvard Business Review (HBR) thinks that Blockchain Technology has to power to keep data safe for consumers and businesses alike; because Blockchain provides a secure and immutable ledger, HBR says it represents the key to taking back privacy of data.
“You can keep certified copies of identity documents, biometric test results, health data, or academic and training certificates online, available at all times, yet safe unless you give away your key. At a whole system level, the database is very secure.”
This Edureka Blockchain technology tutorial will give you an understanding of how blockchain works and what are blockchain technologies. This tutorial helps you to learn following topics:
1. What are Blockchain & Bitcoin
2. Blockchain Technologies
3. Peer to Peer Network
4. Cryptography
5. Proof of Work & Blockchain Program
6. Ethereum & Smart Contracts
7. Blockchain Applications and Use Cases
An introductory look at various Blockchain Technologies and examples. In this slide I explain about basics of Etherium and types of Blockchain technology currently present and some known public projects/examples which use Blockchain.
Blockchain Technology and Its Application in LibrariesNabi Hasan
Background
Blockchain: Conceptual Understanding
What is Blockchain Technology?
The Three Pillars of Blockchain Technology
Why is Blockchain Popular?
What is Distributed Ledger?
Blockchain for Enterprise Application Developer
Possible Areas of Implimention of Blockchain Technology in Libraries
Simone Bronzini - Weaknesses of blockchain applications - Codemotion Milan 2018Codemotion
Due to the immutability of the ledger and the difficulty to update their consensus rules, Blockchain applications have many critical layers where a bug can cause huge, irreversible fund losses. This talk will shed some light on why and how Blockchain applications are so critical and will discuss past events that led to fund loss or consensus failures due to bugs in critical parts of the code of Bitcoin and Ethereum applications.
Attacking and Exploiting Ethereum Smart Contracts: Auditing 101Simone Onofri
After web 1.0 and web 2.0, web3 has arrived! After a brief introduction, where we will look at the evolution of the web and what has changed as far as security is concerned, we will dive into blockchain to understand how to attack Smart Contracts on Ethereum, how these intersect with more classic vulnerabilities, and what are the main vulnerabilities we can find in contracts written in Solidity.
Overcoming the Barriers to Blockchain AdoptionMongoDB
Blockchain promises to drastically lower costs, increase data quality and vastly simplify business processes in a range of industries.
During this event speakers from MongoDB, BigchainDB, Ripple, and 11FSTeam answered question around how to operationalise blockchain into existing environments and rely on it as we do with existing systems.
Blockchain is a tool. Samson Williams likens blockchain to a group text message, in which each participant receives a distributed, time-stamped, tamper-resistant (and encrypted) record of data transactions. Each group text has these characteristics. Everyone in the group “sees” the data, and none can change or gainsay any group message. Smart contracts are computer code put on the blockchain (how, exactly?) that establishes self-executing terms and conditions of a transaction. Are smart contracts smart? If certain data comes in and fulfills a pre-set term or condition, then rights and responsibilities are formed, terminated, modified, or shifted among the parties. Ah certainty and transparency, but also ah garbage in and garbage out. Are some contractual terms not amenable to smart contracting? And are smart contracts necessarily contracts? If not, can they still be useful? If a smart contract is a contract, what is the governing document? Is it the words business people and lawyers use, or is it the code that is supposed to reflect the words?
Part of the webinar series: Blockchain Basics 2022
See more at https://www.financialpoise.com/webinars/
2017 Microservices Practitioner Virtual Summit: Microservices at Squarespace ...Ambassador Labs
This talk covers the past, present, and future of Microservices at Squarespace. We begin with our journey to microservices, and describe the platform that made this possible. We introduce our idea of the “Pillars of Microservices”, everything a developer needs to have a successful production service. For each pillar we describe why we think it is important and discuss the implementation and how we utilize it in our environment. Next, we look to the future evolution of our microservices environment including how we are using containerization and Kubernetes to overcome some of the problems we’ve faced with more static infrastructure.
This year, the focus goes beyond technology to mining business insights around how cloud enables strategic industry trends such as Open and Virtual Banking and Insurance, Security and Compliance, Data Analytics and AI/ ML, FinTech and RegTech, Surveillance and more through sharing of best practices and use cases. In sessions led by customers, partners, industry leaders and AWS subject matter experts, you’ll learn how AWS helps financial institutions to focus on the innovation and outcomes that truly drive business forward. Business stakeholders, market makers, and technology owners will all learn something new, valuable and actionable.
Blockchain and Smart Contracts (Series: Blockchain Basics 2020) Financial Poise
Blockchain is a tool. Samson Williams likens blockchain to a group text message, in which each participant receives a distributed, time-stamped, tamper-resistant (and encrypted) record of data transactions. Each group text has these characteristics. Everyone in the group “sees” the data, and none can change or gainsay any group message. Smart contracts are computer code put on the blockchain (how, exactly?) that establishes self-executing terms and conditions of a transaction. Are smart contracts smart? If certain data comes in and fulfills a pre-set term or condition, then rights and responsibilities are formed, terminated, modified, or shifted among the parties. Ah certainty and transparency, but also ah garbage in and garbage out. Are some contractual terms not amenable to smart contracting? And are smart contracts necessarily contracts? If not, can they still be useful? If a smart contract is a contract, what is the governing document? Is it the words business people and lawyers use, or is it the code that is supposed to reflect the words?
To view the accompanying webinar, go to: https://www.financialpoise.com/financial-poise-webinars/blockchain-and-smart-contracts-2020/
Blockchain and Smart Contracts (Series: Blockchain Basics)Financial Poise
Blockchain is a tool. Samson Williams likens blockchain to a group text message, in which each participant receives a distributed, time-stamped, tamper-resistant (and encrypted) record of data transactions. Each group text has these characteristics. Everyone in the group “sees” the data, and none can change or gainsay any group message. Smart contracts are computer code put on the blockchain (how, exactly?) that establishes self-executing terms and conditions of a transaction. Are smart contracts smart? If certain data comes in and fulfills a pre-set term or condition, then rights and responsibilities are formed, terminated, modified, or shifted among the parties. Ah certainty and transparency, but also ah garbage in and garbage out. Are some contractual terms not amenable to smart contracting? And are smart contracts necessarily contracts? If not, can they still be useful? If a smart contract is a contract, what is the governing document? Is it the words business people and lawyers use, or is it the code that is supposed to reflect the words?
To view the accompanying webinar, go to: https://www.financialpoise.com/financial-poise-webinars/blockchain-and-smart-contracts-2021/
Collaborative Business Process Execution on Blockchain: The Caterpillar ApproachMarlon Dumas
Invited talk at the CAiSE'2019 Workshop on Blockchains for Inter-Organizational Collaboration and Flexible Advanced Information Systems (BIOC & FAiSE 2019).
Similar to Hyperledger Fabric Application Development 20190618 (20)
Hyperledger Fabric - Blockchain for the Enterprise - FOSDEM 20190203Arnaud Le Hors
This presentation gives a quick technical overview of what Hyperledger Fabric is about and how to get started using it to develop a blockchain application.
Credit goes to Christopher B Ferris @christo4ferris who put together this presentation which covers the latest developments of Hyperledger Fabric made available in Fabric 1.1 and 1.2 and what can be expected next.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Hyperledger Fabric Application Development 20190618
1. Hyperledger Fabric
Developing blockchain applications
V1.01, 13 June 2019
Arnaud J Le Hors
Senior Technical Staff Member Web & Blockchain Open Technologies
Member of the Hyperledger Project Technical Steering Committee
2. Application Development
• [ Key Concepts ]
• Example Walkthrough
• VS Code Extension
• Good practices
• Summary
3. 3
Blockchain concepts
• Concepts to consider for blockchain solutions:
• The business problem we’re trying to solve
• The participants involved (users and organizations)
• The assets
• The transactions, underpinned by contracts
• The goal is to move these topics into to a machine
readable form and eventual deployment to a blockchain
system
4. 4
Example: Commercial Paper
123 Fake Street,
New York, New York
28th February 2019
I promise to pay to the
order of the bearer the sum
of $1,000,000 on or after
28th February 2020.
MagnetoCorp
Matt Lucas
On behalf of MagnetoCorp
Matt Lucas
• Commercial paper is a means of providing short
term financing to companies
• Trust requirement and well-defined business
network make a good fit for blockchain
Business Problem?
Participants?
• MagnetoCorp (Issuing organization)
• Matt Lucas (MagnetoCorp employee)
• “the bearer” (could be many of these)
Assets?
• The Commercial Paper (!)
• $1,000,000
Transactions?
• Issue Buy RedeemID:
0000475923
7. 7
Example: Commercial Paper
• Commercial paper is a means of providing short
term financing to companies
• Trust requirement and well-defined business
network makes a good fit for blockchain
Business Problem?
Participants?
• Magnetocorp (Issuing organization)
• Matt Lucas (Magnetocorp employee)
• “the bearer” (could be many of these)
Assets?
• The Commercial Paper
• $1,000,000
Transactions?
• Issue Buy Redeem
Q: How do we get
from these business
concepts to something
that can run on a
blockchain?
A: We will model them
8. 8
Smart contract programming
• Contract class
– Built-in Fabric class
• One method per transaction
– Code each transaction as method
• Transaction context
– Pass helpful information between
invocations
• before(), after() & unknown() handlers
– Common transaction logic programmed
here
• Installed on all endorsing organizations’ peers
– Instantiated on channel for applications.
(Think: implementation on peer,
interface on channel)
CommercialPaperContext extends Context {
constructor() {
this.paperList = new PaperList(this);
}
}
CommercialPaperContract extends Contract {
createContext() {
new CommercialPaperContext();
}
issue(ctx, issuer, paperNumber, ...) {
ctx.paperList.addPaper(...);
ctx.stub.putState(...);
}
buy(ctx, issuer, paperNumber, ...) {}
redeem(ctx, issuer, paperNumber, ...) {}
}
ctx
ctx
ctx
ctx
1
2
3
4
5
9. 9
Application programming with the SDK
• The application focuses on the
WHAT not the HOW:
1. Select identity from wallet
2. Connect to gateway
3. Access network channel
4. Select smart contract
5. Submit transaction
6. Process response
• SDK hides all details of consensus
Select identity from wallet
Connect to network gateway
Access PaperNet channel
Get PaperContact smart
contract
Submit issue transaction
Process issue notification
PaperContract
{
issue() {...}
buy() {...}
redeem() {...}
}
SDKApplication Smart contract
– Applications simply submit transactions to update ledger and are notified when complete
(either synchronously or asynchronously)
14. 14
Interacting with smart contracts and the ledger
• submitTransaction()
– Adds a fully signed new transaction to the ledger
– SDK manages entire multi-peer, ordering process
– Returns control when E/O/V complete (default)
• evaluateTransaction()
– Executes a transaction, but doesn't order it
– Typically used to query the ledger
– Only needs to interact with one peer
(pluggable handlers can be used for multi-peer query)
MagnetoCorp DigiBank
user
App channel: bond
Peer9
DigiBank
bonds
contract
ledger
Peer1
MagnetoCorp
bonds
contract
ledger
Orderer
1
MagnetoCorp
Orderer
2
DigiBank
Ordering service
Peer3
MagnetoCorp
ledger
Peer8
DigiBank
ledger
Peer2
MagnetoCorp
ledger
Peer7
DigiBank
ledgerbonds.submitTransaction('sell',
'BOND007');
bonds.evaluateTransaction('queryBond',
'BOND007');
1a 1b
1c1d
1e 1f
1
1
2
2a
2
15. 15
Ledger notification interactions
• Three listener types:
– contract.addContractListener()
• wait for all transactions of given contract
– contract.addBlockListener()
• wait for blocks
– transaction.addTransactionListener()
• wait for specific transaction to be committed
const transaction = contract.createTransaction('sell');
transaction.addCommitListener(`${transactionId}-listener`, (err, txId, status, blockHeight) => {
...
if (status === ‘VALID’) {
console.info(‘Transaction committed’);
} else {
...
}, {checkpointer: false});
await transaction.submit('ibm', '1000000', '2019-03-31’);
MagnetoCorp DigiBank
issuer
App channel: papernet
Peer9
DigiBank
paper
contract
ledger
Peer1
MagnetoCorp
paper
contract
ledger
Orderer
1
MagnetoCorp
Orderer
2
DigiBank
Ordering service
Peer3
MagnetoCorp
ledger
Peer8
DigiBank
ledger
Peer2
MagnetoCorp
ledger
Peer7
DigiBank
ledger
1b
1a
1c
APIs under development in
FABN-1100, slated 2.0
16. 16
Customizing behavior with
connectionOptions
• connectionOptions specifies gateway behaviour
– wallet: & identity: must be set by app
– All other options have sensible defaults
• Strategies codify most popular behaviour
– e.g. "wait for any/all peers in my organization"
• EventStrategies.MSPID_SCOPE_ANYFORTX
• EventStrategies.MSPID_SCOPE_ALLFORTX
• Handlers for programmable interactions
– User function gets control at appropriate point in transaction lifecycle with relevant topology, i.e.
peers
• e.g. startListening(), waitForEvents(), cancelListening()...
– Keeps separate from application business logic. Advanced feature; only required for special
scenarios
Gateway
“transfer”
application
Connection
options
Peer6
DigiBank
channel: papernet
MagnetoCorp DigiBank
Peer2
MagnetoCorp
Peer7
DigiBank
Isabella
Peer1
MagnetoCorp
Peer3
MagnetoCorp
ledger ledger ledger
ledger ledger
20. 20
IBM Blockchain Visual Studio Code Extension
• VS Code Extension for developers
– Mac, Linux & Windows
• Smart contract & application
– Code, package, deploy, test,
debug
• Any Hyperledger Fabric deployment
– Close integration with IBP
• Works with local and remote networks
• Start for free, S&S from IBM
– Download from Marketplace
• Try out FabCar & Commercial Paper samples
• Local network and IBM Blockchain Platform!
23. What are the Hyperledger Fabric performance levers?
A
B
0 1 2 3
Peer
Ledger
Blockchain WorldState
!Events
Chaincode
Channels
Local
MSP
1
4
3
2
1
3
4
• Indexing
• Size of payload
World State
Orderers / Channels (configtx.yaml)
• "absolute_max_bytes"
• "max_message_count"
• "timeout"
• World state queries
• Query aggregation (e.g. Sum)
• Business logic complexity
• Query to external sources (oracles)
Chaincode
2 • VSCC Transaction validation
• Peer’s resources
Committing peers
• ESCC Transaction signing
• Peer’s resources
Endorsing peers
24. What are the Client Application performance levers?
! Events
ChannelsClient
Application
SDK
(HFC)
Local
MSP
1
• GRPCs Connections reuse
• Endorsement load balancing
• Don’t always hit the same peer
• Complex Endorsement policies
• More endorsers = more invocations
• Channel Event Hubs impact
• How many events should you wait for?
• More peers an organization has on a
channel means more events to listen to
3
2
3
2
• Network latency
• To the orderer
• To the peers of every orgs
1 Fabric components
Fabric SDK / Client Application
Channels
25. 1. Make sure you reuse your connections
2. Ensure your connection profile is
properly configured
3. Load balance endorsement requests
across multiple peers
4. Sample code is not a guarantee of
scalability
5. If starting a new project, leverage the
new HL Fabric v1.4 programming
model!
Optimizing the client application
Latency per tx when not
reusing client connections
1
Enabling the peers that need to endorse2
26. 1. Understanding the effect of:
(configtx.yaml)
– Preferred Max Bytes
Represents the threshold at which a block will be
cut
– Block size
– Timeout
2. The peer and it’s dual personality
– Commit versus endorsement
– State validation is the most expensive operations
• Driven primarily by payload size and frequency
3. Increasing the number of endorsing
peers helps throughput
Transactions and the Orderer
Block commit State commit State validation
27. 1. Test your queries against separate
CouchDB first
Use _explain to and execution_stats to confirm
index is used
2. Avoid $or or $regexp in selectors
It ignores the index and forces CouchDB to
perform a full scan
3. Use pagination to improve performance
Pagination is supported since Hyperledger
Fabric v1.3
Considerations for queries
28. 28
Integrating with Existing Systems – Possibilities
Transform
Existing
systems
1. System
events
2. Blockchain
events
4. Call out to existing systems
3. Call into blockchain network
from existing systems
Blockchain network Existing
systems
!
!
29. 29
Non-determinism in blockchain
• Blockchain is a distributed processing system
– Smart contracts are run multiple times and in
multiple places
– Smart contracts need to run deterministically in
order for consensus to work
• Particularly when updating the world state
• It’s particularly difficult to achieve determinism with
off-chain processing
– Implement oracle services that are guaranteed to
be consistent for a given transaction, or
– Detect duplicates for a transaction in the
blockchain, middleware or external system
getDateTime()
getExchangeRate()
getTemperature()
random()
incrementValue
inExternalSystem(…)
30. 30
Block Fields and Personal Data
Potential areas where Personal Data could be included in the block:
• Proposal payload : These are the transaction input arguments.
• Client certificate: If the client certificate is individual to a Data Subject then it could be
considered PD.
• Key: The key written to or read from the world state. If PD is used in the key name then it will be
included here.
• Value: The value of any keys written to the world state. If PD is used in the key value then it will
be included here.
• Events: Events emitted from chaincode could include PD.
• Chaincode response: Any response from invoking the chaincode could include PD.
It is assumed that endorser and orderer certificates are issued to an organization and do not
include Personal Data.
Remember that Fabric configuration blocks also contain certificates!
31. 31
Solution – Store data off-chain
Config
Block
0
Config
Block
1
Transaction
Block
2
Transaction
Block
3
Genesis
Worldstate
Blockchain
Data Store
Salted hash
stored on-chain
matches hash in
data store
• What
– Store Personal Data (PD) in an off-chain mutable data storage
• How
– Store only proofs as a salted hash of the PD on-chain
– The salt must be stored securely, and should be unique for each PD
– The salted hash can be stored in an off-chain data store and linked to the PD
– Salt and salted hash can be in different data stores to the PD
– Warning: Hashes and salted hashes are considered pseudonymous data and
still fall under the scope of GDPR.
• Why
– PD, salted hash and salt can be deleted at any point from the data store(s)
causing the hash on-chain to be anonymized
Personal Data
Salt
salted hash
salted hash
salted hash
33. 33
Summary
• The Hyperledger Fabric transaction
– Structure drives system design and application architecture
• Smart contract
– Contains transaction definitions for entire lifecycle of business
object(s) stored in a decentralized ledger
– built-in contract class makes programming easy
• Application
– Consensus is complex, but the SDK makes it easy for
applications
– submitTransaction(), evaluateTransaction(), addListener()
– gateway connectionOptions for ultimate customizability
• The IBM Blockchain VS Code Extension difference
– Supports development and debugging on local network as well as
multi-cloud IBM Blockchain Platform