1Preface
926.2.6 Transparency
21 Introduction to Blockchain
936.3 Examples for Suitability Evaluation
31.1 What is Blockchain and Why it is Important for Us
946.3.1 Example 1: Electronic Health Records (EHR)
41.2 Applications based on Blockchain Technology
956.3.2 Example 2: Chain of Supply
51.2.1 Industry and Enterprise
966.3.3 Example 3: Stock Market
61.2.2 Financial Services
976.3.4 Example 4: Identity Management
71.2.3 Government Services
986.4 Design Process for Blockchain Systems
81.3 Blockchain Functionality
996.4.1 Trade-off Analysis
91.3.1 Blockchain as Data Storage
1006.4.2 Decentralization
101.3.2 Blockchain as a Computational Infrastructure
1016.4.3 Off-chain Vs. On-chain Transactions
111.4 Blockchain and its Non-functional Properties
1026.5 Summary
121.4.1 Non-functional Properties and Requirements of the Blockchain
1036.6 References
131.4.2 Non-functional Properties of the Blockchain
1047 Patterns of Blockchain
141.5 Blockchain Architecture Design
1057.1 Introduction
151.5.1 Software Architecture: Design and Analysis
1067.2 Patterns on Interaction with the External World
161.5.2 Designing Blockchain-based Application
1077.2.1 Oracle
171.6 Summary
1087.2.2 Reverse Oracle
181.7 References
1097.2.3 Legal and Smart Contract
192 Existing Blockchain Platforms
1107.3 Data Management Patterns
202.1 Bitcoin
1117.3.1 On-chain Data Encryption
212.1.1 Bitcoin Transactions
1127.3.2 Tokenization
222.1.2 Script
1137.3.3 Off-chain Data Storage
232.1.3 Mining
1147.3.4 State Channel
242.1.4 Accounts and States
1157.4 Security Patterns
252.1.5 Nakamoto Consensus
1167.5 Multiple Authorization: 7.5.1 Off-chain Secret Dynamic Authorization
262.1.6 Deflationary Cryptocurrency
1177.6 Contract Structural Pattern
272.1.7 Wallets
1187.6.1 Registration of Contract
282.1.8 Exchanges
1197.6.2 Data Contract
292.2 Ethereum
1207.6.3 Embedded Permission
302.2.1 Ethereum Protocol
1217.6.4 Execution of Incentive
312.2.2 Ethereum Transactions
1227.7 References
322.2.3 Smart Contract
1238 Model Driven Engineering for Blockchain Applications
332.2.4 Paying Fees in ‘Gas’
1248.1 Introduction
342.2.5 Decentralized Applications (dapp)
1258.2 Model Driven Generation of Smart Contract Code for Collaborative Business Processes
352.3 Hyperledger Fabric
1268.3 Model Driven Registry Generation for Blockchain
362.3.1 Permissioned Blockchain
1278.4 Summary
372.3.2 Chaincode as the Smart Contract
1288.5 References
382.3.3 Nodes
1299 Cost
392.3.4 Transactions
1309.1 Introduction
402.3.5 Consensus
1319.2 On-chain Data Cost
412.4 Other Representative Blockchain Platforms
1329.3 Smart Contract Cost
422.5 References
1339.4 Cost Models
433 Varieties of Blockchains
1349.5 Using and Evaluating the Cost Model
443.1 Blockchain Fundamental Properties
1359.6 Discussion
453.2 Configuration of Block
1369.7 Summary
463.3 Auxiliary Blockchains
1379.8 References
473.4 References
13810 Performance
484 Agricultural Supply Chain
13910.1 Introduction
494.1 Introduction
14010.2 Performance Characteristics of Blockchain
504.2 Conventional Technology
14110.3 Architectural Process Modeling
514.2.1 The Methodology of Supply Chain
14210.4 Prediction of the Latency of Blockchain-Based Systems
524.2.2 The Blockchain Solution
14310.5 Architectural Decision Making
534.2.3 Discussion of Requirements and Properties Which are Non-functional
14410.6 Summary
544.3 Open Data Registry
14510.7 References
554.3.1 Conventional Technology
14611 Blockchain Applications and its Security and Dependability
564.3.2 The blockchain Solution
14711.1 Confidentiality
574.3.3 Discussion of Requirements and Properties Which are Non-functional
14811.2 Integrity
584.4 International Money Transfers
14911.3 Reliability and Availability
594.4.1 Conventional Methods
15011.4 Safety
604.4.2 Blockchain Method
15111.5 Maintainability
614.4.3 Discussion of Requirements and Properties Which are Non-functional
15211.6 Blockchain Transaction Inclusion and its Variation
624.5 Continuous Reporting and Electricity Contract Selection
15311.7 Retrying and Aborting Transactions of Blockchain
634.5.1 Non-functional Requirements of the Key
15411.8 Summary
644.5.2 Conventional Technologies
15511.9 References
654.5.3 Blockchain Solution and Design
15612 AgriDigital Case Study
664.5.4 Non-functional Properties
15712.1 Supply Chains for Agriculture and its Blockchain Solution
674.6 References
15812.1.1 Agricultural Supply Chains Worldwide
685 Blockchain in Software Architecture
15912.1.2 Agriculture and Blockchain
695.1 INtroduction
16012.2 Vision for AgriDigital Sector
705.2 Blockchain as an Architectural Element
16112.3 AgriDigital Vision’s Pillars of Digital Trust: 12.3.1 Blockchain Solution for AgriDigital Industry
715.3 Blockchain as a Storage Element
16212.4 Business Use Case Designs
725.3.1 Comparing with Centralized Databases
16312.5 Case Study: Pilot Components
735.3.2 Comparing with Peer-to-Peer Data Storage
16412.5.1 Scenarios for Pilot
745.3.3 Comparing with Cloud Services
16512.5.2 Decisions for Design
755.3.4 Comparing with Replicated State Machines
16612.6 Summary
765.4 Blockchain as a Computational Element
16712.7 References
775.5 Blockchain as a Communication Mechanism
16813 Blockchain Voting
785.5.1 Data Communication
16913.1 Introduction
795.5.2 Computation Communication
17013.2 The Minimum Viable Product (MVP) Prototype
805.6 Blockchain as an Asset Management and Control Mechanism
17113.3 Construction of Tokenvote
815.7 Integration of Blockchain into a System as a Component
17213.4 Details of the Secure Vote system
825.8 Summary
17313.5 Summary
835.9 References
17413.6 References
846 Designing Process for Application on Blockchain
17514 Blockchain Traceability
856.1 Introduction
17614.1 Introduction
866.2 Suitability Evaluation
17714.2 OriginChain Architecture
876.2.1 Multi-party
17814.3 Analysis
886.2.2 Trustworthy Authority
17914.4 Discussion
896.2.3 Immutability of Data and Non-repudiation
18014.5 Summary
906.2.4 Operation
18114.6 References
916.2.5 High-level Performance
182Index