Hands-On Blockchain with Hyperledger
Building decentralized applications with Hyperledger Fabric and Composer
Nitin Gaur
Luc Desrosiers
Venkatraman Ramakrishna
Petr Novotny
Dr. Salman A. Baset
Anthony O'Dowd
BIRMINGHAM - MUMBAI
Hands-On Blockchain with
Hyperledger
Copyright © 2018 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or
transmitted in any form or by any means, without the prior written permission of the publisher,
except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information
presented. However, the information contained in this book is sold without warranty, either express
or implied. Neither the authors, nor Packt Publishing or its dealers and distributors, will be held liable
for any damages caused or alleged to have been caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and
products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot
guarantee the accuracy of this information.
Commissioning Editor: Sunith shetty
Acquisition Editor: Tushar Gupta
Content Development Editor: Tejas Limkar
Technical Editor: Dharmendra Yadav
Copy Editors: Safis Editing
Project Coordinator: Manthan Patel
Proofreader: Safis Editing
Indexer: Priyanka Dhadke
Graphics: Tania Dutta
Production Coordinator: Deepika Naik
First published: June 2018
Production reference: 1190618
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham
B3 2PB, UK.
ISBN 978-1-78899-452-1
www.packtpub.com
mapt.io
Mapt is an online digital library that gives you full access to over 5,000
books and videos, as well as industry leading tools to help you plan your
personal development and advance your career. For more information,
please visit our website.
Why subscribe?
Spend less time learning and more time coding with practical eBooks
and Videos from over 4,000 industry professionals
Improve your learning with Skill Plans built especially for you
Get a free eBook or video every month
Mapt is fully searchable
Copy and paste, print, and bookmark content
PacktPub.com
Did you know that Packt offers eBook versions of every book published,
with PDF and ePub files available? You can upgrade to the eBook version
at www.PacktPub.com and as a print book customer, you are entitled to a
discount on the eBook copy. Get in touch with us at service@packtpub.com for
more details.
At www.PacktPub.com, you can also read a collection of free technical articles,
sign up for a range of free newsletters, and receive exclusive discounts and
offers on Packt books and eBooks.
Foreword
In my role as the chair of the Hyperledger Technical Steering Committee,
I've come to realize the great divide between the enormous hype
surrounding blockchain and the depth of understanding of how blockchain
technology works, where the technology is on the maturity curve, and how
it might be leveraged in the context of the enterprise.
Most of the hype relates to the cryptocurrency aspects of public,
permission-less blockchain—ICOs as a substitute for more traditional IPOs,
and the potential for disrupting traditional systems of banking, insurance,
securities, and so on. It is the potential for disruption and the asymmetric
profits that disruption might yield that have driven many to explore how
blockchain might be used to one company's advantage over the rest of a
given domain. However, what many are discovering is that blockchain is a
team sport, and for blockchain to be successful in an enterprise, it demands
a degree of industry collaboration not seen before.
The authors of this book take you beyond the hype. They lay a solid
foundation for understanding the state of the technology landscape—
including active and incubating projects under development at Hyperledger.
They provide you with a framework for choosing the right technology
platform, designing your solution, and integration with existing systems.
And they explain the various governance models for establishing and
operating a blockchain business network.
If you are an enterprise architect or developer tasked with developing a
blockchain solution for your enterprise or industry, this book is a must-read.
Cheers,
Christopher Ferris
IBM Distinguished Engineer, CTO Open Technology
IBM Digital Business Group, Open Technologies
Contributors
About the authors
Nitin Gaur, as the director of IBM's Blockchain Labs, is responsible for
instituting a body of knowledge and organizational understanding around
blockchain technology and industry-specific applications. Tenacious and
customer focused, he is known for his ability to analyze opportunities and
create technologies that align with operational needs, catapult profitability,
and dramatically improve customer experience. He is also an IBM
Distinguished Engineer.
Luc Desrosiers is an IBM-certified IT architect with 20+ years of
experience. Throughout his career, he has taken on different roles:
developer, consultant, and pre-sales architect. He recently moved from
Canada to the UK to work in a great lab: IBM Hursley. This is where he had
the opportunity to join the IBM Blockchain team. He is now working with
clients across multiple industries to help them explore how blockchain
technologies can enable transformative uses and solutions.
Venkatraman Ramakrishna is an IBM researcher with 10 years of
experience. Following a BTech from IIT Kharagpur and PhD from UCLA,
he worked in the Bing infrastructure team in Microsoft, building reliable
application deployment software. At IBM Research, he worked in mobile
computing and security before joining the Blockchain team. He has
developed applications for trade and regulation, and is now working on
improving the performance and privacy-preserving characteristics of the
Hyperledger platform.
Petr Novotny is a research scientist at IBM Research, with 15+ years of
experience in engineering and research of software systems. He received an
MSc from University College London and PhD from Imperial College
London, where he was also a post-doctoral research associate. He was a
visiting scientist at the U.S. Army Research Lab. At IBM, he works on
innovations of blockchain technologies and leads the development of
blockchain solutions and analytical tools.
Dr. Salman A. Baset is the CTO of security in IBM Blockchain Solutions.
He oversees the security and compliance of blockchain solutions being built
by IBM in collaboration with partners such as Walmart and Maersk, and
interfaces with clients on blockchain solutions and their security. He drives
the implementation of the General Data Protection Regulation for
blockchain-based solutions. He has also built the identity management
system, used by Fortune 500 companies involved in global trade
digitization, and IBM Food Trust blockchain solutions.
Anthony O'Dowd works in IBM's Blockchain team. He is based in Europe
as part of a worldwide team that helps users build solutions that benefit
from blockchain tech. Anthony has a background in middle and back office
systems, and has led the development of key IBM middleware in enterprise
messaging and integration. He likes to work in different industries to
understand how they can exploit middleware to build more efficient,
integrated business systems.
Packt is searching for authors like
you
If you're interested in becoming an author for Packt, please visit authors.packt
pub.com and apply today. We have worked with thousands of developers and
tech professionals, just like you, to help them share their insight with the
global tech community. You can make a general application, apply for a
specific hot topic that we are recruiting an author for, or submit your own
idea.
Table of Contents
Title Page
Copyright and Credits
Hands-On Blockchain with Hyperledger
Packt Upsell
Why subscribe?
PacktPub.com
Foreword
Contributors
About the authors
Packt is searching for authors like you
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Conventions used
Get in touch
Reviews
1. Blockchain
- Enterprise and Industry Perspective
Defining the terms – what is a blockchain?
Four core building blocks of blockchain framworks
Additional capabilities to consider
Fundamentals of the secure transaction processing protocol
Where blockchain technology has been and where it's going
The great divide
An economic model for blockchain delivery
Learning as we go
The promise of trust and accountability
Industries putting blockchain technology to work
Blockchain in the enterprise
What applications are a good fit?
How does the enterprise view blockchain?
Litmus testing to justify the application of blockchain technology
Integrating a blockchain infrastructure for the whole enterprise
Enterprise design principles
Business drivers and evolution
Ensuring sustainability
The principles that drive blockchain adoption
Business considerations for choosing a blockchain framework
Technology considerations for choosing a blockchain framework
Identity management
Scalability
Enterprise security
Development tooling
Crypto-economic models
Decentralization with systemic governance
Enterprise support
Use case-driven pluggability choices
Shared ledger technology
Consensus
Crypto algorithms and encryption technology
Use case-driven pluggable choices
Enterprise integration and designing for extensibility
Other considerations
Consensus, ACID property, and CAP
CAP
ACID
Attestation – SSCs are signed and encrypted
Use of HSMs
Summary
2. Exploring
Hyperledger Fabric
Building on the foundations of open computing
Fundamentals of the Hyperledger project
The Linux Foundation
Hyperledger
Open source and open standards
Hyperledger frameworks, tools, and building blocks
Hyperledger frameworks
Hyperledger tools
The building blocks of blockchain solutions
Hyperledger Fabric component design
Principles of Hyperledger design
CAP Theorem
Hyperledger Fabric reference architecture
Hyperledger Fabric runtime architecture
Strengths and advantages of componentized design
Hyperledger Fabric – the journey of a sample transaction
Hyperledger Fabric explored
Components in a blockchain network
Developer interaction
Understanding governance in business networks powered by blockchain
Governance structure and landscape
Information technology governance
Blockchain network governance
Business network governance
Summary
3. Setting
the Stage with a Business Scenario
Trading and letter of credit
The importance of trust in facilitating trade
The letter of credit process today
Business scenario and use case
Overview
Real-world processes
Simplified and modified processes
Terms used in trade finance and logistics
Shared process workflow
Shared assets and data
Participants' roles and capabilities
Benefits of blockchain applications over current real-world processe
s
Setting up the development environment
Designing a network
Installing prerequisites
Forking and cloning the trade-finance-logistics repository
Creating and running a network configuration
Preparing the network
Generating network cryptographic material
Generating channel artifacts
Generating the configuration in one operation
Composing a sample trade network
Network components' configuration files
Launching a sample trade network
Summary
4. Designing
a Data and Transaction Model with Golang
Starting the chaincode development
Compiling and running chaincode
Installing and instantiating chaincode
Invoking chaincode
Creating a chaincode
The chaincode interface
Setting up the chaincode file
The Invoke method
Access control
ABAC
Registering a user
Enrolling a user
Retrieving user identities and attributes in chaincode
Implementing chaincode functions
Defining chaincode assets
Coding chaincode functions
Creating an asset
Reading and modifying an asset
Main function
Testing chaincode
SHIM mocking
Testing the Init method
Testing the Invoke method
Running tests
Chaincode design topics
Composite keys
Range queries
State queries and CouchDB
Indexes
ReadSet and WriteSet
Multiversion concurrency control
Logging output
Configuration
Logging API
SHIM logging levels
Stdout and stderr
Additional SHIM API functions
Summary
5. Exposing
Network Assets and Transactions
Building a complete application
The nature of a Hyperledger Fabric application
Application and transaction stages
Application model and architecture
Building the application
Middleware – wrapping and driving the chaincode
Installation of tools and dependencies
Prerequisites for creating and running the middleware
Installation of dependencies
Creating and running the middleware
Network configuration
Endorsement policy
User records
Client registration and enrollment
Creating a channel
Joining a channel
Installation of chaincode
Instantiation of chaincode
Invoking the chaincode
Querying the chaincode
Completing the loop – subscribing to blockcha
in events
Putting it all together
User application – exporting the service and API
Applications
User and session management
Designing an API
Creating and launching a service
User and session management
Network administration
Exercising the application
User/client interaction modes
Testing the Middleware and Application
Integration with existing systems and processes
Design considerations
Decentralization
Process alignment
Message affinity
Service discovery
Identity mapping
Integration design pattern
Enterprise system integration
Integrating with an existing system of record
Integrating with an operational data store
Microservice and event-driven architecture
Considering reliability, availability, and serviceability
Reliability
Availability
Serviceability
Summary
6. Business
Networks
A busy world of purposeful activity
Why a language for business networks?
Defining business networks
A deeper idea
Introducing participants
Types of participant
Individual participants
Organizational participants
System or device participants
Participants are agents
Participants and identity
Introducing assets
Assets flow between participants
Tangible and intangible assets
The structure of assets
Ownership is a special relationship
Asset life cycles
Describing asset's life cycles in detail with transactions
Introducing transactions
Change as a fundamental concept
Transaction definition and instance
Implicit and explicit transactions
The importance of contracts
Signatures
Smart contracts for multi-party transaction processing
Digital transaction processing
Initiating transactions
Transaction history
Transaction streams
Separating transactions into different business networks
Transaction history and asset states
A business network as a history of transactions
Regulators and business networks
Discussing events from the perspective of designing a business network us
ing Composer
A universal concept
Messages carry event notifications
An example to illustrate event structure
Events and transactions
External versus explicit events
Events cause participants to act
Loosely coupled design
The utility of events
Implementing a business network
The importance of de-materialization
Blockchain benefits for B2B and EDI
Participants that interact with the blockchain
Accessing the business network with APIs
A 3-tier systems architecture
Hyperledger Fabric and Hyperledger Composer
Summary
7. A
Business Network Example
The letter of credit sample
Installing the sample
Running the sample
Step 1 – preparing to request a letter of cre
dit
Step 2 – requesting a letter of credit
Step 3 – importing bank approval
Step 4 – exporting bank approval
Step 5 – letter received by exporter
Step 6 – shipment
Step 7 – goods received
Step 8 – payment
Step 9 – closing the letter
Step 10 – Bob receives payment
Recapping the process
Analyzing the letter of credit process
The Playground
Viewing the business network
A description of the business network
The participant descriptions
The asset descriptions
The transaction descriptions
The event descriptions
A model of the business network
Namespaces
Enumerations
Asset definitions
Participant definitions
Concept definitions
Transaction definitions
Event definitions
Examining the live network
Examining a letter of credit instance
Examining participant instances
Examining transaction instances
Submitting a new transaction to the network
Understanding how transactions are implemented
Creating business network APIs
SWAGGER API definitions
Querying the network using SWAGGER
Testing the network from the command line
Creating a new letter using SWAGGER
Network cards and wallets
Access-control lists
Summary
8. Agility
in a Blockchain Network
Defining the promotion process
Smart contract considerations
Integration layer considerations
Promotion process overview
Configuring a continuous integration pipeline
Customizing the pipeline process
Local build
Configuring Travis CI
Customizing the pipeline using .travis.yml
Publishing our smart contract package
Configuring your Git repository
Setting the code owners of our smart contract
Sample content of the CODEOWNERS
Protecting the master branch
Configuring Git for commit signing and validation
Configuring GPG on your local workstation
Testing the end-to-end process
Creating a new transaction
Pushing a commit to the master branch directly
Submitting a pull request with an unsigned commit
Adding test cases
Submitting a pull request with a signed commit
Adding the mergeAssets unit test
Releasing the new version
Updating the network
Notifying the consortium
Upgrading the business network
Downloading a new version
Updating the business network
Summary
9. Life
in a Blockchain Network
Modifying or upgrading a Hyperledger Fabric application
Fabric blockchain and application life cycle
Channel configuration updates
Prerequisites for adding a new organization to the network
Generating network cryptographic material
Generating channel artifacts
Generating the configuration and network components in one ope
ration
Launching the network components for the new organization
Updating the channel configuration
Adding the new organization to the network
Smart contract and policy updates
Modification in chaincode logic
Dependency upgrades in chaincode
Ledger resetting
Endorsement policy update
Upgrading chaincode and endorsement policy on the trade channe
l
Platform upgrades
System monitoring and performance
Measurement and analytics
What should we measure or understand in a Fabric application
Blockchain applications vis-à-vis traditional transaction
processing applications
Metrics for performance analysis
Measurement and data collection in a Fabric application
Collecting health and capacity information
Profiling containers and applications
Measuring application performance
Fabric engineering guidelines for performance
Platform performance characteristics
System bottlenecks
Configuration and tuning
Ledger data availability and caching
Redundant committing peer
Data caching
Fabric performance measurement and benchmarking
Summary
10. Governance,
Necessary Evil of Regulated Industries
Decentralization and governance
Exploring the business models
Blockchain benefits
Supply chain management
Healthcare
Finance – letter of credit
From benefits to profits
Network business model
Founder-led network
Consortium-based network
Community-based network
Hybrid models
Joint venture
New corporation
Role of governance in a business network
Business domains and processes
Membership life cycle
Funding and fees
Regulation
Education
Service life cycle
Disputes
Governance structure
Centralized governance
Strategic governance
Operational governance
Tactical governance
Decentralized governance
Governance and the IT solution
Managed on-boarding
Summary
11. Hyperledger
Fabric Security
Hyperledger Fabric design goals impacting security
Hyperledger Fabric architecture
Fabric CA or membership service provider
Peer
Smart contract or chaincode
Ledger
Private data
Ordering service
Network bootstrap and governance – the first step towards security
Creating the network
Adding new members
Deploying and updating chaincode
Data model
Strong identities – the key to the security of the Hyperledge
r Fabric network
Bootstrapping Fabric CA
Register
Default Fabric roles
Enroll
Which crypto protocols are allowed in certificate signing
requests?
Revoking identities
Practical considerations in managing users in Fabric CA
Chaincode security
How is chaincode shared with other endorsing peers?
Who can install chaincode?
Chaincode encryption
Attribute-based access control
Pros and cons of attribute-based access control
Common threats and how Hyperledger Fabric mitigates them
Transaction privacy in Hyperledger Fabric
Channels
Private data
Encrypting transaction data
Hyperledger Fabric and Quantum Computing
General data protection regulation (GDPR) considerations
Summary
12. The
Future of Blockchain and the Challenges Ahead
Summary of key Hyperledger projects
Hyperledger framework – business blockchain technology
Hyperledger tools
Hyperledger Composer
The road ahead for Blockchain
Addressing the divide – the enterprise blockchain and crypto
asset-driven ecosystem
Interoperability – understanding business service integration
Scalability and economic viability of the blockchain solution
Staying engaged with the Hyperledger blockchain
Summary
Other Books You May Enjoy
Leave a review - let other readers know what you think
Preface
We would like to thank our readers in taking time to consume our collective
body of work that is representative of our practice, experience, and
knowledge gained along the way. This book was motivated by the desire
that we and others have had to contribute to the evolution of blockchain
technologies. We were also challenged by a lack of a comprehensive guide
that addresses myriad considerations, including but not limited to
technology design choices, architecture choice, business consideration, and
governance models. The authors of this book represent a unique and diverse
set of skills, which should be evident in addressing the depth of the content
with ease and simplicity. We have collectively focused on organization and
flow to ensure not only an easy-to-follow and natural flow but also topical
modularity.
The contents of this book are aimed to address a diverse audience, from
business leaders to blockchain developers and anyone who would like to
learn from practitioners' experience expressed in this book. We believe that
not only will the audience enjoy and benefit personally and professionally
from the book, but also this book will be used as reference material, a
handbook of sorts, and aid in making informed design decisions. We
encountered various challenges while writing this book, including our own
demanding schedule, but ensured that we deliver up-to date information at
the time of release of this content. Blockchain technology landscape is in
flux and keeping up with evolution and innovation is a challenge. We have
attempted to distill a model that will benefit the reader to create a
framework to methodically consume blockchain-related update and build
upon the foundation laid out in this book. We have also expended a lot of
energy in addressing business design and resulting technology design
choices, because unlike other pure technology platforms Blockchain
(powered business network), is a very business-specific and technologycentric discipline. We hope the findings and documented considerations
from practitioners will arm business leaders and technology managers in
making informed decisions and minimizing the failures experienced by the
authors.
The technical content covered in this book, aims to provide a solid
foundation to a diverse set of skills, including IT professionals, blockchain
novices, and advanced blockchain developers. Modeled after a real-world
use case, the application development story weaves in various steps from
infrastructure creation to Dev-Ops models and model-driven development,
covering various enterprise technology management challenges with a
focus on the blockchain network-centric impact of application deployment.
We have provided a framework for security and performance design, which
we hope the technical audience find particularly helpful and establish a
solid foundation as a technology design consideration.
We'll conclude the book with a pragmatic view of various challenges and
related opportunities, and call for the community of readers to rise up to the
challenges and reap the rewards of the resulting opportunities. While this
book focuses on and targets Hyperledger projects, we expect the core
topics covered in this book to be universally applicable to the blockchain
technology discipline. We sincerely hope that our effort in time and acumen
is well received by our readers and arm them with a strong foundation to
make impactful contributions to progressing the blockchain innovation
agenda.
Who this book is for
The book benefits business leaders as it provides a comprehensive view on
blockchain business models, governance structure, and business design
considerations of blockchain solutions. Technology leaders stand to gain a
lot from the detailed discussion around the technology landscape,
technology design, and architecture considerations in the book. With modeldriven application development, this guide will speed up understanding and
concept development for blockchain application developers. The simple and
well organized content will put novices at ease with blockchain concepts
and constructs.
What this book covers
, Blockchain - Enterprise and Industry Perspective, you've heard
about blockchain and you are wondering, What is all the fuss about? In this
chapter, we explore why blockchain is a game changer, what innovation it
brings, and what the technology landscape is.
Chapter 1
, Exploring Hyperledger Fabric, with an understanding of the
blockchain landscape, we turn our attention to Hyperledger Fabric. The aim
of this chapter is to walk you through the deployment of each component of
Hyperledger Fabric while unveiling/building the architecture.
Chapter 2
, Setting the Stage with a Business Scenario, describes a business
use case and then focuses on understanding the process of creating a good
business network using blockchain from requirements to design.
Chapter 3
, Designing a Data and Transaction Model with Golang, aims to
define what makes up a smart contract in Hyperledger Fabric. It will also
introduce you to some terms regarding smart contracts and get you to
experience the development of a chaincode using the Go language.
Chapter 4
, Exposing Network Assets and Transactions, leveraging the smart
contract written in the previous chapter, this chapter looks at the required
integration of application to the network. It takes the readers through the
process of configuring a channel, and installing and invoking chaincode,
from a client application and considers the various integration patterns that
might be used.
Chapter 5
, Business Networks, has an objective to introduce and uncover the
skills and tools needed to model a business network. Working at a higher
level of abstraction, the foundation, tools, and framework will provide the
reader with a way to quickly model, design, and deploy a complete end-toend business network.
Chapter 6
, A Business Network Example, putting the concepts of Chapter 6
into practice, this chapter walks through the steps to deploy a full business
network from end user application to smart contracts.
Chapter 7
, Agility in a Blockchain Network, focuses on the aspects required
to maintain agility in a blockchain network. Applying DevOps concepts, the
reader is presented with a continuous integration / continuous delivery
pipeline.
Chapter 8
, Life in a Blockchain Network, aims to raise the reader's awareness
on the key activities and challenges that organizations and consortium may
face when adopting a distributed ledger solution, ranging from management
of application changes to maintenance of adequate performance levels. A
successful network deployment will hopefully see many organizations join
it and the number of transactions increase.
Chapter 9
, Governance –The Necessary Evil of Regulated Industries,
governance is a necessary evil for regulated industries, but governance is
not required only for business network that deal with use cases for regulated
industries. It is also a good practice to ensure longevity and scalability of a
business network. This chapter explores vital considerations for production
readiness for any founder-led blockchain network.
Chapter 10
, Hyperledger Fabric Security, lays the foundation for security
design of blockchain networks. Various security constructs are discussed
and Hyperledger Fabric security is explained in detail. An essential chapter
to understand security design considerations.
Chapter 11
, The Future of Blockchain and the Challenges Ahead, looks ahead
and discusses the challenges and opportunities that lie ahead. Through the
use of open technologies, it invites readers to engage in and promote the
blockchain innovation agenda.
Chapter 12
To get the most out of this book
1. We've focused on organization and flow. The content is made to ensure
not only an easy-to-follow and natural flow but also topical
modularity.
2. Each chapter explores a facet of blockchain. While Hyperledger
projects are specifically discussed, the core areas of focus are universal
to blockchain technology discipline.
3. Explore the summary and tips in each chapter to get an essence of
topics covered.
4. There are chapters that provide general blockchain business and
technology landscape discussions, and there are chapters that go into
specific technical how-to. Both are important topics to broaden your
knowledge base.
Download the example code files
You can download the example code files for this book from your account
at www.packtpub.com. If you purchased this book elsewhere, you can visit www.pac
ktpub.com/support and register to have the files emailed directly to you.
You can download the code files by following these steps:
1. Log in or register at www.packtpub.com.
2. Select the SUPPORT tab.
3. Click on Code Downloads & Errata.
4. Enter the name of the book in the Search box and follow the onscreen
instructions.
Once the file is downloaded, please make sure that you unzip or extract the
folder using the latest version of:
WinRAR/7-Zip for Windows
Zipeg/iZip/UnRarX for Mac
7-Zip/PeaZip for Linux
The code bundle for the book is also hosted on GitHub at https://github.com/P
acktPublishing/Handson-Blockchain-Development-with-Hyperledger. We also have other
code bundles from our rich catalog of books and videos available at https://
github.com/PacktPublishing/. Check them out!
Conventions used
There are a number of text conventions used throughout this book.
: Indicates code words in text, database table names, folder names,
filenames, file extensions, path names, dummy URLs, user input, and
Twitter handles. Here is an example: "The orderer belongs to its own
organization called TradeOrdererOrg."
CodeInText
A block of code is set as follows:
- &ExporterOrg
Name: ExporterOrgMSP
ID: ExporterOrgMSP
MSPDir: crypto-config/peerOrganizations/exporterorg.trade.com/msp
AnchorPeers:
- Host: peer0.exporterorg.trade.com
Port: 7051
Any command-line input or output is written as follows:
CONTAINER ID
IMAGE
COMMAND
CREATED
STATUS
PORTS
NAMES
4e636f0054fc
hyperledger/fabric-peer:latest
"peer node start"
3 minutes
ago
Up 3 minutes
0.0.0.0:9051->7051/tcp, 0.0.0.0:9053->7053/tcp
peer0.carrierorg.trade.com
28c18b76dbe8
hyperledger/fabric-peer:latest
"peer node start"
3 minutes
ago
Up 3 minutes
0.0.0.0:8051->7051/tcp, 0.0.0.0:8053->7053/tcp
peer0.importerorg.trade.com
9308ad203362
hyperledger/fabric-ca:latest
"sh -c 'fabric-ca-se..."
3
minutes ago
Up 3 minutes
0.0.0.0:7054->7054/tcp
ca_peerExporterOrg
Bold: Indicates a new term, an important word, or words that you see
onscreen. For example, words in menus or dialog boxes appear in the text
like this. Here is an example: "You can apply for a letter of credit by
clicking on the Apply button."
Warnings or important notes appear like this.
Tips and tricks appear like this.
Get in touch
Feedback from our readers is always welcome.
General feedback: Email feedback@packtpub.com and mention the book title in
the subject of your message. If you have questions about any aspect of this
book, please email us at questions@packtpub.com.
Errata: Although we have taken every care to ensure the accuracy of our
content, mistakes do happen. If you have found a mistake in this book, we
would be grateful if you would report this to us. Please visit www.packtpub.com/
submit-errata, selecting your book, clicking on the Errata Submission Form
link, and entering the details.
Piracy: If you come across any illegal copies of our works in any form on
the Internet, we would be grateful if you would provide us with the location
address or website name. Please contact us at copyright@packtpub.com with a
link to the material.
If you are interested in becoming an author: If there is a topic that you
have expertise in and you are interested in either writing or contributing to a
book, please visit authors.packtpub.com.
Reviews
Please leave a review. Once you have read and used this book, why not
leave a review on the site that you purchased it from? Potential readers can
then see and use your unbiased opinion to make purchase decisions, we at
Packt can understand what you think about our products, and our authors
can see your feedback on their book. Thank you!
For more information about Packt, please visit packtpub.com.
Blockchain - Enterprise and
Industry Perspective
Blockchain promises to fundamentally solve the issues of time and trust to
address inefficiencies and costs in industries such as financial services,
supply chains, logistics, and healthcare. Blockchain's key features include
immutability and a shared ledger where transactional updates are performed
by a consensus-driven trust system, which can facilitate a truly digital
interaction between multiple parties.
This digital interaction is not only bound by systemic trust, but ensures that
the provenance of the transactional record maintains an immutable track
record of interaction between parties. This very characteristic lends itself to
culpability and non-repudiation, and incentivizes fair play. With the
blockchain system design, we are attempting to build a system that has
implied trust. This trust system leads to reduced risks, and various applied
technology constructs such as a cryptography, encryption, smart contracts,
and consensus essentially create gates to not only reduce risk but to also
infuse added security into the transaction system.
We will be covering the following aspects of blockchain in our discussion
for this chapter:
Defining a blockchain
Building blocks of blockchain solutions
Fundamentals of the secure transaction processing protocol
Applications of blockchain
Blockchain in an enterprise
Enterprise design principles
Business considerations for choosing a blockchain framework
Considerations for choosing a blockchain framework
Defining the terms – what is a
blockchain?
At a technical level, a blockchain can be defined as an immutable ledger for
recording transactions, maintained within a distributed network of mutually
untrusting peers. Every peer maintains a copy of the ledger. The peers execute
a consensus protocol to validate transactions, group them into blocks, and
build a hash chain over the blocks. This process forms the ledger by ordering
the transactions as is necessary for consistency. Blockchains have emerged
with bitcoin (http:// bitcoin.org/) and are widely regarded as a promising
technology to run trusted exchanges in the digital world.
A blockchain supporting a cryptocurrency is public, or permissionless, in the
sense that anyone can participate without a specific identity. Such blockchains
typically use a consensus protocol based on proof of work (PoW) and
economic incentives. In contrast, permissioned blockchains have evolved as an
alternative way to run a blockchain between a group of known, identified
participants. A permissioned blockchain provides a way to secure interactions
between a group of entities who share a mutual goal but don't fully trust each
other, such as businesses that exchange funds, goods, or information. A
permissioned blockchain relies on the identities of its peers, and in so doing
can use the traditional Byzantine-fault tolerant (BFT) consensus. BFT is a
protocol that has been widely used in IT solutions to reach a consensus on the
state of faulty nodes of a network. This protocol is based on the Byzantine
General's Problem, whereby a group of general need to reach a consensus on
their strategy but one of them maybe treacherous.
Blockchains may execute arbitrary, programmable transaction logic in the
form of smart contracts, as exemplified by Ethereum (http://ethereum.org/). The
scripts in bitcoin were predecessors of this concept. A smart contract functions
as a trusted, distributed application and gains its security from the blockchain
and underlying consensus among its peers.
Discerning permissions from a permissionless blockchain is vital for
enterprises looking to utilize the blockchain platform. The use case dictates the
choice of technology, which depends on consensus systems, governance
models, data structure, and so on. With permissioned blockchains, we can do
some of the things we already do but in an incrementally better way, which
can be significant. In the chart that follows, you can see how a consortium of
banks could use Hyperledger, a type of permissioned blockchain, for clearing
and settlement without relying on a central clearing house:
Clearing house have been created because banks do not fully trust each other
and thus as the intermediary between trades, reduces the risk the one party
does not honor his terms leads to a never-ending debate around permissioned
versus permissionless blockchains, and while this chapter will not address the
debate, blockchain can present a way to either transform or disrupt the current
business and business models. Most use cases in regulated industries embark
on permissioned blockchain models.
This is due to regulatory requirements and the economic viability of
transaction processing, and while permissionless blockchains provide a
platform for new business models such as Peer-to-Peer (P2P) transactions
and disintermediation-led models, by definition permissionless blockchain
architecture relies on a very compute-intensive compute model to ensure
transactional integrity. Regardless of the choice in blockchain models,
blockchain provides a lot of possibilities for transformation and disruption.
Blockchain has extraordinary potential as a technology platform. In the
enterprise, blockchain can provide:
A design approach that keeps transaction data, value, and state inherently
close to the business logic
Secure execution of business transactions, validated through a
community, in a secure process that facilities the trust and robust
transaction processing that are foundational to blockchain
An alternative, permissioned technology that conforms to existing
regulations
Blockchain promises to solve longstanding industry concerns—and this is where its
potential can really be seen, with issues such as modernizing financial and trade systems,
and speeding up securities and trade settlements.
Four core building blocks of
blockchain framworks
Blockchain frameworks typically include the following four building
blocks:
A shared ledger: The shared ledger appends only the distributed
transaction record. Bitcoin blockchain was designed with the intent to
democratize visibility; however, with blockchain, consumer data
regulations also need to be considered. Using a properly configured
SQL or noSQL distributed database can achieve immutability, or
append-only semantics.
Cryptography: Cryptography in a blockchain ensures authentication
and verifiable transactions. Blockchain design includes this imperative
because of the focus on assuming computational hardness and making
encryption harder for an adversary to break. This is an interesting
challenge with bitcoin blockchain because of the economic incentive
and its system design. When you're working in a less democratic or
permissioned business ledger network, considerations around
cryptography change.
Trust systems or consensus: Trust systems refer to using the power of
the network to verify transactions.
Trust systems are central to blockchain systems in my view; they are at
the heart of blockchain applications, and we believe trust system is the
preferred term over consensus system since not all validation is done
through consensus. This foundational element of trust dictates the
overall design and investment in a blockchain infrastructure. With
every new entrant in the blockchain space, the trust system is
modified, forming variations that are specialized for specific
blockchain use cases. Trust, trade, and ownership are staples of
blockchain technology. For inter-company transactions, the trust
system governs transactions for trade between participating
companies.
Much work still needs to be done to define the best trust system for
specific use cases, such as P2P and sharing economy models with B2B
models.
Business rules or smart contracts: Smart contracts are the business
terms that are embedded in a blockchain transaction database and
executed with transactions. This is also the rules component of a
blockchain solution. It is needed to define the flow of value and state
of each transaction.
The following use diagram gives a good idea of these concepts:
The four building blocks are generally accepted and well understood. They
have existed for decades prior to blockchain. Shared ledgers are an
evolutionary change, similar to the move to computer-based spreadsheets,
but the underlying business rules have stayed the same.
Additional capabilities to consider
What else should be included in enterprise blockchain proposals? Here is a
non-exhaustive list of other capabilities to consider:
Auditing and logging: Including auditing and logging in a blockchain
solution can help with addressing regulations for the purposes of nonrepudiation, technology root cause analysis, fraud analysis, and other
enterprise needs.
Enterprise integration: It's also worth considering how the solution
will be integrated into the enterprise:
Integration with the incumbent Systems of Record (SoR): The
goal here is to ensure that the blockchain solution supports your
existing systems such as CRM, business intelligence, reporting
and analytics, and so forth
Integration as a transaction processing system: If you want to
preserve the system of record as an interim approach to adopting
blockchain, integrating it as a transaction processing system
makes sense
Design with the intent to include blockchain: The path of least
disruption to your existing systems will accelerate enterprise
adoption of blockchain
Monitoring: Monitoring is an important capability for addressing
regulations and ensuring high availability, capacity planning, pattern
recognition, and fault identification.
Reporting and regulatory requirements: Being prepared to address
regulatory issues is also very important, even for interim adoption of a
blockchain as a transaction processing system. It's recommended that
you make connectors to your existing SoR to offload reporting and
regulatory requirements until blockchain is enterprise-aware, or the
enterprise software is blockchain-aware.
Enterprise authentication, authorization, and
accounting requirements: In a permissioned enterprise world (unlike
permissionless bitcoin blockchains), all blockchain network
participants should be identified and tracked. Their roles need to be
defined if they are to play a part in the ecosystem.
Fundamentals of the secure
transaction processing protocol
We mentioned previously that cryptography is one of the core building blocks
of a blockchain solution. The fundamental security of the bitcoin blockchain
is the elegant cryptographical linkage of all major components of the ledger.
Specifically, transactions are linked to each other, mainly through the Merkle
tree. A Merkle tree is based on the concept of a tree data structure where
every leaf node has a hash calculated of its data and where the non-leaf node
have a hash of all of their underlying child. This method provides a way to
ensure the integrity of the data, but also provides privacy characteristics by
allowing one to remove a leaf that is deemed private but leave the hash,
thereby preserving the integrity of the tree. The Merkle tree has its roots
incorporated into the block header. The block header includes a reference to
the block headers that precede it.
That cryptographically enforced interconnectivity fosters the stability and
security of distributed ledgers. At any point, if a link between any of the
components is broken, it leaves them exposed to malicious attacks:
Transactions are also cryptographically connected to the rest of the
blockchain structure, mainly through the Merkle tree. Once a transaction is
modified within a block, with all other parts remaining stable, the link
between all transactions of the block and its header are broken:
The new resulting Merkle tree root does not match the one already in the
block header, hence providing no connectivity to the rest of the blockchain. If
we proceed to change the Merkle tree root in the block's header, we will in
turn break the chain of headers and thus the security model of the blockchain
itself. Therefore, if we only change the contents of a block, the rest of the
blockchain components remain stable and secure, especially as the block
headers provide the connecting links by including a hash of the previous
block header in the header of the next block.
Where blockchain technology has
been and where it's going
Blockchain has already been a business disruptor, and I expect it to
significantly transform industries, the government, and our lives in the near
future.
The great divide
A significant divided exists between the cryptocurrency and Initial Coin
Offering (ICO) world, and the world of regulated business. The latter
consists of banks and financial institutions working collectively to assess
market potential and operational efficiencies.
Both sides of this division have taken advantage of the momentum around
blockchain to further their interests. The blockchain ecosystem has
challenged the status quo and defied all odds to make a point—often
behaving like an adolescent. It is driven by new business models, promises
of disintermediation, and interesting technological innovations. As
blockchain gains momentum, the value of bitcoin and other cryptoassets is
seeing a meteoric rise, and now that ICO has emerged, it has defied the
traditional regulatory framework around fundraising.
On the enterprise side, there are a growing number of industry initiatives
around clearing and settlement to enable faster settlement and interbank
transfers, transparency through digitization, symmetric dissemination of
information in supply chains, and creating adhoc trust between Internet of
Things (IoT) devices.
There's a common theme here—that blockchain is here to stay. As it
continues to evolve and generate innovative solutions for industry use
cases, it will keep inching towards maturity and deliver on its promises of
efficiency and significant cost savings built on the foundation of trust.
An economic model for blockchain
delivery
Business networks, underpinned by blockchain technology, may bring
transformation or disruption to industries, but in any case, in order to thrive,
blockchain needs an economic model. If disruption is the aim, investments
in technology, talent, and market synergy can be combined with the lure of
economic incentives. ICOs, for example, typically rely on tokenomics, a
term that describes the economic system of value generation in those
networks. The token is the unit of value created by the system or network,
either through making a platform for providers or consumers, or through
co-creating a self-governing value network in its business model that
various entities can use to their advantage for creating, distributing, and
sharing rewards that benefit all stakeholders.
The ICO front, largely funded by cryptocurrencies, has defied current
fundraising mechanisms in venture capitalism (led by crowdfunding
projects), and, importantly, the struggle to discern the difference between a
security and utility coin is disruptive in principle.
ICOs are looking to create an economic system built on the principles of
decentralization, open governance (or self-governance), and transparency,
a system that rewards innovation and eradicates disintermediation. ICOs
saw some initial failures and some successes, but they nevertheless
provided a preview of the future, where cryptoassets will become a basic
unit of value—with valuation and fungibility defined by the network they
originate from—fueling an economy built for and around innovation.
On the enterprise front, there's been more focus on understanding the
technology and reimagining ecosystems, business networks, regulations,
confidentiality and privacy, and the business models that impact blockchain
networks in various industries. Enterprises looking to explore blockchain
want to see quick proof points, use cases that can demonstrate results
quickly and help them innovate with blockchain.
Blockchain is helping industries move to a more symmetric dissemination
of information by providing built-in control of transactional data,
provenance, and historical context. This can lead to more efficient
workflows and transformed business processes. Many early projects,
however, didn't focus on the core tenets of blockchain, leading to
disintermediation, decentralization, and robust self-governance models.
There's a good reason for it, though: industries and conventional businesses
tend to be focused on their current business agenda, models, growth, and
preceding all, regulatory compliance and adherence. This emphasis on
current business operations means they're not naturally inclined towards
disruptive models.
Learning as we go
With any new technology, there is always a learning curve. As blockchain
evolved and we began to work with regulated industries, we quickly
recognized that in such industries, there are important design considerations
to address, things such as confidentiality, privacy, scalability, and
performance. These elements can have significant cost implications when it
comes to designing blockchain networks, as well as the business models
that govern these networks. These challenges have not only been interesting
to solve; they've had a positive effect on conventional, regulated industries
and businesses by re-energizing innovation in these organizations and
inviting the best talent to join in tackling these challenges. Businesses are
seeing that ecosystems and networks driven by blockchain technology will
contribute to progress and success.
Permissioned networks (regulated, conventional, and enterprise business
networks) may also need to begin uncovering an incentive model to
motivate organizations to join a platform that promotes the idea of creation,
distribution, and sharing of rewards, benefiting all stakeholders. The
economic incentives behind tokenomics can't be blindly adopted by a lot of
conventional businesses and industries, but that doesn't mean those
industries shouldn't start the journey of exploring possible business models
that will enable value creation and elevate some desperately needed
modernization efforts.
The promise of trust and
accountability
Blockchain technology promises to be the foundation for a secure
transaction network that can induce trust and security in many industries
that are plagued with systemic issues around trust and accountability. From
a technology point of view, blockchain facilitates a system of processing
and recording transactions that is secure, transparent, auditable, efficient,
and immutable. These technology characteristics lend themselves to
addressing the time and trust issues that current-day distributed transaction
systems are plagued with.
Blockchain fundamentally shifts the multi-tier model to a flat-tier
transaction processing model. This carries the promise to fundamentally
disrupt industries by disintermediation, by inducing efficacy in new system
design or simply by creating new business models.
Disintermediation indicates reducing the use of intermediaries between
producers and consumers, such as by investing directly in the securities
market rather than going through a bank. In the financial industry, every
transaction has historically required a counter party to process the
transaction. Disintermediation involves removing the middleman, which by
definition disrupts the business models and incentive economies that are
based on mediation. There's been a wave of disruption in recent years as a
result of digital technologies, which have, in turn, been driven by marketing
insights and the desire for organizations to provide a richer user experience.
Blockchain is a technology that aims to catapult this disruption by
introducing trade, trust, and ownership into the equation. The technology
pattern represented by blockchain databases and records has the potential to
radically improve banking, supply chains, and other transaction networks,
providing new opportunities for innovation and growth while reducing cost
and risk.
Industries putting blockchain
technology to work
Let's briefly look into blockchain use cases:
Blockchain in the enterprise
Now that we've looked at where blockchain is emerging in various
industries, let's talk about what principles should guide the use of
blockchains in an enterprise. Why would an enterprise want to apply
blockchain technology to one of its systems or applications?
What applications are a good fit?
Organizations will need to establish criteria for use during the application
design process to help them assess where they can best apply blockchain
technology. The following are some examples of criteria that could help an
enterprise determine which applications or systems would benefit from it:
Applications that adhere to trade, trust, and ownership: As
described previously, these three tenets—trade, trust and ownership—
are fundamental to any blockchain system. Trade and ownership imply
the churn and the transfer of ledger entries, while trust points to the
trustless nature of a transaction system.
Applications that are fundamentally transactional in nature: There
is often a debate about why we can't achieve the benefits of blockchain
from a distributed database, that is, a no-SQL or a relational database.
But a multi-party transaction is what makes an application suitable for
blockchain. There needs to be long-running processes with numerous
micro-transactions that will be verified and validated by the
blockchain-powered transaction system. However, databases can still
be used for persistence or replication to fit enterprise systems. Other
considerations include small data set sizes that could increase over
time, logging overhead, and so on.
Business networks that are comprised of non-monopolistic
participants: This third criteria addresses distributed versus
decentralized computation models. Blockchain trust systems can work
within any model; however, the trust aspect of a blockchain business
network comes from multi-party participants with non-monopolistic
participation (the consortium permissioned network model).
Oligopolistic participation might be acceptable (the private
permissioned network model), but it's essential to devise a trust model
that assures the prevention of centralized control, even with rational
behavior of the participants. Many internal use cases do not adhere to
this principle and are more for distributed application models.
For enterprises trying to either understand or determine where to employ
blockchain meaningfully, there's a simple approach to thinking through use
case selection. An appropriate use case for a sustainable blockchain solution
will achieve long-term business objectives and provide a strong return on
technology investment.
This starts with an enterprise problem—an issue big enough for the
enterprise to expend resources/time—and the recognition of cohorts that
have the same problem. When companies realize that an enterprise problem
is also an industry problem (such as security lending, collateral lending,
and so on), they've found a use case where the promise of blockchain has
the most potential.
While organizations are determining the benefits of various aspects of
blockchain for their enterprise applications, they also need to recognize the
fragmentation of the whole blockchain landscape. There are numerous
innovative approaches available for solving a specific challenge with
blockchain. A lot of vendors offer variants of the trust system that are
specialized to address particular use cases, and they've defined the use cases
that will benefit most from blockchain in a given industry, for example.
Such specialized vendors often promise a fast solution to meet consumer
demands for quick digital interactions.
The tenets of blockchain can be instrumental in delivering rapid consumerdriven outcomes such as decentralized, distributed, global, permanent,
code-based, programmable assets, and records of transactions. We should
exercise caution with regards to thinking of blockchain as a hammer to
solve every enterprise application challenge, but it can be of use in many
transactional applications.
Now, let's discuss how blockchain is perceived in the enterprise and some
of the challenges that arise with enterprise adoption of the technology. In
the following section, I'll focus on three areas that help set the tone for
blockchain in an enterprise context.
How does the enterprise view blockchain?
Radical openness is an aspect of blockchain as a digital trust web, but in an enterprise, it's vital to consider the
impact and implications of radical openness.
A public blockchain can operate with extreme simplicity, supporting a highly distributed master list of all
transactions, which is validated through a trust system supported by anonymous consensus. But can enterprises
directly apply the model of the trustless system without modifying the fundamental tenets of blockchain?
Do organizations view this disruptive technology as a path to their transformation or merely a vehicle to help them
improve their existing processes to take advantage of the efficiencies that the trust system promises? No matter
what, enterprises will want the adoption of blockchain to be as minimally disruptive to the incumbent system as it
can be, and that won't be easy to achieve! After all, the design inefficiencies of the incumbent system are what
have compelled the enterprise to consider this paradigm shift. A lot of the concepts and use cases for blockchain
are still distant from enterprise consumption.
The first industry to experiment with and adopt blockchain was the financial services sector, as it has been facing
down the fear of being disrupted by another wave of start-ups. Like many industries, it is also driven by consumer
demands for faster, lower-cost transactions. Financial services has a well-defined set of use cases including trade
financing, trade platform, payment and remittance, smart contracts, crowd funding, data management and
analytics, marketplace lending, and blockchain technology infrastructure. The uses for blockchain we've seen in
this industry will likely permeate to other industries such as healthcare, retail, and the government in the future.
The blockchain is a nascent technology that brings together a lot of good ideas, but it still has some maturing to do
for enterprise use. The lack of defined standards to promote interoperability between multi-domain chains could be
a challenge. Enterprises that adopt it will therefore need to build competency so that they can contribute to further
innovation and help with necessary blockchain standards development. This, in turn, could help bring unique
opportunities to both improve existing business practices and develop new business models built in a blockchainpowered trust web:
Litmus testing to justify the
application of blockchain
technology
Fundamentally, blockchain addresses three aspects of the transaction
economy:
Trade
Ownership
Trust
The notable technology elements of blockchain are:
Technology behind the trust system: Consensus, mining, and the
public ledger
Secret communication on open networks: Cryptography and
encryption
Non-repudiation systems: Visibility to stacks of processes
While the implications of blockchain technology may be profound,
organizations should devise a set of enterprise-specific criteria that can be
applied to existing or new projects that may gravitate towards enterprise
blockchains.
Given the versatility of blockchain technology and the current hype curve,
enterprises should use a chain decision matrix as a tool to ensure that they
have a structured approach to apply a foundational technology to a business
domain. This approach will also lend itself to a consistent blockchain
infrastructure and trust system management, which will prove vital as many
application-driven chains evolve and the demand for enterprise visibility,
management, and control grow.
Integrating a blockchain infrastructure for the whole
enterprise
Any enterprise adoption of blockchain should have the goal of disrupting incumbent systems. Thinking about
integration with enterprise systems of record is one way to work towards this. In this manner, an enterprise can
implement blockchain-driven transaction processing and use its existing systems of record as an interface to its
other applications, such as business intelligence, data analytics, regulatory interactions, and reporting.
It's vital to separate the infrastructure for enterprise blockchain technology from the business domain that uses
chain technology to gain competitive advantage. Blockchain can be seen as an enterprise chain infrastructure that's
invisible to businesses and operating behind the scenes, while promoting the interprise synergy between various
business-driven chains. The idea is to separate the business domain from the technology that supports it. A chain
application ought to be provisioned by a business domain that has a suitable trust system. The trust system, as I've
stated repeatedly, is central to any blockchain endeavor, and therefore it should be appropriate to the needs of a
given business application. The cost of the infrastructure and compute requirements will be dictated by the choice
of trust system available to an enterprise.
By separating out the blockchain technology infrastructure, designing an architecture around a pluggable trust
system by using trust intermediaries and a design that promotes flexibility, and a modular trust system, the
business can focus on the business and regulatory requirements, such as AML, KYC, nonrepudiation, and so on.
The technology infrastructure for blockchain applications should be open, modular, and adaptable for any
blockchain variant, thereby making the blockchain endeavor easy to manage.
Interprise synergy suggests driving synergies between numerous enterprise blockchains to enable inter and intra
enterprise chain (interledger) connections. In this model, the transactions would cross the various trust systems,
giving visibility into the interactions to enterprise governance and control systems. Fractal visibility and the
associated protection of enterprise data are important to consider when looking at these interactions between
business units and external enterprises. An invisible enterprise chain infrastructure can provide a solid foundation
to evolve enterprise connectors and expose APIs to make incumbent systems more chain-aware.
Interprise synergy will flourish due to conditional programmable contracts (smart contracts) between the business
chains:
How can an enterprise know if it is ready for blockchain? More importantly, when considering blockchain
consumption, should its focus be on integration with incumbent transaction systems, or an enterprise-aware
blockchain infrastructure?
To take full advantage of the promise of enterprise blockchain, an integrated enterprise will need more than one
use case and will need to drive interprise synergy. The most successful blockchain consumption strategy should
focus on technology initially and then consider integration with existing enterprise business systems. This will
facilitate collective understanding and accelerate enterprise adoption of the blockchain, hopefully on the path of
least disruption.
Enterprise design principles
As stated previously, blockchain technology promises to be the foundation
for a secure transaction network that induces trust and security in industries
that are plagued with systemic issues around trust and accountability. It
aims to generate market and cost efficiencies.
In the past few years, as blockchain technology has come to maturity, we've
focused on how enterprises and businesses can use the technology to relieve
pain points and herald new business models. Organizations that have begun
to see blockchain's potential are now beginning to reshape business
networks that are burdened by the systemic costs of archaic processes,
paperwork, and technology.
Business drivers and evolution
In the recent past, organizations would run internal business systems and IT
infrastructure out to the internet to harness the collaborative potential of
interconnected and accessible systems. Blockchain technology is taking this
to the next level, offering true digital interaction facilitated by trusted
business networks. In the internet era, successful enterprises adopted and
adapted to technological challenges, whereas in the blockchain era,
business, rather than technology, is the driver for proliferation.
While blockchain technology is interesting on its own, there are a lot of
other mechanics of a business network that ought to be evaluated as well,
including:
Consensus models: Which trust system is most fitting for your
business network?
Control and governance: What entities are permitted to do what?
Who will own the investigative process if there's a system anomaly?
Digital asset generation: Who creates an asset in the system? Who
governs it?
Authority for issuance: In a system that's truly decentralized, the
notion of authority does not hold together. So in a blockchain network,
who would be responsible for governance, culpability, and eventually
regulations?
Security considerations: How will the network address enterprise
security, including new security challenges imposed by a shared
business network?
We imagine a purpose-built blockchain network that's focused on a plurality
of business domains, for example, mortgages, payments, exchanges,
clearing, and settlement of specific asset types. In an enterprise context, we
visualize a centralized network in which like-minded business entities share
a consensus consortium. There are several practical reasons to back this
idea of a centralized network, including the following:
The use of domain-specific business language, which leads to the
construction, management, and governance of smart contracts as proxy
business representations
A defined asset type, which leads to governance, management, and
valuation (for exchange, fungibility, and so on) of the digital
representation of assets
Appropriate regulation, given that every industry and business network
is regulated separately, and therefore the burden of adhering to
regulations and other related costs can be shared in the business
network
Other related business functions such as analysis, analytics, market
data, and so on
We've now covered the business drivers for enterprise blockchain, so next
let's consider what can ensure the sustainability and longevity of a
blockchain network.
Ensuring sustainability
Blockchain-based business networks are continuing to evolve and grow,
and as they do, there will be no turning back on core issues such as trust
models, data visibility, and exploiting a network for competitive advantage.
Focusing on sustainability can seem paradoxical because it promotes open
collaborative innovation while at the same time locking down constructs
such as consensus or trust systems and the governance systems for
managing assets, smart contracts, and overall interaction in a multiparty
transaction network. Blockchain system design needs to take all of this
under consideration.
A business network with a successful system design needs to align well
with the blockchain tenets of trade, trust, ownership, and transactionality in
a multi-party scenario. Without building on these core tenets, business
networks may not realize the promise of blockchain technology in a
sustainable way.
Here are seven design principles to support and sustain growth in a
blockchain business network:
The network participants need to have control of their business
The network has to be extensible, so that participants have flexibility
to join or leave the network
The network must be permissioned but also protected, to safeguard
competitive data while facilitating peer-to-peer transactions
The network should allow open access and global collaboration for
shared innovation
The network must be scalable for both transaction processing and
encrypted data processing
The network has to be able to accommodate enterprise security and
address new security challenges
The network needs to coexist with established systems of record and
transaction systems in the enterprise
We will list the design principles graphically as follows:
The principles that drive
blockchain adoption
In any enterprise, blockchain adoption is driven by three principles: the
business blueprint, the technology blueprint, and enterprise integration.
The following are some indispensable things to consider when choosing a
blockchain framework according to these three principles:
Business blueprint: Blockchain promises to create a business network
of value based on trust. To do this, it's vital to understand how various
blockchain frameworks handle network interaction patterns,
inefficiencies, and vulnerabilities.
Technology blueprint: If technology is to align with business
imperatives, organizations need to make appropriate technology and
architecture choices for their needs. Transactions per second (TPS),
enterprise integration, external system integration, and regulatory and
compliance requirements may be taken under advisement here. These
decisions are all part of the technical due diligence necessary to
properly budget for blockchain adoption.
Enterprise integration: Integrating blockchain into enterprise
systems, especially an adjacent system, is an important business and
technology consideration (because downstream transaction systems
affect critical business systems) as well as a cost point. Based on my
experience, if organizations don't focus on adjacent system integration
early in the planning, it can impede adoption, because it has a
significant cost impact on blockchain projects.
In the following sections, I cover each of these design considerations in a
bit more detail.
Business considerations for
choosing a blockchain framework
Numerous criteria come into play when organizations are evaluating
whether to adopt blockchain to address their pain points. Here are some
considerations from a business perspective:
Open platform and open governance: The technology standards a
business chooses will set the stage for enterprise blockchain adoption,
compliance, governance, and the overall cost of the solution.
Economic viability of the solution: Whatever blockchain framework
an organizations chooses should provide cost alignment to its existing
business models, charge backs, compute equity, and account
management. This flows into ROI.
Longevity of the solution: As organizations aspire to build a trusted
network, they'll want to ensure that they can sustain the cost and
operation of the network so that it can grow and scale to accommodate
additional participants and transactions.
Regulatory compliance: Compliance issues are closely tied to
transaction processing and can include events such as industry-specific
reporting and analysis for business workflows and tasks, both
automated and human-centric.
Coexistence with adjacent systems: A blockchain network needs to
be able to coexist with the rest of the enterprise, network participants,
and adjacent systems, which may have overlapping and
complementary functions.
Predictable costs of business growth: Business growth depends upon
predictable metrics. Historically, a lot of industries have focused on
transactions per second, but that measurement differs from system to
system based on system design, compute costs, and business
processes.
Access to skills and talent: The availability of talent affects costs as
well as maintenance and the longevity of a blockchain solution as the
industry and technology evolve with continued innovation.
Financial viability of technology vendors: When choosing vendors,
it's vital to think about their viability when it comes to long-term
support and the longevity of your blockchain solution. You should
examine the long-term vision and the sustainability of the vendor or
the business partner's business model.
Global footprint and support: Blockchain solutions tend to involve
business networks with a global reach and the related skills to support
the network's expansion with minimal disruption.
Reliance on technology and industry-specific standards: Standards
are critical, not only in helping to standardize a shared technology
stack and deployment, but also in establishing an effective
communication platform for industry experts to use for problem
solving. Standards make low-cost, easy-to-consume technology
possible.
Blockchain vendors offer various specializations, including:
Variant trust systems: Consensus, mining, proof of work, and so on.
Lock-in to a single trust system
Infrastructure components that are purpose-built for particular use
cases
Field-tested design through proof of concept
The technological risk of a vendor not adhering to reference architecture
based on standardized technology set is a fragmented blockchain model for
the enterprise.
From a business point of view, an open standards-based approach to
blockchain offers flexibility, along with a pluggable and modular trust
system, and therefore is the most ideal option. This approach keeps an
enterprise open to specialized blockchains such as Ripple, provides a
provisioning layer for the trust system, and offers a separate business
domain with the technology to support it.
Technology considerations for
choosing a blockchain framework
When organizations consider the technology implications of blockchain,
they should start with the premise that it is not just another application. It's a
production network that involves risks and costs to ensure correct upkeep
and maintenance.
Here are some important things to ponder when evaluating blockchain's
technological impact.
Identity management
Identity management is a complicated, involved topic, especially in
regulated industries where identities must be managed and have significant
business consequences, such as around activities including Know Your
Customer (KYC), Anti-Money Laundering (AML), and other reporting
and analytics functions:
Permissioning is the concept of member enrollment certificates
(eCerts) and transaction certificates for each member (tCerts);
these enable an entity to be permissioned and identified while
transactions are completed
End user identity, which is maintained by a participating entity in the
blockchain network, is the mapping of the LDAP/User registry to the
tCerts or transaction ID for the sake of tracing (Know Your Customer,
as well as Know Your Customer's Customer)
Other identity management considerations include:
An LDAP or existing user registry won't go away and has to be
considered as a design point, since there's typically been significant
investment and security policies in place for mature authentication and
authorization systems
Trust systems are at the heart of blockchain technology and must pave
the way for trust with identity insertion (for use cases that require
transactional traceability)
The identity on blockchain and for blockchain
Identity acquisition, vetting, and life cycle
Alignment with trust systems based on use cases
Scalability
Scalability is both a business and a technology consideration, given the way
downstream transaction systems can affect critical business systems.
Technology choices for scalability, for example database choices for the
shared ledger, adjacent system integration, encryption, and consensus, bring
about a system design that can accommodate the predictable costs of
growth in network membership or transactions.
Enterprise security
There are three layers of enterprise security to think about:
The physical IT infrastructure layer, which includes use casespecific issues such as EAL5, network, and infrastructure isolation
requirements.
The blockchain middleware layer, which includes requirements for
crypto modules, encryption levels, encryption on data storage, transfer
and data at rest, and visibility of data between participants in the
network.
The blockchain consensus (trust system layer), which is central to
blockchain and necessary to guarantee basic data store properties. If
there are more players in the network, they have to bring capital equity
to scale. This is about building a shared data store with enterprise
data qualities at a lower barrier to entry. Consensus, even minimal
consensus, is necessary to ensure this on the architecture in place.
There's now a divide between cryptocurrency-based trust systems and
non-cryptocurrency-based trust systems. The former models, such as
POW/PoS, aren't sustainable for enterprise use cases aspiring to create
permissioned blockchains.
Development tooling
Considerations for development tooling include an integrated development
environment, business modeling, and model-driven development.
Crypto-economic models
The crypto-economic model refers to a decentralized system that uses
public key cryptography for authentication and economic incentives to
guarantee that it continues without going back in time or incurring other
alterations. To fully grasp the idea of blockchain and the benefits of
cryptography in computer science, we must first understand the idea of
decentralized consensus, since it is a key tenet of the crypto-based
computing revolution.
Decentralization with systemic
governance
The old paradigm was centralized consensus, where one central database
would rule transaction validity. A decentralized scheme breaks with this,
transferring authority and trust to a decentralized network and enabling its
nodes to continuously and sequentially record transactions on a public
block, creating a unique chain—thus the term blockchain. Cryptography (by
way of hash codes) secures the authentication of the transaction source,
removing the need for a central intermediary. By combining cryptography
and blockchain, the system ensures no duplicate recording of the same
transaction.
Blockchain system design should preserve the idea of decentralized digital
transaction processing, adapting it into a permissioned network, while
centralizing some aspects of regulatory compliance and maintenance
activity as needed for an enterprise context.
Enterprise support
Having enterprise support for blockchain is important for the same reasons
as the reconsideration of estimation effort. Remember that blockchain
should not be thought of as just another application. It's a production
network that involves risks and costs for upkeep and maintenance, and it
won't be able to simply use existing applications for development,
infrastructure, and services.
Use case-driven pluggability
choices
To make sure your blockchain solution can allow for use case-driven
pluggability choices, consider the following issues.
Shared ledger technology
The use cases, design imperatives, and problems you're trying to address
through blockchain will all help determine the choice of shared ledger and
database technologies.
Consensus
Consensus guides the trust system and drives technology investment in
blockchain application infrastructure, and therefore is at the heart of
blockchain. Also, there isn't one consensus type that fits all use cases. Use
cases define the interaction between participants and suggest a most
appropriate trust system through consensus models.
Consensus is a way to validate the order of network requests or transactions
(deploy and invoke) on a blockchain network. Ordering network
transactions correctly is critical because many have a dependency on one or
more prior transactions (account debits often have a dependency on prior
credits, for example).
In a blockchain network, no single authority determines the transaction
order; instead, each blockchain node (or peer) has an equal say in
establishing the order, by implementing the network consensus protocol.
Consensus consequently ensures that a quorum of nodes agree on the order
in which transactions are appended to the shared ledger. Consensus, by
resolving discrepancies in the proposed transaction order, helps guarantee
that all network nodes are operating on an identical blockchain. In other
words, it guarantees both the integrity and consistency of transactions in a
blockchain network.
Crypto algorithms and encryption
technology
Choosing a blockchain system design may be guided by crypto library and
encryption technology as well. An organization's use case requirements will
dictate this choice and drive technology investments in blockchain
application infrastructure:
Asymmetric: RSA (1024-8192), DSA (1024-3072), Diffie-Hellman,
KCDSA, Elliptic Curve Cryptography (ECDSA, ECDH, ECIES) with
named, user-defined, and brainpool curves
Symmetric: AES, RC2, RC4, RC5, CAST, DES, Triple DES, ARIA,
SEED
Hash/message digest/HMAC: SHA-1, SHA-2 (224-512), SSL3MD5-MAC, SSL3-SHA-1-MAC, SM3
Random number generation: FIPS 140-2 approved DRBG (SP 80090 CTR mode)
Use case-driven pluggable choices
As previously stated, use cases will define the interaction between
participants and will suggest the most appropriate trust system using
consensus models.
Enterprise integration and
designing for extensibility
Designing a blockchain network to coexist with existing systems of record
in an organization is important as a cost consideration. Integration should be
through both business and technology issues, since downstream transaction
systems impact essential business systems. By working with many
enterprises, I've found that integrating blockchain with the adjacent systems
has a significant cost impact on their blockchain projects. It really needs to
be addressed early in the planning stages, so not to adversely affect
enterprise adoption.
It's also important to think about operational issues. By safeguarding the
elements of trade, trust, and ownership—and the inherent properties of
blockchain such as immutability, provenance, and consensus—a trust
system promises to help eliminate redundant and duplicate systems and
processes. These duplications cost an organization significant resources,
leading to slower transaction processing and associated opportunity costs.
One goal with blockchain adoption should be to address the central pain
point of the existing process. The aspiration is for a transparent ledger that
increases trust, saves time and significant costs, and provides better
customer service.
As for network extensibility, designing for extensibility means taking future
growth into consideration as you plan the implementation. Extensibility
measures a system's ability to extend and the level of effort that will be
required to implement extensions. Extensibility is important with
blockchain business network design, not only to accommodate for the
dynamic nature of business (with all its regulations, competitive pressures,
and market dynamics), but also to accommodate for network growth (the
addition of regulators, market makers, disruptions, service providers, and so
on).
The following are some design considerations to help ensure network
extensibility:
Flexibility with membership:A blockchain network may start with a
finite group of participants and roles, but new participants could later
want to join the network, and others may want to leave. Therefore, you
have to consider the mechanics of membership changes, including
access to (shared) data. The member type is also an important thought
when designing for extensibility, as the roles and type of members may
change over time.
Compute equity: There's a split between trust systems based on
cryptocurrency and trust systems based on compute equity, so this is a
fairly new concept. The types of participants and their business
interests in the network are determinants of long-term sustainable
infrastructure costs and maintenance. For instance, cost models of
regulators may differ greatly from cost models of the primary
beneficiary of a blockchain-powered business network.
Shared business interests: Blockchain networks promise specific
advantages for businesses, such as reduced risk, a reliable and
predictable transaction network, lower compliance costs, and so on.
But these shared interests can lead to other operational issues, such as
data sharing and ownership as entities join and leave the network.
Since regulations around data ownership evolve, as well as industry
requirements for the durability of data, these should be evaluated
carefully when you design a blockchain system.
Governance: Governance includes managing technical artifacts such
as technology infrastructure and governing data and smart contracts in
a blockchain network. Layering governance in the following categories
is recommended:
Blockchain network/technology governance
Blockchain data governance
Blockchain smart contract governance
Blockchain transaction management governance
When designing for extensibility, the goal should be to ensure that the
blockchain network has sustainable operational elements and business
growth elements. For example, in a sustainable model, every participant
could deploy the chaincode that governs its own business process as it
accepts and deals with digital assets, while also putting business
participants in control of changing business processes, policies, and
regulatory requirements.
Other considerations
There are a few other considerations to keep in mind apart from the
previously mentioned aspects. They are briefly explained in the following
sections.
Consensus, ACID property, and
CAP
A consensus model will never go to 0 because when NoSQL became the
standard, various NoSQL systems solved their problems by understanding
this CAP theorem, and the RDBMS enterprise community held steadfast to
their ACID properties. Blockchain might well provide the primitives to
break CAP and maintain ACID. Here are some thoughts.
CAP
Cap stands for:
C—Consistency: Consensus guarantees only one truth of what
happened and in what order
A—Availability: The fact that all calls to the blockchain are
asynchronous allows the invoking application to make progress while
ensuring consensus and durability (chaining also guarantees this)
P—Network partition: Consensus, again, prevents split-brain with
conflicts when things get back together after a network partition
ACID
ACID stands for:
A—Atomicity: The chaincode programming model is an all-ornothing behavior, which allows you to group activities together. Either
everything happens, or it doesn't.
C—Consistency: We believe the new world of NoSQL fudges this
one. I believe this means the same as the C in CAP.
I—Isolation: Isolation indicates that two transactions are serialized,
which is exactly what block construction and chaining does.
D—Durability: The chaining and replication all over the network
ensures that if one or more nodes go down, data won't be lost. This is
why everyone wants to bring a node and why those nodes should not
be not co-located.
Attestation – SSCs are signed and
encrypted
In secure service containers (SSCs), the software, operating system,
hypervisors, and Docker container images cannot be modified. Certificates
may be included in the SSC so that they can probe themselves into being
genuine to a remote a party. For example, including an SSL certificate when
building SSCs helps ensure that you're speaking with a genuine instance,
since the SSL certificate always stays protected (encrypted) within the SSC.
Use of HSMs
According to Wikipedia, a hardware security module (HSM) is a physical
computing device that safeguards and manages digital keys for strong
authentication and provides cryptoprocessing. These modules traditionally
come in the form of a plugin card or an external device that attaches
directly to a computer or network server.
Administering a high-security device such as an HSM can be a real
challenge in relation to sufficient security and controls. In fact, today's
standards mandate certain methods and levels of security for HSM
administrative (and key management) systems.
Summary
Adopting blockchain in an enterprise will require a balancing act.
Organizations will not only have to run, manage, and maintain their existing
infrastructure; they'll also need to help pave the way for this new
computational model that promises to bring transformation.
In regulated industries, organizations could face a dual impact on the cost of
compliance, since even a new technology platform still needs to adhere to
established regulatory frameworks and proven technology architecture
standards and design. Enterprises considering blockchain can look towards
a pragmatic approach by adopting a doctrine of layered defense, combining
multiple mitigating security controls to help protect their resources and
data. With the layered defense approach, digital assets/smart contracts as
well as ledger data will be guarded.
Exploring Hyperledger Fabric
The focus of this chapter is the Hyperledger Fabric project—its
components, design, reference architecture, and overall enterprise readiness.
We will also discuss the broader aim of Linux Foundation (LF) hosted
Hyperledger projects and the importance of open source and open
standards. The goal is to build an understanding of the diversity of various
Hyperledger projects, and what frameworks and tools may be suitable for
particular enterprise use cases and software consumption models. While the
blockchain technology landscape is constantly in flux, Hyperledger projects
represent a structure that supports a mature and peer-reviewed technology
geared toward enterprise consumption and fueled by a diverse set of talent
and community interests.
This chapter will cover the following topics:
The foundation of Hyperledger
Hyperledger frameworks, tools, and building blocks
Hyperledger Fabric component design
Hyperledger Fabric – the journey of a sample transaction
Exploring Hyperledger Fabric
Understanding governance in business networks powered by
blockchain
Building on the foundations of open
computing
Open source projects, such as Linux and Java, have gained strength in
mainstream businesses by serving as low-cost alternatives to commercial
software. These capabilities rival those of proprietary software, thanks to
support from a large developer community. Popular open source projects
can also accelerate open standards, the collective building blocks for
products, by serving as the common implementation. Businesses and
vendors using open standards free up development and services budgets for
items that offer higher value and competitive advantage.
Open source is a part of the wider open computing movement, along with
open standards and open architecture. Together, these initiatives enable
integration and flexibility, and benefit customers by helping them avoid
vendor lock-in.
Enterprises are often required to adhere to various industry compliance and
technology governance requirements, so it's important to consider the
implications of open technology. While it is a well-understood fact that
blockchain technology powers a business network, the issues around
compliance adherence and technology governance can have an exponential
impact on the cost of technology consumption, governance, and
maintenance.
Community-driven open innovation brings order to the chaos by providing
a guiding framework for blockchain networks around network-centric
software provisioning, deployment, governance, and compliance models.
Because blockchain technology powers the business network, any
application defining the network that represents the business application
and therefore the impact—technology adoption, costs, and complexity—is
also network wide. Therefore, open community-driven technologies and
open standards ought to be viewed as a vehicle to risk management and risk
mitigation with linkages to a community-driven governance structure. We
aim to discuss this at length with a technological focus in this chapter.
Fundamentals of the Hyperledger
project
To start building an understanding of Hyperledger, let's look at some of the
key players and fundamental elements of the Hyperledger Fabric space.
The Linux Foundation
The Linux Foundation (LF) is a world leader in supporting open
technology development, and it is highly esteemed in the developer
community. LF is fostering partnerships that address some of the world's
biggest challenges through open source computing. It has made enormous
investments in open source projects since it was founded in 2000 and
helped to build an ecosystem that paved the way for the technologies
discussed in this book.
Hyperledger
Hyperledger is an open source project that came out of the LF and was
created in order to help advance cross-industry blockchain technologies. It's
a global open source collaboration involving leaders from numerous
industries.
Open source and open standards
As noted previously, the open computing movement laid the groundwork
for blockchain and Hyperledger. Open source is a software licensing model.
This means that the user has the rights to the code and is free to use it,
enhance it, or even redistribute it, provided this is done on an open source
basis.
One of the major advantages of an open source business application is the
high level of flexibility provided through open source code, modular
components, and standards adherence. This enables an organization to adapt
the technology to achieve true usability with minimal effort. Many
applications that are backed by open source technologies can be assembled,
like building blocks, to solve business problems. These building blocks
come with a core set of functionalities, and each can be enhanced to meet
specific business requirements. The different building blocks are easily
integrated through the use of open-standard technologies, and additional
features that can be custom developed in a modular way.
An open source business application can therefore provide a base set of
features at a very low cost, while enabling services engagement to enhance
or tailor the application to fully meet business needs:
The open source community also provides a global, diverse talent pool and
community with a wide range of ideas and creativity, which generate more
collaborative innovation than any single vendor ever could. It has disrupted
markets and created growth opportunities for those who recognize its
advantages.
Open source technologies such as Hyperledger and its family of projects
provide the following advantages to the industry:
Lower cost of software consumption: Open source technologydriven projects do involve costs associated with deployment,
maintenance, management, support, and so forth. The overall costs of
development and costs associated with the talent pool, however, is
largely reduced. Linking the internal technology governance structure
with the community-driven governance structure of a Hyperledger
project can greatly reduce the costs of technology governance and
compliance. The growing popularity of Hyperledger projects
represents the growth of community participation, implying the
availability of a diverse talent pool associated with Hyperledger
frameworks and tools. This is a huge cost consideration for enterprise
business networks as their requirements and business networks grow.
Innovation and extensibility: Enterprise and business networks do
not have to have the vendor locked in, but rather can choose from the
most innovative and involved communities, taking advantage of fastpaced innovation in blockchain technology space. Piggybacking on
community-based innovation will only amplify the business network's
ability to leverage new technology and innovation from projects, and
simplify business network operations and governance costs, not to
mention the wide array of competing and complementing technology
sets available, that provide flexibility in enterprise architecture and
design.
Sustainable development and innovation stream: LF provides
governance structure to the Hyperledger community. Sustainable
development implies peer review and regular software updates by the
community that supports it. This enables a vehicle where business
networks can enhance their value proposition and create new business
models. In many cases, the business network participants may also
represent the Hyperledger community, leading to a bidirectional stream
of innovation, where the business network feeds business innovation-
led improvements and requirements, with the technology community
accepting and enhancing innovation.
Security and reliability: The Hyperledger community provides a
community of peers that review, debate, and collectively accept the
technology's design and innovation. This LF provided governance
structure assumes collective responsibility, as Hyperledger projects are
implemented and maintained by a large community of blockchain
specialists who can find and address a vulnerability at a much faster
pace than a vendor who is provided with proprietary software
solutions. Because Hyperledger projects include involvement from
their members, who share the costs of development and governance,
the Hyperledger framework is reliable, as it is openly governed and
peer reviewed by the community.
Speeds up development and market adoption: Open source projects
such as Hyperledger projects have diverse communities and member
organizations with common interests and a dedicated talent pool to
collectively solve emerging problems. Hyperledger projects and the
communities behind them provide developers and business networks
the opportunity to contribute and consume software at the pace of
innovation. The speed of development and market adoption is a critical
consideration for many business networks at this stage of rapid
te...
Purchase answer to see full
attachment