Demystify architecting complex blockchain applications in enterprise environments
Architecting Enterprise Blockchain Solutions helps engineers and IT administrators understand how to architect complex blockchain applications in enterprise environments. The book takes a deep dive into the intricacies of supporting and securing blockchain technology, creating and implementing decentralized applications, and incorporating blockchain into an existing enterprise IT infrastructure.
Blockchain is a technology that is experiencing massive growth in many facets of business and the enterprise. Most books around blockchain primarily deal with how blockchains are related to cryptocurrency or focus on pure blockchain development. This book teaches what blockchain technology is and offers insights into its current and future uses in high performance networks and complex ecosystems.
- Provides a practical, hands-on approach
- Demonstrates the power and flexibility of enterprise blockchains such as Hyperledger and R3 Corda
- Explores how blockchain can be used to solve complex IT support and infrastructure problems
- Offers numerous hands-on examples and diagrams
Get ready to learn how to harness the power and flexibility of enterprise blockchains!
Table of Contents
Foreword xxi
Introduction xxiii
Chapter 1 Introduction to Blockchain Technologies 1
What is a Blockchain? 2
My Approach to the Definition3
Technical Audience 3
Business Audience 3
Legal Audience 5
Three Definitions of Blockchain 5
History of Blockchains 5
Blockchain vs Traditional Database 9
Distribution of Trust 10
Consensus and Trust 10
Summary of Differences Between Ledgers and Traditional Databases 10
Cap Theorem 12
Common Properties of Permissionless Blockchains 13
Why the Blockchain is Considered Revolutionary 15
Blockchain Principles 15
Trust or Trustless 16
Transparency and Blockchain 18
Blockchain Transaction Basics 20
Consensus 20
Blocks 20
Types of Blockchains 21
Public, Private, and Hybrid Blockchains 21
Summary 27
Chapter 2 Enterprise Blockchains: Hyperledger, R3 Corda, Quorum, and Ethereum 29
Comparing Enterprise Blockchains 29
Introducing the Hyperledger Project 31
Hyperledger Frameworks 32
Introducing Hyperledger Fabric 35
Hyperledger Fabric Ledger 37
Hyperledger Fabric Consensus 38
Hyperledger Fabric Transactions 38
Hyperledger Fabric Nodes 40
Hyperledger Fabric Business Networks 40
Hyperledger Fabric Chaincode (Smart Contracts) 41
Hyperledger Fabric Development Tools 41
Hyperledger Fabric Governance 43
Introducing R3 Corda 43
R3 Corda Blockchain Fundamentals 46
R3 Corda Network 46
R3 Corda Ledger 47
R3 Corda Consensus 48
R3 Corda Nodes 49
R3 Corda States 49
R3 Corda Transactions 50
R3 Corda Client Applications 50
R3 Corda Smart Contracts 51
R3 Corda Development Tools 52
R3 Corda Governance 53
Introducing Quorum 54
Quorum Blockchain Fundamentals 55
Quorum Ledger 56
Quorum Consensus 56
Quorum Smart Contracts 56
Quorum Tools and Utilities 57
Quorum Governance 58
Introducing Ethereum 58
Ethereum Blockchain Fundamentals 60
Ethereum Ledger 61
Ethereum Node EVM 61
Ethereum Client Apps 63
Ethereum Transactions 64
Ethereum Smart Contracts 64
Ethereum Wallets 66
Ethereum Tools and Utilities 66
Ethereum Governance 68
Summary 68
Chapter 3 Architecting Your Enterprise Blockchain 69
Blockchain Technology Focus Areas 69
Blockchain Success Areas 70
Blockchain Compliance 71
Architecting a Blockchain Solution 71
Blockchain Design Workflow 72
Use Case Potential 72
Blockchain Structure and Components 77
Blockchain Structure 77
Blockchain Core Components 79
Enterprise Blockchain Architectures 81
TOGAF Domains 81
What, Who, and How of Enterprise Architecture 82
Tenets 82
Blockchain Design 83
Enterprise Blockchain Adoption Challenges 84
Risk Management 84
Blockchain as a Hammer 85
Enterprise Blockchain Design Principles 85
Enterprise Blockchain Design Requirements 86
Other Concerns - Deployment Model 90
Hyperledger Fabric 90
Hyperledger Fabric’s Main Selling Points 91
Hyperledger Fabric’s Blockchain Design Considerations 91
Hyperledger Fabric’s Advantages 91
Hyperledger Fabric’s Design Example Architectures 96
R3 Corda 98
R3 Corda’s Main Selling Points 98
R3 Corda’s Design Considerations 98
R3 Corda’s Design Example Architectures 102
Ethereum 104
Ethereum’s Selling Points 104
Ethereum’s Blockchain Design 105
Ethereum’s Design Example Architectures 107
Quorum 109
Quorum’s Selling Points 109
Quorum’s Blockchain Design Principles 111
Quorum’s Design Example Architectures 113
Summary 114
Chapter 4 Understanding Enterprise Blockchain Consensus 117
Blockchain Consensus Methods from a Historical Perspective 118
The Importance of Consensus 118
Byzantine Generals Problem 119
Byzantine Fault Tolerance 121
Comparing Enterprise Blockchain Consensus Methods 121
Proof-of-Work Consensus 122
Proof-of-Stake Consensus 124
Comparing Proof of Work and Proof of Stake 125
Proof of Elapsed Time 126
Delegated Proof of Stake 128
Delegated Byzantine Fault Tolerance 129
Practical Byzantine Fault Tolerance 130
Istanbul Byzantine Fault Tolerance 130
Raft Consensus 131
Directed Acyclic Graph 132
Blockchain Consensus Evaluation 134
Summary 135
Chapter 5 Enterprise Blockchain Sales and Solutions Engineering 137
Enterprise Blockchain Sales Cycle 137
Blockchain Roles (Stakeholders) 139
IT-Based Sales Cycles 141
Presales Tasks 143
Selling Enterprise Blockchain Solutions 152
Sales Engineering Success 159
Summary 162
Chapter 6 Enterprise Blockchain Economics 163
Introduction to Enterprise Blockchain Economics 163
Enterprise Ecommerce Business Models 163
Value Creation 164
Blockchain Payment Gateways 164
Stablecoins 165
Blockchain Funding and Costs 166
CAPEX and OPEX 166
Cost Considerations 168
Enterprise Blockchain Cost Models 173
Return on Investment 174
Total Cost of Ownership 176
ROI vs TCO 177
Potential Cost Efficiencies 177
Reducing Burdened Labor Costs 177
Using OPEX over CAPEX 179
Lower Transaction Costs 179
Costless Verification 179
Intermediary Roles and Blockchain 179
Summary 181
Chapter 7 Deploying Your Blockchain on BaaS 183
Blockchain as a Service Overview 183
Why Use a Blockchain as a Service? 184
Benefits of Using a Blockchain as a Service 184
Negatives of Using a Blockchain as a Service 185
Blockchain as a Service for Sales Teams 186
Blockchain as a Service Providers 186
Amazon Web Services Options 187
AWS Blockchain templates Deployment High-Level Steps 189
Understanding AWS Regions and Availability Zones 189
Deploying Hyperledger on AWS 191
Deploying AWS Managed Blockchain 221
IBM Cloud Blockchain Platforms 231
Blockchain Platform 2.0 231
Summary 239
Chapter 8 Enterprise Blockchain Use Cases 241
Merits of Blockchain Acceptance 241
Technical Merits of Blockchain 242
Business Merits of Blockchain 243
Common Elements of Blockchain Adoption 244
Financial Sector Use Cases 244
Cross-Border Payments 245
Know Your Customer 247
Peer-to-Peer Lending 248
Security Tokenization 248
Logistics Use Cases 249
Supply Chain 250
Internet of Things 250
Farm to Table 251
Government Use Cases 252
City/State of Dubai 252
Country of Georgia 252
Healthcare Use Cases 253
Other Potential Use Cases 254
Zero-Knowledge Proofs 254
Social Impact, Charity, and Fundraising 255
Distributed Cloud Storage 255
Identity Management 255
Summary 256
Chapter 9 Blockchain Governance, Risk, and Compliance (GRC), Privacy, and Legal Concerns 257
Governance, Risk, and Compliance 257
Compliance Benefits 258
Regulatory Oversight 259
Common Compliance Requirements 261
Smart Contract Legal Concerns 271
Smart Contract Enforcement 272
Smart Contract Adaptability 273
Legal Jurisdiction 274
Liability of Services 274
Financial Sector Compliance 275
Handling Customer Data 275
Intellectual Property 275
Auditing and Logging 276
Summary 277
Chapter 10 Blockchain Development 279
Common Programming Languages 279
Most Common Development Languages 280
Less Widely Used Development Languages 282
Summary of Blockchain Platforms 283
Ethereum Development 284
Smart Contracts 284
Ethereum Ecosystem 288
Ethereum Networks 291
Ethereum Nodes 295
Solidity Programming Language 296
Ethereum APIs 297
Ethereum Testing 299
Hyperledger Development 303
Chaincode 303
Hyperledger Fabric Consensus Options 305
Hyperledger Fabric Database Options 305
Client Applications 306
Fabric REST Services 307
Service Discovery 307
Hyperledger Composer 307
R3 Corda Development 310
Corda Consensus Model 311
CorDapps 311
Corda Network and Nodes 312
Corda Service Hub 312
Corda Doorman 313
Corda Flows 313
Client RPC 313
Oracles 313
Corda DemoBench 313
Quorum Development 315
Quorum vs Ethereum 315
Quorum Cakeshop 315
Blockchain Performance 316
Permission or Permissionless Performance 318
Performance Testing 319
Blockchain Integration and Interoperability 320
Data Exchange Methods 321
Hash Timed Locks 321
Relays and Gateways 321
Summary 322
Chapter 11 Blockchain Security and Threat Landscape 323
Blockchain Security Basics 323
Confidentiality, Integrity, and Availability 324
Blockchain Best Practices 325
Blockchain Security Audits 327
Blockchain Security Assumptions 328
Blockchain Cryptography 328
Blockchain Risks 332
Risk Assessment 332
Risk Mitigation 333
Blockchain Threat Landscape 335
51 Percent Attacks 335
Phishing Attacks 336
DDOS Attacks 336
DNS Hijacking Attacks 337
Eclipse Attacks 337
Insider Attacks 338
Replay Attacks 338
Routing Attacks 339
Sybil Attacks 339
Smart Contract Security 339
Smart Contract Legal Prose 339
Smart Contract Vulnerabilities 340
Blockchain-Specific Features 340
Ethereum 341
Hyperledger Fabric 343
R3 Corda Blockchain 344
Quorum 345
Summary 347
Chapter 12 Blockchain Marketplace Outlook 349
Technology Investments 349
Investments in Blockchain350
Blockchain Market Patents 350
Blockchain Market Growth 352
Complementary and Adverse Blockchain Acceptance Drivers 352
Blockchain Expertise Demand 353
Blockchain Market Expertise Expansion 353
Blockchain Certifications 354
Blockchain Institute of Technology 355
Blockchain Council 355
Blockchain Training Alliance 356
Summary 357
Index 359