Discuss the Prosperity Paradox from Chapter 7 of Blockchain Revolution.
Discuss the Prosperity Paradox from Chapter 7 of Blockchain Revolution.
You will then think of three questions you’d like to ask other students and add these to the end of your thread. The questions should be taken from Week 11 required course materials (Tapscott & Tapscott)
1) Create a new thread and ensure your initial post is properly formatted.
2) Provide a first section (200-250 words) explaining, with supporting source material, explaining what the Prosperity Paradox is and what is its impact.
3) Draft a second section (200-250 words) explaining, with supporting source material, explaining how blockchain can solve the Prosperity Paradox.
4) Provide three (3) questions that you would like to ask other classmates in relation to the weekly reading material. These need to be specific questions based on weekly reading material. Do not just ask general questions.
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.PacktP ub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at [email protected] 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.packtpub.c om 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 processes
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 blockchain ev
ents
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 using Co
mposer
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 credit
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 operation
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 channel
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 proce
ssing 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 Fabr
Collepals.com Plagiarism Free Papers
Are you looking for custom essay writing service or even dissertation writing services? Just request for our write my paper service, and we'll match you with the best essay writer in your subject! With an exceptional team of professional academic experts in a wide range of subjects, we can guarantee you an unrivaled quality of custom-written papers.
Get ZERO PLAGIARISM, HUMAN WRITTEN ESSAYS
Why Hire Collepals.com writers to do your paper?
Quality- We are experienced and have access to ample research materials.
We write plagiarism Free Content
Confidential- We never share or sell your personal information to third parties.
Support-Chat with us today! We are always waiting to answer all your questions.