SlideShare a Scribd company logo
Australia’s National Science Agency
A Decision Model
for Choosing
Patterns in
Blockchain-based
Applications
CSIRO Data61
Xiwei Xu, Dilum
Bandara, Qinghua Lu,
Ingo Weber, Len Bass,
and Liming Zhu
18th IEEE Int. Conf. on Software
Architecture (ICSA 2021)
Blockchain Patterns
Data Management Patterns
Data Migration Patterns
Self-Sovereign Identity Patterns
Smart Contract Patterns
Security Patterns
Interacting with External World
Deployment Patterns
Payment Patterns
2 | Australia's National Science Agency
https://research.csiro.au/blockchainpatterns/
• Selecting a collection of patterns is
non-trivial
• Distinct pattern collections
• Lacks details on relationships among
patterns
• Fragmented trade-off analysis
• Can a decision model guide the
selection of blockchain patterns?
• Assists developers & architects in selecting
patterns for blockchain-based applications
• Pattern’s quality trade-offs
• Relationship among patterns
Motivation
3 |
EuroPLoP ’18, July 4–8, 2018, Irsee, Germany Xiwei Xu, Cesare Pautasso, Liming Zhu, Qinghua Lu, and Ingo Weber
2 PATTERN X: ORACLE
Summary: Introduce the state of external systems into the closed
blockchain execution environment through the oracle. Fig. 1 is a
graphical representation of the pattern with the external oracle
solution approach.
Context: From the softwarearchitectureperspective, blockchain
can beviewed asacomponent or connector within alarge software
system. In the case the blockchain is used as a distributed database
for moregeneral purposesother than nancial services, theapplica-
tionsbuilt on blockchain might need to interact with other external
systems. Thus, the validation of transactions on blockchain might
depend on states of external systems.
Problem: Theexecution environment of ablockchain isself-contained.
It can only access information present in the data and transactions
on the blockchain. Smart contracts running on blockchain are pure
functions by design. The state of external systems are not directly
accessible to smart contracts. Yet, function calls in smart contracts
sometimes need to access state of the external world.
How can function calls in smart contracts beenabled to access
the state of the external world from within smart contracts?
Forces: Theproblem requiresto balance the following forces:
• Closed environment. Blockchain is a secure, self-contained
environment, which isisolated from external systems. Smart
contractson blockchain cannot read thestatesof theexternal
systems.
• Connectivity. In addition to thedatafound on theblockchain,
general-purposeapplicationsmight requireinformation from
external systems, for example, context information like geo-
location information, or weather data from a Web API1.
• Long-term availability and validity. While transactions on
blockchain are immutable, the external state used to vali-
date a transaction may change or even disappear after the
transactions wereoriginally appended to the blockchain.
Solution: Toconnect theclosedexecution environment of blockchain
with the external world, a oracle is introduced to evaluate condi-
tions that cannot be expressed in a smart contract running within
the blockchain environment. A oracle is a trusted third party that
provides thesmart contracts with information about the external
world. When validation of a transaction depends on external state,
the oracle is requested to check the external state and to provide
the result to the validator (miner), which then takes the result pro-
vided by the oracle into account when validating the transaction.
The oracle can be implemented inside a blockchain network as a
smart contract with external state being injected into the oracle
periodically by an o -chain injector. Later, other smart contracts
can access the data from the oracle smart contract. A oracle can
be also implemented as a server outside the blockchain. Such an
external oracle needs the permission to sign transactions using its
own key pair on-demand. Extra mechanisms might be needed to
improvetrustworthiness of the oracle, for example, a distributed
oracle based on multiple servers and M-of-N multiple signature.
Through using oracle, thevalidation of transactions isbased on the
authentication of the oracle, rather than the external state.
1https://openweathermap.org/api
On-chain Off-chain
Blockchain
Oracle
Other components in system
Oracle
Injector
Validation
result
Figure 1: Oracle Pattern
Consequences:
Bene ts:
• Connectivity.Theclosedexecution environment of blockchain
is ĂIJconnectedĂİ with external world through the oracle.
The applications based on blockchain can access external
states through the oracle and use the external states to vali-
date transactions.
Drawbacks:
• Trust. Using oracle introduces a trusted third party into the
system. Theoracle selected to verify theexternal stateneeds
to be trusted by all the participants involved in relevant
transactions.
• Validity. The external states injected into the transactions
can not be fully validated by miners. Thus, when miners
validate the transaction including external state, they rely
on the oracle to check the validity of the information from
external world. Long-term availability and validity. It could
happen that while transactions are immutable, the external
stateused to validatethem may changeafter thetransactions
wereoriginally appended to the blockchain.
Related patterns: ReverseOracle(Section [Y])
Known uses:
• Oracle in Bitcoin is an instance of this pattern 2. Oracle
is a server outside the Bitcoin blockchain network, which
can evaluate user-de ned expressions based on the external
state.
• Orisi3 on Bitcoin maintains a set of independent oracles.
Orisi allowsthe participants involved in a transaction to se-
lect aset of oraclesand de nethevalueof M beforeinitiating
aconditional transaction.
• Gnosis4 is a decentralized prediction market that allows
users to choose any oracle they trust, such asanother user
or a web service, e.g. , for weather forecasts.
2https://en.bitcoin.it/wiki/Contract#Example_4:_Using_external_state
3http://orisi.org/
4https://gnosis.pm/
Australia's National Science Agency
4 |
Blockchain-Based Application Design
Australia's National Science Agency
5 |
Approach
Create Decision
Models
• 5 design aspects
• Identified selection
paths based on
related patterns
• Derived quality
impacts & trade-offs
from forces &
consequences
Evaluate
• Correctness,
completeness, &
usefulness
• Interviewed 6 domain
experts
• 3 from industry
• 3 from academia
• 2-5 years
experience in
multiple projects
Refine Models
• More precise
explanations of
quality trade-offs
• Included/excluded a
few patterns
• Improved definition
of graphical notation
Australia's National Science Agency
6 |
Decision Model Notation
Australia's National Science Agency
7 |
Data Management
– On-chain
• Main quality measures
• Integrity
• Consistency
• Transparency
• Performance
• Cost efficiency
Australia's National Science Agency
8 |
Performance
• Main quality measures
• Integrity
• Transparency
• Performance
• Cost efficiency
Australia's National Science Agency
9 |
Data Management –
Off-chain
• Main quality measures
• Privacy
• Flexibility
Australia's National Science Agency
10 |
Security – Authentication
• Main quality measures
• Integrity
• Transparency
• Upgradability
• Interoperability
• Privacy
• Recoverability
Australia's National Science Agency
11 |
Security – Authorization
• Main quality measures
• Security
• Flexibility
• Lost key tolerance
• Interoperability
Australia's National Science Agency
12 |
Oracle
• Main quality measures
• Performance
• Availability
• Data credibility
• Cost efficiency
• Transparency
Australia's National Science Agency
13 |
Smart Contract
• Main quality measures
• Performance
• Security
• Cost efficiency
• Modifiability
• Consistency
Australia's National Science Agency
Interview Results
14 |
Overall feedback: 5/6 positive, 1/6 neutral
Usefulness
+ Guided tour for pattern investigation
+ Graphical illustrations bring
structure into the design process
+ Useful for understanding rationale of
design decisions, evaluation, &
documentation
- Not novice friendly
- Difficult to compare against a single
NFP
Completeness
+ Focus on application design
- Missing patterns
• Deployment, Configuration,
Governance, Legal concerns
Improvement
• Automated design tool
• Real-world case studies
Australia's National Science Agency
Summary
15 |
• Contribution
• Decision models that assist developers &
architects in selecting patterns for
blockchain-based applications
• Future work
• On-line decision tool
• Collect feedback through pattern website
to improve decision models iteratively
https://research.csiro.au/blockchainpatterns/
Australia's National Science Agency
Australia’s National Science Agency
Dilum.Bandara
@ieee.org
linkedin.com/in/dilumb/

More Related Content

What's hot

Privacy preserving public auditing for secure cloud storage
Privacy preserving public auditing for secure cloud storagePrivacy preserving public auditing for secure cloud storage
Privacy preserving public auditing for secure cloud storage
Shakas Technologies
 
Privacy preserving public auditing for regenerating-code-based cloud storage
Privacy preserving public auditing for regenerating-code-based cloud storagePrivacy preserving public auditing for regenerating-code-based cloud storage
Privacy preserving public auditing for regenerating-code-based cloud storage
parry prabhu
 
Shared Authority Based Privacy-preserving Authentication Protocol in Cloud Co...
Shared Authority Based Privacy-preserving Authentication Protocol in Cloud Co...Shared Authority Based Privacy-preserving Authentication Protocol in Cloud Co...
Shared Authority Based Privacy-preserving Authentication Protocol in Cloud Co...
Migrant Systems
 
Security Check in Cloud Computing through Third Party Auditor
Security Check in Cloud Computing through Third Party AuditorSecurity Check in Cloud Computing through Third Party Auditor
Security Check in Cloud Computing through Third Party Auditor
ijsrd.com
 
cloud computing preservity
cloud computing preservitycloud computing preservity
cloud computing preservity
chennuruvishnu
 
Access Control for Linked Data: Past, Present and Future
Access Control for Linked Data: Past, Present and FutureAccess Control for Linked Data: Past, Present and Future
Access Control for Linked Data: Past, Present and Future
Sabrina Kirrane
 
Privacy preserving public auditing for regenerating-code-based cloud storage
Privacy preserving public auditing for regenerating-code-based cloud storagePrivacy preserving public auditing for regenerating-code-based cloud storage
Privacy preserving public auditing for regenerating-code-based cloud storage
LeMeniz Infotech
 
Privacy preserving public auditing
Privacy preserving public auditingPrivacy preserving public auditing
Privacy preserving public auditing
vmshimavm
 
PRIVACY-PRESERVING PUBLIC AUDITING FOR DATA STORAGE SECURITY IN CLOUD COMPUTING
PRIVACY-PRESERVING PUBLIC AUDITING FOR DATA STORAGESECURITY IN CLOUD COMPUTINGPRIVACY-PRESERVING PUBLIC AUDITING FOR DATA STORAGESECURITY IN CLOUD COMPUTING
PRIVACY-PRESERVING PUBLIC AUDITING FOR DATA STORAGE SECURITY IN CLOUD COMPUTING
Kayalvizhi Selvaraj
 
Privacy Preserving Public Auditing for Data Storage Security in Cloud.ppt
Privacy Preserving Public Auditing for Data Storage Security in Cloud.pptPrivacy Preserving Public Auditing for Data Storage Security in Cloud.ppt
Privacy Preserving Public Auditing for Data Storage Security in Cloud.ppt
Girish Chandra
 
Oruta privacy preserving public auditing for shared data in the cloud
Oruta privacy preserving public auditing for shared data in the cloudOruta privacy preserving public auditing for shared data in the cloud
Oruta privacy preserving public auditing for shared data in the cloud
Nexgen Technology
 
Privacy preserving public auditing for regenerating-code-based
Privacy preserving public auditing for regenerating-code-basedPrivacy preserving public auditing for regenerating-code-based
Privacy preserving public auditing for regenerating-code-based
Nagamalleswararao Tadikonda
 
Oruta project report
Oruta project reportOruta project report
Oruta project report
Manasa Chowdary
 
Oruta privacy preserving public auditing for shared data in the cloud
Oruta privacy preserving public auditing for shared data in the cloud Oruta privacy preserving public auditing for shared data in the cloud
Oruta privacy preserving public auditing for shared data in the cloud
Adz91 Digital Ads Pvt Ltd
 
Privacy preserving public auditing for secure cloud storage
Privacy preserving public auditing for secure cloud storagePrivacy preserving public auditing for secure cloud storage
Privacy preserving public auditing for secure cloud storage
IEEEFINALYEARPROJECTS
 
Attributes based encryption with verifiable outsourced decryption
Attributes based encryption with verifiable outsourced decryptionAttributes based encryption with verifiable outsourced decryption
Attributes based encryption with verifiable outsourced decryption
KaashivInfoTech Company
 
a novel approach for data uploading
a novel approach for data uploadinga novel approach for data uploading
a novel approach for data uploading
IJAEMSJORNAL
 
Content-Centric Networking (CCN)
Content-Centric Networking (CCN)Content-Centric Networking (CCN)
Content-Centric Networking (CCN)
Dilum Bandara
 
Authentication on Cloud using Attribute Based Encryption
Authentication on Cloud using Attribute Based EncryptionAuthentication on Cloud using Attribute Based Encryption
Authentication on Cloud using Attribute Based Encryption
Ankit Raj
 
Lecture 12
Lecture 12Lecture 12
Lecture 12
vishal choudhary
 

What's hot (20)

Privacy preserving public auditing for secure cloud storage
Privacy preserving public auditing for secure cloud storagePrivacy preserving public auditing for secure cloud storage
Privacy preserving public auditing for secure cloud storage
 
Privacy preserving public auditing for regenerating-code-based cloud storage
Privacy preserving public auditing for regenerating-code-based cloud storagePrivacy preserving public auditing for regenerating-code-based cloud storage
Privacy preserving public auditing for regenerating-code-based cloud storage
 
Shared Authority Based Privacy-preserving Authentication Protocol in Cloud Co...
Shared Authority Based Privacy-preserving Authentication Protocol in Cloud Co...Shared Authority Based Privacy-preserving Authentication Protocol in Cloud Co...
Shared Authority Based Privacy-preserving Authentication Protocol in Cloud Co...
 
Security Check in Cloud Computing through Third Party Auditor
Security Check in Cloud Computing through Third Party AuditorSecurity Check in Cloud Computing through Third Party Auditor
Security Check in Cloud Computing through Third Party Auditor
 
cloud computing preservity
cloud computing preservitycloud computing preservity
cloud computing preservity
 
Access Control for Linked Data: Past, Present and Future
Access Control for Linked Data: Past, Present and FutureAccess Control for Linked Data: Past, Present and Future
Access Control for Linked Data: Past, Present and Future
 
Privacy preserving public auditing for regenerating-code-based cloud storage
Privacy preserving public auditing for regenerating-code-based cloud storagePrivacy preserving public auditing for regenerating-code-based cloud storage
Privacy preserving public auditing for regenerating-code-based cloud storage
 
Privacy preserving public auditing
Privacy preserving public auditingPrivacy preserving public auditing
Privacy preserving public auditing
 
PRIVACY-PRESERVING PUBLIC AUDITING FOR DATA STORAGE SECURITY IN CLOUD COMPUTING
PRIVACY-PRESERVING PUBLIC AUDITING FOR DATA STORAGESECURITY IN CLOUD COMPUTINGPRIVACY-PRESERVING PUBLIC AUDITING FOR DATA STORAGESECURITY IN CLOUD COMPUTING
PRIVACY-PRESERVING PUBLIC AUDITING FOR DATA STORAGE SECURITY IN CLOUD COMPUTING
 
Privacy Preserving Public Auditing for Data Storage Security in Cloud.ppt
Privacy Preserving Public Auditing for Data Storage Security in Cloud.pptPrivacy Preserving Public Auditing for Data Storage Security in Cloud.ppt
Privacy Preserving Public Auditing for Data Storage Security in Cloud.ppt
 
Oruta privacy preserving public auditing for shared data in the cloud
Oruta privacy preserving public auditing for shared data in the cloudOruta privacy preserving public auditing for shared data in the cloud
Oruta privacy preserving public auditing for shared data in the cloud
 
Privacy preserving public auditing for regenerating-code-based
Privacy preserving public auditing for regenerating-code-basedPrivacy preserving public auditing for regenerating-code-based
Privacy preserving public auditing for regenerating-code-based
 
Oruta project report
Oruta project reportOruta project report
Oruta project report
 
Oruta privacy preserving public auditing for shared data in the cloud
Oruta privacy preserving public auditing for shared data in the cloud Oruta privacy preserving public auditing for shared data in the cloud
Oruta privacy preserving public auditing for shared data in the cloud
 
Privacy preserving public auditing for secure cloud storage
Privacy preserving public auditing for secure cloud storagePrivacy preserving public auditing for secure cloud storage
Privacy preserving public auditing for secure cloud storage
 
Attributes based encryption with verifiable outsourced decryption
Attributes based encryption with verifiable outsourced decryptionAttributes based encryption with verifiable outsourced decryption
Attributes based encryption with verifiable outsourced decryption
 
a novel approach for data uploading
a novel approach for data uploadinga novel approach for data uploading
a novel approach for data uploading
 
Content-Centric Networking (CCN)
Content-Centric Networking (CCN)Content-Centric Networking (CCN)
Content-Centric Networking (CCN)
 
Authentication on Cloud using Attribute Based Encryption
Authentication on Cloud using Attribute Based EncryptionAuthentication on Cloud using Attribute Based Encryption
Authentication on Cloud using Attribute Based Encryption
 
Lecture 12
Lecture 12Lecture 12
Lecture 12
 

Similar to A Decision Model for Choosing Patterns in Blockchain-based Applications

BDVe Webinar Series - Ocean Protocol – Why you need to care about how you sha...
BDVe Webinar Series - Ocean Protocol – Why you need to care about how you sha...BDVe Webinar Series - Ocean Protocol – Why you need to care about how you sha...
BDVe Webinar Series - Ocean Protocol – Why you need to care about how you sha...
Big Data Value Association
 
Blockchain testing strategy
Blockchain testing strategyBlockchain testing strategy
Blockchain testing strategy
rajni singh
 
IRJET- Credible Data through Distributed Ledger Technology
IRJET-  	  Credible Data through Distributed Ledger TechnologyIRJET-  	  Credible Data through Distributed Ledger Technology
IRJET- Credible Data through Distributed Ledger Technology
IRJET Journal
 
Modeling Multi-Layer Access Control Policies of a Hyperledger-Fabric-Based Ag...
Modeling Multi-Layer Access Control Policies of a Hyperledger-Fabric-Based Ag...Modeling Multi-Layer Access Control Policies of a Hyperledger-Fabric-Based Ag...
Modeling Multi-Layer Access Control Policies of a Hyperledger-Fabric-Based Ag...
Dilum Bandara
 
Block chain fundamentals and hyperledger
Block chain fundamentals and hyperledgerBlock chain fundamentals and hyperledger
Block chain fundamentals and hyperledger
sendhilkumarks
 
BlockChain-1.pptx
BlockChain-1.pptxBlockChain-1.pptx
BlockChain-1.pptx
HussainPashaShaik1
 
BlockVote: Harnessing Blockchain for Transparent E-Voting
BlockVote: Harnessing Blockchain for Transparent E-VotingBlockVote: Harnessing Blockchain for Transparent E-Voting
BlockVote: Harnessing Blockchain for Transparent E-Voting
IRJET Journal
 
DECENTRALIZED ECONOMIC SYSTEMS
 DECENTRALIZED ECONOMIC SYSTEMS DECENTRALIZED ECONOMIC SYSTEMS
DECENTRALIZED ECONOMIC SYSTEMS
BlockScience
 
The Blockchain as a Software Connector
The Blockchain as a Software ConnectorThe Blockchain as a Software Connector
The Blockchain as a Software Connector
Cesare Pautasso
 
AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301)
AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301)AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301)
AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301)
Amazon Web Services
 
Blockchain in life sciences
Blockchain in life sciencesBlockchain in life sciences
Blockchain in life sciences
Jayanthi Repalli, PhD
 
Blockchain and BPM - Reflections on Four Years of Research and Applications
Blockchain and BPM - Reflections on Four Years of Research and ApplicationsBlockchain and BPM - Reflections on Four Years of Research and Applications
Blockchain and BPM - Reflections on Four Years of Research and Applications
Ingo Weber
 
Blockchain for Digital Transformation in Banking
Blockchain for Digital Transformation in Banking Blockchain for Digital Transformation in Banking
Blockchain for Digital Transformation in Banking
Floyd DCosta
 
Introduction to Blockchain Governance Models
Introduction to Blockchain Governance ModelsIntroduction to Blockchain Governance Models
Introduction to Blockchain Governance Models
Gokul Alex
 
#Interactive Session by Saby Saurabh Bhardwaj, "Redefine Quality Assurance –...
#Interactive Session by  Saby Saurabh Bhardwaj, "Redefine Quality Assurance –...#Interactive Session by  Saby Saurabh Bhardwaj, "Redefine Quality Assurance –...
#Interactive Session by Saby Saurabh Bhardwaj, "Redefine Quality Assurance –...
Agile Testing Alliance
 
Introducing new Proof-of-Stake based networks - Why your network participatio...
Introducing new Proof-of-Stake based networks - Why your network participatio...Introducing new Proof-of-Stake based networks - Why your network participatio...
Introducing new Proof-of-Stake based networks - Why your network participatio...
Michael Ng
 
Block-Chain Oriented Software Testing Approach
Block-Chain Oriented Software Testing ApproachBlock-Chain Oriented Software Testing Approach
Block-Chain Oriented Software Testing Approach
IRJET Journal
 
Blockchain
BlockchainBlockchain
Blockchain
Vivek Upadhyay
 
Blockchain Advances & its Applications.pptx
Blockchain Advances & its Applications.pptxBlockchain Advances & its Applications.pptx
Blockchain Advances & its Applications.pptx
MohamedMansour421585
 
The Microsoft vision for Blockchain
The Microsoft vision for BlockchainThe Microsoft vision for Blockchain
The Microsoft vision for Blockchain
ASPEX_BE
 

Similar to A Decision Model for Choosing Patterns in Blockchain-based Applications (20)

BDVe Webinar Series - Ocean Protocol – Why you need to care about how you sha...
BDVe Webinar Series - Ocean Protocol – Why you need to care about how you sha...BDVe Webinar Series - Ocean Protocol – Why you need to care about how you sha...
BDVe Webinar Series - Ocean Protocol – Why you need to care about how you sha...
 
Blockchain testing strategy
Blockchain testing strategyBlockchain testing strategy
Blockchain testing strategy
 
IRJET- Credible Data through Distributed Ledger Technology
IRJET-  	  Credible Data through Distributed Ledger TechnologyIRJET-  	  Credible Data through Distributed Ledger Technology
IRJET- Credible Data through Distributed Ledger Technology
 
Modeling Multi-Layer Access Control Policies of a Hyperledger-Fabric-Based Ag...
Modeling Multi-Layer Access Control Policies of a Hyperledger-Fabric-Based Ag...Modeling Multi-Layer Access Control Policies of a Hyperledger-Fabric-Based Ag...
Modeling Multi-Layer Access Control Policies of a Hyperledger-Fabric-Based Ag...
 
Block chain fundamentals and hyperledger
Block chain fundamentals and hyperledgerBlock chain fundamentals and hyperledger
Block chain fundamentals and hyperledger
 
BlockChain-1.pptx
BlockChain-1.pptxBlockChain-1.pptx
BlockChain-1.pptx
 
BlockVote: Harnessing Blockchain for Transparent E-Voting
BlockVote: Harnessing Blockchain for Transparent E-VotingBlockVote: Harnessing Blockchain for Transparent E-Voting
BlockVote: Harnessing Blockchain for Transparent E-Voting
 
DECENTRALIZED ECONOMIC SYSTEMS
 DECENTRALIZED ECONOMIC SYSTEMS DECENTRALIZED ECONOMIC SYSTEMS
DECENTRALIZED ECONOMIC SYSTEMS
 
The Blockchain as a Software Connector
The Blockchain as a Software ConnectorThe Blockchain as a Software Connector
The Blockchain as a Software Connector
 
AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301)
AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301)AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301)
AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301)
 
Blockchain in life sciences
Blockchain in life sciencesBlockchain in life sciences
Blockchain in life sciences
 
Blockchain and BPM - Reflections on Four Years of Research and Applications
Blockchain and BPM - Reflections on Four Years of Research and ApplicationsBlockchain and BPM - Reflections on Four Years of Research and Applications
Blockchain and BPM - Reflections on Four Years of Research and Applications
 
Blockchain for Digital Transformation in Banking
Blockchain for Digital Transformation in Banking Blockchain for Digital Transformation in Banking
Blockchain for Digital Transformation in Banking
 
Introduction to Blockchain Governance Models
Introduction to Blockchain Governance ModelsIntroduction to Blockchain Governance Models
Introduction to Blockchain Governance Models
 
#Interactive Session by Saby Saurabh Bhardwaj, "Redefine Quality Assurance –...
#Interactive Session by  Saby Saurabh Bhardwaj, "Redefine Quality Assurance –...#Interactive Session by  Saby Saurabh Bhardwaj, "Redefine Quality Assurance –...
#Interactive Session by Saby Saurabh Bhardwaj, "Redefine Quality Assurance –...
 
Introducing new Proof-of-Stake based networks - Why your network participatio...
Introducing new Proof-of-Stake based networks - Why your network participatio...Introducing new Proof-of-Stake based networks - Why your network participatio...
Introducing new Proof-of-Stake based networks - Why your network participatio...
 
Block-Chain Oriented Software Testing Approach
Block-Chain Oriented Software Testing ApproachBlock-Chain Oriented Software Testing Approach
Block-Chain Oriented Software Testing Approach
 
Blockchain
BlockchainBlockchain
Blockchain
 
Blockchain Advances & its Applications.pptx
Blockchain Advances & its Applications.pptxBlockchain Advances & its Applications.pptx
Blockchain Advances & its Applications.pptx
 
The Microsoft vision for Blockchain
The Microsoft vision for BlockchainThe Microsoft vision for Blockchain
The Microsoft vision for Blockchain
 

More from Dilum Bandara

Introduction to Machine Learning
Introduction to Machine LearningIntroduction to Machine Learning
Introduction to Machine Learning
Dilum Bandara
 
Time Series Analysis and Forecasting in Practice
Time Series Analysis and Forecasting in PracticeTime Series Analysis and Forecasting in Practice
Time Series Analysis and Forecasting in Practice
Dilum Bandara
 
Introduction to Dimension Reduction with PCA
Introduction to Dimension Reduction with PCAIntroduction to Dimension Reduction with PCA
Introduction to Dimension Reduction with PCA
Dilum Bandara
 
Introduction to Descriptive & Predictive Analytics
Introduction to Descriptive & Predictive AnalyticsIntroduction to Descriptive & Predictive Analytics
Introduction to Descriptive & Predictive Analytics
Dilum Bandara
 
Introduction to Concurrent Data Structures
Introduction to Concurrent Data StructuresIntroduction to Concurrent Data Structures
Introduction to Concurrent Data Structures
Dilum Bandara
 
Hard to Paralelize Problems: Matrix-Vector and Matrix-Matrix
Hard to Paralelize Problems: Matrix-Vector and Matrix-MatrixHard to Paralelize Problems: Matrix-Vector and Matrix-Matrix
Hard to Paralelize Problems: Matrix-Vector and Matrix-Matrix
Dilum Bandara
 
Introduction to Map-Reduce Programming with Hadoop
Introduction to Map-Reduce Programming with HadoopIntroduction to Map-Reduce Programming with Hadoop
Introduction to Map-Reduce Programming with Hadoop
Dilum Bandara
 
Embarrassingly/Delightfully Parallel Problems
Embarrassingly/Delightfully Parallel ProblemsEmbarrassingly/Delightfully Parallel Problems
Embarrassingly/Delightfully Parallel Problems
Dilum Bandara
 
Introduction to Warehouse-Scale Computers
Introduction to Warehouse-Scale ComputersIntroduction to Warehouse-Scale Computers
Introduction to Warehouse-Scale Computers
Dilum Bandara
 
Introduction to Thread Level Parallelism
Introduction to Thread Level ParallelismIntroduction to Thread Level Parallelism
Introduction to Thread Level Parallelism
Dilum Bandara
 
CPU Memory Hierarchy and Caching Techniques
CPU Memory Hierarchy and Caching TechniquesCPU Memory Hierarchy and Caching Techniques
CPU Memory Hierarchy and Caching Techniques
Dilum Bandara
 
Data-Level Parallelism in Microprocessors
Data-Level Parallelism in MicroprocessorsData-Level Parallelism in Microprocessors
Data-Level Parallelism in Microprocessors
Dilum Bandara
 
Instruction Level Parallelism – Hardware Techniques
Instruction Level Parallelism – Hardware TechniquesInstruction Level Parallelism – Hardware Techniques
Instruction Level Parallelism – Hardware Techniques
Dilum Bandara
 
Instruction Level Parallelism – Compiler Techniques
Instruction Level Parallelism – Compiler TechniquesInstruction Level Parallelism – Compiler Techniques
Instruction Level Parallelism – Compiler Techniques
Dilum Bandara
 
CPU Pipelining and Hazards - An Introduction
CPU Pipelining and Hazards - An IntroductionCPU Pipelining and Hazards - An Introduction
CPU Pipelining and Hazards - An Introduction
Dilum Bandara
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
Dilum Bandara
 
High Performance Networking with Advanced TCP
High Performance Networking with Advanced TCPHigh Performance Networking with Advanced TCP
High Performance Networking with Advanced TCP
Dilum Bandara
 
Introduction to Content Delivery Networks
Introduction to Content Delivery NetworksIntroduction to Content Delivery Networks
Introduction to Content Delivery Networks
Dilum Bandara
 
Peer-to-Peer Networking Systems and Streaming
Peer-to-Peer Networking Systems and StreamingPeer-to-Peer Networking Systems and Streaming
Peer-to-Peer Networking Systems and Streaming
Dilum Bandara
 
Mobile Services
Mobile ServicesMobile Services
Mobile Services
Dilum Bandara
 

More from Dilum Bandara (20)

Introduction to Machine Learning
Introduction to Machine LearningIntroduction to Machine Learning
Introduction to Machine Learning
 
Time Series Analysis and Forecasting in Practice
Time Series Analysis and Forecasting in PracticeTime Series Analysis and Forecasting in Practice
Time Series Analysis and Forecasting in Practice
 
Introduction to Dimension Reduction with PCA
Introduction to Dimension Reduction with PCAIntroduction to Dimension Reduction with PCA
Introduction to Dimension Reduction with PCA
 
Introduction to Descriptive & Predictive Analytics
Introduction to Descriptive & Predictive AnalyticsIntroduction to Descriptive & Predictive Analytics
Introduction to Descriptive & Predictive Analytics
 
Introduction to Concurrent Data Structures
Introduction to Concurrent Data StructuresIntroduction to Concurrent Data Structures
Introduction to Concurrent Data Structures
 
Hard to Paralelize Problems: Matrix-Vector and Matrix-Matrix
Hard to Paralelize Problems: Matrix-Vector and Matrix-MatrixHard to Paralelize Problems: Matrix-Vector and Matrix-Matrix
Hard to Paralelize Problems: Matrix-Vector and Matrix-Matrix
 
Introduction to Map-Reduce Programming with Hadoop
Introduction to Map-Reduce Programming with HadoopIntroduction to Map-Reduce Programming with Hadoop
Introduction to Map-Reduce Programming with Hadoop
 
Embarrassingly/Delightfully Parallel Problems
Embarrassingly/Delightfully Parallel ProblemsEmbarrassingly/Delightfully Parallel Problems
Embarrassingly/Delightfully Parallel Problems
 
Introduction to Warehouse-Scale Computers
Introduction to Warehouse-Scale ComputersIntroduction to Warehouse-Scale Computers
Introduction to Warehouse-Scale Computers
 
Introduction to Thread Level Parallelism
Introduction to Thread Level ParallelismIntroduction to Thread Level Parallelism
Introduction to Thread Level Parallelism
 
CPU Memory Hierarchy and Caching Techniques
CPU Memory Hierarchy and Caching TechniquesCPU Memory Hierarchy and Caching Techniques
CPU Memory Hierarchy and Caching Techniques
 
Data-Level Parallelism in Microprocessors
Data-Level Parallelism in MicroprocessorsData-Level Parallelism in Microprocessors
Data-Level Parallelism in Microprocessors
 
Instruction Level Parallelism – Hardware Techniques
Instruction Level Parallelism – Hardware TechniquesInstruction Level Parallelism – Hardware Techniques
Instruction Level Parallelism – Hardware Techniques
 
Instruction Level Parallelism – Compiler Techniques
Instruction Level Parallelism – Compiler TechniquesInstruction Level Parallelism – Compiler Techniques
Instruction Level Parallelism – Compiler Techniques
 
CPU Pipelining and Hazards - An Introduction
CPU Pipelining and Hazards - An IntroductionCPU Pipelining and Hazards - An Introduction
CPU Pipelining and Hazards - An Introduction
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
High Performance Networking with Advanced TCP
High Performance Networking with Advanced TCPHigh Performance Networking with Advanced TCP
High Performance Networking with Advanced TCP
 
Introduction to Content Delivery Networks
Introduction to Content Delivery NetworksIntroduction to Content Delivery Networks
Introduction to Content Delivery Networks
 
Peer-to-Peer Networking Systems and Streaming
Peer-to-Peer Networking Systems and StreamingPeer-to-Peer Networking Systems and Streaming
Peer-to-Peer Networking Systems and Streaming
 
Mobile Services
Mobile ServicesMobile Services
Mobile Services
 

Recently uploaded

Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
aymanquadri279
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 

Recently uploaded (20)

Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 

A Decision Model for Choosing Patterns in Blockchain-based Applications

  • 1. Australia’s National Science Agency A Decision Model for Choosing Patterns in Blockchain-based Applications CSIRO Data61 Xiwei Xu, Dilum Bandara, Qinghua Lu, Ingo Weber, Len Bass, and Liming Zhu 18th IEEE Int. Conf. on Software Architecture (ICSA 2021)
  • 2. Blockchain Patterns Data Management Patterns Data Migration Patterns Self-Sovereign Identity Patterns Smart Contract Patterns Security Patterns Interacting with External World Deployment Patterns Payment Patterns 2 | Australia's National Science Agency https://research.csiro.au/blockchainpatterns/
  • 3. • Selecting a collection of patterns is non-trivial • Distinct pattern collections • Lacks details on relationships among patterns • Fragmented trade-off analysis • Can a decision model guide the selection of blockchain patterns? • Assists developers & architects in selecting patterns for blockchain-based applications • Pattern’s quality trade-offs • Relationship among patterns Motivation 3 | EuroPLoP ’18, July 4–8, 2018, Irsee, Germany Xiwei Xu, Cesare Pautasso, Liming Zhu, Qinghua Lu, and Ingo Weber 2 PATTERN X: ORACLE Summary: Introduce the state of external systems into the closed blockchain execution environment through the oracle. Fig. 1 is a graphical representation of the pattern with the external oracle solution approach. Context: From the softwarearchitectureperspective, blockchain can beviewed asacomponent or connector within alarge software system. In the case the blockchain is used as a distributed database for moregeneral purposesother than nancial services, theapplica- tionsbuilt on blockchain might need to interact with other external systems. Thus, the validation of transactions on blockchain might depend on states of external systems. Problem: Theexecution environment of ablockchain isself-contained. It can only access information present in the data and transactions on the blockchain. Smart contracts running on blockchain are pure functions by design. The state of external systems are not directly accessible to smart contracts. Yet, function calls in smart contracts sometimes need to access state of the external world. How can function calls in smart contracts beenabled to access the state of the external world from within smart contracts? Forces: Theproblem requiresto balance the following forces: • Closed environment. Blockchain is a secure, self-contained environment, which isisolated from external systems. Smart contractson blockchain cannot read thestatesof theexternal systems. • Connectivity. In addition to thedatafound on theblockchain, general-purposeapplicationsmight requireinformation from external systems, for example, context information like geo- location information, or weather data from a Web API1. • Long-term availability and validity. While transactions on blockchain are immutable, the external state used to vali- date a transaction may change or even disappear after the transactions wereoriginally appended to the blockchain. Solution: Toconnect theclosedexecution environment of blockchain with the external world, a oracle is introduced to evaluate condi- tions that cannot be expressed in a smart contract running within the blockchain environment. A oracle is a trusted third party that provides thesmart contracts with information about the external world. When validation of a transaction depends on external state, the oracle is requested to check the external state and to provide the result to the validator (miner), which then takes the result pro- vided by the oracle into account when validating the transaction. The oracle can be implemented inside a blockchain network as a smart contract with external state being injected into the oracle periodically by an o -chain injector. Later, other smart contracts can access the data from the oracle smart contract. A oracle can be also implemented as a server outside the blockchain. Such an external oracle needs the permission to sign transactions using its own key pair on-demand. Extra mechanisms might be needed to improvetrustworthiness of the oracle, for example, a distributed oracle based on multiple servers and M-of-N multiple signature. Through using oracle, thevalidation of transactions isbased on the authentication of the oracle, rather than the external state. 1https://openweathermap.org/api On-chain Off-chain Blockchain Oracle Other components in system Oracle Injector Validation result Figure 1: Oracle Pattern Consequences: Bene ts: • Connectivity.Theclosedexecution environment of blockchain is ĂIJconnectedĂİ with external world through the oracle. The applications based on blockchain can access external states through the oracle and use the external states to vali- date transactions. Drawbacks: • Trust. Using oracle introduces a trusted third party into the system. Theoracle selected to verify theexternal stateneeds to be trusted by all the participants involved in relevant transactions. • Validity. The external states injected into the transactions can not be fully validated by miners. Thus, when miners validate the transaction including external state, they rely on the oracle to check the validity of the information from external world. Long-term availability and validity. It could happen that while transactions are immutable, the external stateused to validatethem may changeafter thetransactions wereoriginally appended to the blockchain. Related patterns: ReverseOracle(Section [Y]) Known uses: • Oracle in Bitcoin is an instance of this pattern 2. Oracle is a server outside the Bitcoin blockchain network, which can evaluate user-de ned expressions based on the external state. • Orisi3 on Bitcoin maintains a set of independent oracles. Orisi allowsthe participants involved in a transaction to se- lect aset of oraclesand de nethevalueof M beforeinitiating aconditional transaction. • Gnosis4 is a decentralized prediction market that allows users to choose any oracle they trust, such asanother user or a web service, e.g. , for weather forecasts. 2https://en.bitcoin.it/wiki/Contract#Example_4:_Using_external_state 3http://orisi.org/ 4https://gnosis.pm/ Australia's National Science Agency
  • 4. 4 | Blockchain-Based Application Design Australia's National Science Agency
  • 5. 5 | Approach Create Decision Models • 5 design aspects • Identified selection paths based on related patterns • Derived quality impacts & trade-offs from forces & consequences Evaluate • Correctness, completeness, & usefulness • Interviewed 6 domain experts • 3 from industry • 3 from academia • 2-5 years experience in multiple projects Refine Models • More precise explanations of quality trade-offs • Included/excluded a few patterns • Improved definition of graphical notation Australia's National Science Agency
  • 6. 6 | Decision Model Notation Australia's National Science Agency
  • 7. 7 | Data Management – On-chain • Main quality measures • Integrity • Consistency • Transparency • Performance • Cost efficiency Australia's National Science Agency
  • 8. 8 | Performance • Main quality measures • Integrity • Transparency • Performance • Cost efficiency Australia's National Science Agency
  • 9. 9 | Data Management – Off-chain • Main quality measures • Privacy • Flexibility Australia's National Science Agency
  • 10. 10 | Security – Authentication • Main quality measures • Integrity • Transparency • Upgradability • Interoperability • Privacy • Recoverability Australia's National Science Agency
  • 11. 11 | Security – Authorization • Main quality measures • Security • Flexibility • Lost key tolerance • Interoperability Australia's National Science Agency
  • 12. 12 | Oracle • Main quality measures • Performance • Availability • Data credibility • Cost efficiency • Transparency Australia's National Science Agency
  • 13. 13 | Smart Contract • Main quality measures • Performance • Security • Cost efficiency • Modifiability • Consistency Australia's National Science Agency
  • 14. Interview Results 14 | Overall feedback: 5/6 positive, 1/6 neutral Usefulness + Guided tour for pattern investigation + Graphical illustrations bring structure into the design process + Useful for understanding rationale of design decisions, evaluation, & documentation - Not novice friendly - Difficult to compare against a single NFP Completeness + Focus on application design - Missing patterns • Deployment, Configuration, Governance, Legal concerns Improvement • Automated design tool • Real-world case studies Australia's National Science Agency
  • 15. Summary 15 | • Contribution • Decision models that assist developers & architects in selecting patterns for blockchain-based applications • Future work • On-line decision tool • Collect feedback through pattern website to improve decision models iteratively https://research.csiro.au/blockchainpatterns/ Australia's National Science Agency
  • 16. Australia’s National Science Agency Dilum.Bandara @ieee.org linkedin.com/in/dilumb/

Editor's Notes

  1. Recurring solutions to commonly occurring problems Many blockchain pattern collections are proposed by academia and industry Happy because there’s a patter for everything. Your life is easy as you don’t need to recreate solutions to common problems Soon you will realise the reality of having to play with too many pattern where it’s difficult to identify a set of patterns that can work together
  2. How can developers & architects navigate from pattern to pattern until a suitable combination of patterns that can meet the design goals is found
  3. Decision models are created to map elements in the problem space to the elements in the solution space. We were also able to see new relationships as we had a holistic view Where details were unavailable, we had to add our judgement and experience
  4. High-level design goal – mostly influenced by a business goal/objective Inclusive gateway – 1 or more paths Exclusive gateway – only one of the paths Parallel gateway – all paths NFPs relevant for a specific context may be missing
  5. Ensure critical patterns aren’t missed Enhances value by making the relationship among patterns explicit Subjective bias Interview participants are from industry and academia All experienced blockchain practitioners or active researchers Reproducibility Applied our expert knowledge to identify new relationships and selection paths Necessary trade-off to bring structure into decision model