SlideShare une entreprise Scribd logo
1  sur  42
www.csiro.au
Blockchains and Smart Contracts:
Architecture Design and Model-
Driven Development
Ingo Weber | Principal Research Scientist & Team Leader
Architecture & Analytics Platforms (AAP) team
ingo.weber@data61.csiro.au
May 2017
Blockchain Research at Data61 (AAP Focus)
Blockchain Research at Data61
• Designing Systems
with Blockchain
– Design Trade-offs
– Model-driven
development
– Governance and risk
management
• Trustworthy
Blockchain Systems
– Formal
– Empirical
Blockchain | Data61, CSIRO3 |
• Defining and Using
Smart Contracts
– As Legal Contracts
– Business Process
Designing Systems with Blockchain
Data61 : Preliminary Findings on Blockchain/DLT Projects4 |
• Design Process
• A taxonomy of blockchain-based systems for architecture design, X. Xu,
I. Weber, M. Staples et al., ICSA2017.
• The blockchain as a software connector, X. Xu, C. Pautasso, L. Zhu et al.,
WICSA2016.
• Quality Analysis
• Comparing blockchain and cloud services for business process
execution, P. Rimba, A. B. Tran, I. Weber et al., ICSA2017.
• Predicting latency of blockchain-based systems using architectural
modelling and simulation, R. Yasaweerasinghelage, M. Staples and I.
Weber, ICSA2017.
• Model-Driven
• Regerator: a Registry Generator for Blockchain, A. B. Tran, X. Xu, I. Weber,
CAISE2017.
• From business process models, see next slide
• Integration with other systems
• EthDrive: A Peer-to-Peer Data Storage with Provenance, X. L. Yu, X. Xu, B. Liu,
CAISE2017.
• Governance and risk management
• Risks and Opportunities for Systems Using Blockchain and Smart
Contracts, Treasury report
Defining and Using Smart Contracts
Data61 : Preliminary Findings on Blockchain/DLT Projects5 |
• Business Process
• Untrusted business process monitoring and execution
using blockchain,
I. Weber, X. Xu, R. Riveret et al., BPM2016
• Optimized Execution of Business Processes on
Blockchain,
L. García-Bañuelos, A. Ponomarev, M. Dumas, Ingo
Weber, BPM2017
• As Legal Contracts
• Evaluation of Logic-Based Smart Contracts for
Blockchain Systems,
F. Idelberg, G. Governatori, R. Riveret et al., RuleML2016
Trustworthy Blockchain Systems
Data61 : Preliminary Findings on Blockchain/DLT Projects6 |
• Formal
• The Blockchain Anomaly, C. Natoli, V. Gramoli, NCA2016
• On the Danger of Private Blockchains, V. Gramoli,DCCL2016
• (Leader/Randomization/Signature)-free Byzantine Consensus for Consortium
Blockchains, T. Crain, V. Gramoli, M. Larrea, M. Raynal, arXiv:1702.03068, 2016
• Empirical
• New kids on the block: an
analysis of modern blockchains,
L. Anderson, R. Holz, A.
Ponomarev et al.,
arXiv:1606:06530, 2016
• ...
Projects with Australian Treasury
• DLT Foresight
– What might plausibly happen,
across society & economy?
• Blockchain Proof-of-Concepts
– What are technical risks &
opportunities for use cases?
Blockchain | Data61, CSIRO7 |
• Jul 2016 – Mar 2017
• Funded by National Innovation Science Agenda
• With assistance of The Treasury
Architecting Applications on
Blockchain
Based on [1,2,3]
Overview
• Many interesting applications for Blockchain
• Basically of interest in most lack-of-trust settings where a distributed
application can coordinate multiple parties
• Examples:
– Supply chains
– Handling of titles, e.g., land, water, vehicles
– Identity
• Many startups and initiatives from enterprises / governments
• ... but also many challenges
• When to use blockchain
• Trade-offs in architecture
– Downsides: cost, latency, confidentiality
– What to handle on-chain, what off-chain?
Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber9 |
Our work – AAP team
• Architecting applications on Blockchain:
• Taxonomy and design process [1]
• “Cost of Distrust”: how much more expensive is blockchain? [2]
• Latency: simulation under changes [3]
• Model-driven development of smart contracts
• Business process execution [4,5]
• Model-based generation of registries and UIs: “Regerator” [6]
Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber10 |
Taxonomy
Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber11 |
Blockchain-related design decisions regarding (de)centralisation, with an indication of
their relative impact on quality properties
Legend: ⊕: Less favourable, ⊕⊕: Neutral, ⊕⊕⊕: More favourable
Taxonomy
Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber12 |
Blockchain-related design decisions regarding storage and computation, with an
indication of their relative impact on quality properties
Taxonomy
Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber13 |
Blockchain-related design decisions regarding blockchain configuration
Proposed design process (using Taxonomy)
Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber14 |
Cost of Distrust
• RQ: How much more expensive is blockchain over Cloud services?
• Lens: business process execution
• AWS SWF vs. Ethereum public blockchain
– In both cases: pay per instruction
• Experiments on two use cases:
– Incident management (literature)
– 32 instances on public Ethereum vs. 1000 runs on SWF
– Invoicing (industry, 5316 log traces, 65K events)
– Full log replayed on SWF and private Ethereum
• Result:
• 2 orders of magnitude more expensive to use blockchain
• ~US$ 0.35 per process instance on public blockchain
– outweighed by cost of escrow (if needed) for about US$ 10 of value
Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber15 |
Latency simulation
• Goal: predict latency for blockchain-based application before
building it
• Challenge specifically for latency: mean and variation
• Means: Architecture performance modeling
• Paladio Component Models with individual latency distributions +
connections + probability of branching
• Allows changing the models for What-If analysis
• For instance: change inter-block time on private blockchain – what does that
mean for overall application latency?
Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber16 |
Latency simulation
Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber17 |
Latency: what if we change required
number of confirmation blocks?
Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber18 |
1 block 6 blocks
12 blocks
Using Smart Contracts for Business
Process Monitoring and Execution
Based on [4,5]
Motivation
• Integration of business processes across organizations:
a key driver of productivity gains.
• Collaborative process execution
• Doable when there is trust – supply chains can be tightly
integrated
• Problematic when involved organizations have a lack of trust in
each other
 if 3+ parties should collaborate, where to execute the process
that ties them together?
• Common situation in “coopetition”
Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber20 |
Motivation: example
Issues:
- Knowing the status, tracking correct execution
- Handling payments
- Resolving conflicts
 Trusted 3rd party ?
 Blockchain!
Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber21 |
Approach in a nutshell
• Goal: execute collaborative business processes as smart
contracts
• Translate (enriched) BPMN to smart contract code
• Triggers act as bridge between Enterprise world and blockchain
• Smart contract does:
– Independent, global process monitoring
– Conformance checking: only expected messages are accepted,
only from the respective role
– Automatic payments & escrow
– Data transformation
– Encryption
Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber22 |
Architecture
Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber23 |
Runtime
• Instantiation:
• New instance contract per process instance
• Assign accounts to roles during initialization
• Exchange keys and create secret key for the instance
• Messaging:
• Instead of sending direct WS calls: send through triggers & smart contract
• Instance contract handles:
– Global monitoring
– Conformance checking
– Automated payments*
– Data transformation*
Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber24 |
Runtime
• Instantiation:
• New instance contract per process instance
• Assign accounts to roles during initialization
• Exchange keys and create secret key for the instance
• Messaging:
• Instead of sending direct WS calls: send through triggers & smart contract
• Instance contract handles:
– Global monitoring
– Conformance checking
– Automated payments*
– Data transformation*
Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber25 |
Bulk Buyer BB Trigger
Smart
Contract
Manufact-
urer
Mf. Trigger
API call:
Order goods
Blockchain
Transaction
(BCTX)
Smart Contract effect
Check
conformance
API call
MiddlemanMm. Trigger
API call:
Place order
Execute
internal logic
BCTX
Smart Contract effect
Check
conformance
API call
Collaborative processes: variants
Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber26 |
Mediator (orchestration) Choreography  C-Monitor
Translator
• Translate subset of BPMN elements to Solidity
• BPMN Choreography diagrams or regular BPMN models with pools
27 |
Order goods
Bulk Buyer
Manufacturer
Place order for
supplies
Manufacturer
Middleman
+
Forward order for
supplies
Middleman
Supplier
Place order for
transport
Middleman
Special carrier
+
Deliver supplies
Special carrier
Manufacturer
Report start of
production
Manufacturer
Bulk Buyer
Deliver goods
Manufacturer
Bulk Buyer
Send waybill
Supplier
Special carrier
Request details
Special carrier
Supplier
Provide details
Supplier
Special carrier
Translator
28 |
Translator
1.Translate BPMN control flow to WFnet (proven to be safe)
29 |
Translator
1.Translate BPMN control flow to WFnet (proven to be safe)
2.Capture dataflow and conditions
30 |
Translator
1.Translate BPMN control flow to WFnet (proven to be safe)
2.Capture dataflow and conditions
3.Reduce WFnet and annotate dataflow
31 |
Translator
1.Translate BPMN control flow to WFnet (proven to be safe)
2.Capture dataflow and conditions
3.Reduce WFnet and annotate dataflow
4.Translate into Solidity code
• Status of the process is kept in a bit vector
• Updates are bit-wise operations
32 |
Translator
1.Translate BPMN control flow to WFnet (proven to be safe)
2.Capture dataflow and conditions
3.Reduce WFnet and annotate dataflow
4.Translate into Solidity code
• Status of the process is kept in a bit vector
• Updates are bit-wise operations
33 |
Bit vector update: set pos 1 to “0” set pos 2 and 3 to “1”
Bit vector check: does pos 1
have value “1”?
Payments, escrow, data handling
• Payment / escrow using crypto-coins:
• Instance contract has an account
• Only the contract code governs what gets paid out, but anyone can pay in
• Contract can base validity of transactions on associated payments
• Anyone can see balance of the contract – enables trust:
– All parties know when the money is there
– The contract code specifies who gets paid how much, and when
• Data:
• Status update data has to readable for the contract, most other data can be
encrypted
– Data used in conditions has to be readable
• Sending data over blockchain is costly – can split on-chain vs. off-chain
– On-chain: URI to the data + hash
– Off-chain: reachable and addressable data store (IPFS, S3, ...)
Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber34 |
Evaluation (1/3)
• 4 use case processes, 1 of them from industry with 5316 traces
and 65K events
• Executed ~150K transactions on private and 256 TXs on public
Ethereum blockchain
1.Correct execution (conformance checking): 100% correct
classification
2.Cost:
• Per process instance: cost on average of 0.0347 Ether (~$0.40) before
optimization
• After optimization:
– About 25% reduction for industrial process (Opt-CF)
– Up to 75% reduction if smart contract can be reused (Opt-Full)
Evaluation (1/3)
• 4 use case processes, 1 of them from industry with 5316 traces
and 65K events
• Executed ~150K transactions on private and 256 TXs on public
Ethereum blockchain
1.Correct execution (conformance checking): 100% correct
classification
2.Cost:
• Per process instance: cost on average of 0.0347 Ether (~$0.40) before
optimization
• After optimization:
– About 25% reduction for industrial process (Opt-CF)
– Up to 75% reduction if smart contract can be reused (Opt-Full)
Evaluation (2/3)
3. Latency and throughput
• Primary source of latency: mining time
– Public Ethereum blockchain: median time between blocks set to 13-15s
– Private blockchain: can control it
Evaluation (2/3)
3. Latency and throughput
• Primary source of latency: mining time
– Public Ethereum blockchain: median time between blocks set to 13-15s
– Private blockchain: can control it
Evaluation (3/3)
4. Throughput: optimized implementation can fill up each block
• Limit: blockchain network-defined gas limit
• Unoptimized
• Control flow
optimized
• Fully optimized
Summary
• Blockchain is a hot topic
• Goal for AAP team: excellent science where there is genuine value
• Software design and model-driven development for applications
using blockchain
• Taxonomy and design process
• Latency simulation
• Cost comparison
• Model-driven development: registries and business processes
• Using Blockchain for process monitoring and execution
• Applicable in lack-of-trust settings for collaborative process execution
• Compile process model into smart contract, with highly beneficial features
www.csiro.au
Blockchains and Smart Contracts:
Architecture Design and Model-
Driven Development
Ingo Weber | Principal Research Scientist & Team Leader
Architecture & Analytics Platforms (AAP) team
ingo.weber@data61.csiro.au
May 2017
References
1. Xiwei Xu, Ingo Weber, Mark Staples, Liming Zhu, Jan Bosch, Len Bass, Cesare Pautasso, and Paul Rimba.
A taxonomy of blockchain-based systems for architecture design. In ICSA'17: IEEE International
Conference on Software Architecture, Gothenburg, Sweden, April 2017.
2. Paul Rimba, An Binh Tran, Ingo Weber, Mark Staples, Alexander Ponomarev, and Xiwei Xu. Comparing
blockchain and cloud services for business process execution. In ICSA'17: IEEE International Conference
on Software Architecture, short paper, Gothenburg, Sweden, April 2017.
3. Rajitha Yasaweerasinghelage, Mark Staples, and Ingo Weber. Predicting latency of blockchain-based
systems using architectural modelling and simulation. In ICSA'17: IEEE International Conference on
Software Architecture, short paper, Gothenburg, Sweden, April 2017.
4. Ingo Weber, Sherry Xu, Regis Riveret, Guido Governatori, Alexander Ponomarev and Jan Mendling.
Untrusted business process monitoring and execution using blockchain. In BPM'16: International
Conference on Business Process Management, Rio de Janeiro, Brazil , September, 2016
5. Luciano García-Bañuelos, Alexander Ponomarev, Marlon Dumas, and Ingo Weber. Optimized Execution
of Business Processes on Blockchain. In BPM'17: International Conference on Business Process
Management, Barcelona, Spain, September 2017
6. An Binh Tran, Xiwei Xu, Ingo Weber, Mark Staples, and Paul Rimba. Regerator: a registry generator for
blockchain. In CAiSE'17: International Conference on Advanced Information Systems Engineering,
Forum Track (demo), June 2017.
7. Xiwei Xu, Cesare Pautasso, Liming Zhu, Vincent Gramoli, Alexander Ponomarev, An Binh Tran and
Shiping Chen. The blockchain as a software connector. In: WICSA, Venice, Italy, April, 2016
8. Luke Anderson, Ralph Holz, Alexander Ponomarev, Paul Rimba, Ingo Weber. New kids on the block: an
analysis of modern blockchains. http://arxiv.org/abs/1606.06530

Contenu connexe

Tendances

Introduction to Self Sovereign Identity
Introduction to Self Sovereign IdentityIntroduction to Self Sovereign Identity
Introduction to Self Sovereign IdentityHeather Vescent
 
Blockchain Technology ppt project.pptx
Blockchain Technology ppt project.pptxBlockchain Technology ppt project.pptx
Blockchain Technology ppt project.pptxSahilBansal648873
 
Decentralized Identifiers (DIDs): The Fundamental Building Block of Self-Sove...
Decentralized Identifiers (DIDs): The Fundamental Building Block of Self-Sove...Decentralized Identifiers (DIDs): The Fundamental Building Block of Self-Sove...
Decentralized Identifiers (DIDs): The Fundamental Building Block of Self-Sove...SSIMeetup
 
Introduction to Self-Sovereign Identity
Introduction to Self-Sovereign IdentityIntroduction to Self-Sovereign Identity
Introduction to Self-Sovereign IdentityKaryl Fowler
 
Smart Contracts - The Blockchain Beyond Bitcoin
Smart Contracts - The Blockchain Beyond BitcoinSmart Contracts - The Blockchain Beyond Bitcoin
Smart Contracts - The Blockchain Beyond BitcoinJim McKeeth
 
Blockchain and Bitcoin
Blockchain and BitcoinBlockchain and Bitcoin
Blockchain and BitcoinHugo Rodrigues
 
OPA open policy agent
OPA open policy agentOPA open policy agent
OPA open policy agentKnoldus Inc.
 
Access Control Models: Controlling Resource Authorization
Access Control Models: Controlling Resource AuthorizationAccess Control Models: Controlling Resource Authorization
Access Control Models: Controlling Resource AuthorizationMark Niebergall
 
Introduction to Blockchain
Introduction to BlockchainIntroduction to Blockchain
Introduction to BlockchainJordan Harris
 
Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...
Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...
Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...Edureka!
 
The Blockchain and the Future of Cybersecurity
The Blockchain and the Future of CybersecurityThe Blockchain and the Future of Cybersecurity
The Blockchain and the Future of CybersecurityKevin Cedeño, CISM, CISA
 
Distributed systems and blockchain technology
Distributed systems and blockchain technologyDistributed systems and blockchain technology
Distributed systems and blockchain technologyAlket Cecaj
 
Secure Socket Layer
Secure Socket LayerSecure Socket Layer
Secure Socket LayerPina Parmar
 
Verifiable Credentials in Self-Sovereign Identity (SSI)
Verifiable Credentials in Self-Sovereign Identity (SSI)Verifiable Credentials in Self-Sovereign Identity (SSI)
Verifiable Credentials in Self-Sovereign Identity (SSI)Evernym
 
API Security Best Practices & Guidelines
API Security Best Practices & GuidelinesAPI Security Best Practices & Guidelines
API Security Best Practices & GuidelinesPrabath Siriwardena
 
ITLC HN 14 - Bizweb Microservices Architecture
ITLC HN 14  - Bizweb Microservices ArchitectureITLC HN 14  - Bizweb Microservices Architecture
ITLC HN 14 - Bizweb Microservices ArchitectureIT Expert Club
 
Security in the blockchain
Security in the blockchainSecurity in the blockchain
Security in the blockchainBellaj Badr
 
Blockchain Presentation
Blockchain PresentationBlockchain Presentation
Blockchain PresentationZied GUESMI
 

Tendances (20)

Introduction to Self Sovereign Identity
Introduction to Self Sovereign IdentityIntroduction to Self Sovereign Identity
Introduction to Self Sovereign Identity
 
Blockchain Technology ppt project.pptx
Blockchain Technology ppt project.pptxBlockchain Technology ppt project.pptx
Blockchain Technology ppt project.pptx
 
Decentralized Identifiers (DIDs): The Fundamental Building Block of Self-Sove...
Decentralized Identifiers (DIDs): The Fundamental Building Block of Self-Sove...Decentralized Identifiers (DIDs): The Fundamental Building Block of Self-Sove...
Decentralized Identifiers (DIDs): The Fundamental Building Block of Self-Sove...
 
Introduction to Self-Sovereign Identity
Introduction to Self-Sovereign IdentityIntroduction to Self-Sovereign Identity
Introduction to Self-Sovereign Identity
 
Hash crypto
Hash cryptoHash crypto
Hash crypto
 
Smart Contracts - The Blockchain Beyond Bitcoin
Smart Contracts - The Blockchain Beyond BitcoinSmart Contracts - The Blockchain Beyond Bitcoin
Smart Contracts - The Blockchain Beyond Bitcoin
 
Blockchain and Bitcoin
Blockchain and BitcoinBlockchain and Bitcoin
Blockchain and Bitcoin
 
OPA open policy agent
OPA open policy agentOPA open policy agent
OPA open policy agent
 
Access Control Models: Controlling Resource Authorization
Access Control Models: Controlling Resource AuthorizationAccess Control Models: Controlling Resource Authorization
Access Control Models: Controlling Resource Authorization
 
Introduction to Blockchain
Introduction to BlockchainIntroduction to Blockchain
Introduction to Blockchain
 
Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...
Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...
Blockchain 101 | Blockchain Tutorial | Blockchain Smart Contracts | Blockchai...
 
The Blockchain and the Future of Cybersecurity
The Blockchain and the Future of CybersecurityThe Blockchain and the Future of Cybersecurity
The Blockchain and the Future of Cybersecurity
 
Distributed systems and blockchain technology
Distributed systems and blockchain technologyDistributed systems and blockchain technology
Distributed systems and blockchain technology
 
Secure Socket Layer
Secure Socket LayerSecure Socket Layer
Secure Socket Layer
 
Verifiable Credentials in Self-Sovereign Identity (SSI)
Verifiable Credentials in Self-Sovereign Identity (SSI)Verifiable Credentials in Self-Sovereign Identity (SSI)
Verifiable Credentials in Self-Sovereign Identity (SSI)
 
API Security Best Practices & Guidelines
API Security Best Practices & GuidelinesAPI Security Best Practices & Guidelines
API Security Best Practices & Guidelines
 
ITLC HN 14 - Bizweb Microservices Architecture
ITLC HN 14  - Bizweb Microservices ArchitectureITLC HN 14  - Bizweb Microservices Architecture
ITLC HN 14 - Bizweb Microservices Architecture
 
DDS Security
DDS SecurityDDS Security
DDS Security
 
Security in the blockchain
Security in the blockchainSecurity in the blockchain
Security in the blockchain
 
Blockchain Presentation
Blockchain PresentationBlockchain Presentation
Blockchain Presentation
 

Similaire à Blockchains and Smart Contracts Architecture Design

Software Architecture and Model-Driven Engineering for Blockchain
Software Architecture and Model-Driven Engineering for BlockchainSoftware Architecture and Model-Driven Engineering for Blockchain
Software Architecture and Model-Driven Engineering for BlockchainIngo Weber
 
Blockchain: Background and Data61 Research Overview
Blockchain: Background and Data61 Research OverviewBlockchain: Background and Data61 Research Overview
Blockchain: Background and Data61 Research OverviewIngo Weber
 
Software Architecture and Model-driven Engineering for Blockchain Applications
Software Architecture and Model-driven Engineering for Blockchain ApplicationsSoftware Architecture and Model-driven Engineering for Blockchain Applications
Software Architecture and Model-driven Engineering for Blockchain ApplicationsIngo Weber
 
Blockchain and Services – Exploring the Links
Blockchain and Services – Exploring the LinksBlockchain and Services – Exploring the Links
Blockchain and Services – Exploring the LinksIngo Weber
 
Blockchain Technology Utilizationin Global Rakuten Ecosystem
Blockchain Technology Utilizationin Global Rakuten EcosystemBlockchain Technology Utilizationin Global Rakuten Ecosystem
Blockchain Technology Utilizationin Global Rakuten EcosystemRakuten Group, Inc.
 
Blockchain and its impact on Data Science and Financial Services
Blockchain and its impact on Data Science and Financial ServicesBlockchain and its impact on Data Science and Financial Services
Blockchain and its impact on Data Science and Financial ServicesRatnakar Pandey
 
Blockchain and Internet of Things
Blockchain and Internet of ThingsBlockchain and Internet of Things
Blockchain and Internet of ThingsValerie Lampkin
 
IBM Bluemix Nice Meetup #4-20170302 6 Meetup @INRIA - BlockChain
IBM Bluemix Nice Meetup #4-20170302 6 Meetup @INRIA - BlockChainIBM Bluemix Nice Meetup #4-20170302 6 Meetup @INRIA - BlockChain
IBM Bluemix Nice Meetup #4-20170302 6 Meetup @INRIA - BlockChainIBM France Lab
 
Innovation potential of the blockchain, and of decentralized applications
Innovation potential of the blockchain, and of decentralized applicationsInnovation potential of the blockchain, and of decentralized applications
Innovation potential of the blockchain, and of decentralized applicationsJan Brejcha
 
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 ApplicationsIngo Weber
 
Blockchain in IT.pptx
Blockchain in IT.pptxBlockchain in IT.pptx
Blockchain in IT.pptxssuser3ab054
 
IBM Blockchain Platform - Architectural Good Practices v1.0
IBM Blockchain Platform - Architectural Good Practices v1.0IBM Blockchain Platform - Architectural Good Practices v1.0
IBM Blockchain Platform - Architectural Good Practices v1.0Matt Lucas
 
Ibm system storage solutions handbook
Ibm system storage solutions handbook Ibm system storage solutions handbook
Ibm system storage solutions handbook Diego Alberto Tamayo
 
Blockchain explained cata
Blockchain explained   cataBlockchain explained   cata
Blockchain explained cataMogul Marketing
 
Blockchain & Islamic Finance
Blockchain & Islamic FinanceBlockchain & Islamic Finance
Blockchain & Islamic FinanceFarrukh Habib
 
Take Your Business to the Next Level with Blockchain - Codit Webinar
Take Your Business to the Next Level with Blockchain - Codit WebinarTake Your Business to the Next Level with Blockchain - Codit Webinar
Take Your Business to the Next Level with Blockchain - Codit WebinarCodit
 
Introduction to Blockchain and Smart Contracts
Introduction to Blockchain and Smart ContractsIntroduction to Blockchain and Smart Contracts
Introduction to Blockchain and Smart ContractsSaad Zaher
 
Introduction to blockchain
Introduction to blockchainIntroduction to blockchain
Introduction to blockchainAniket Singh
 
Apics 2017 samelson (final) blockchain
Apics 2017 samelson (final)   blockchain Apics 2017 samelson (final)   blockchain
Apics 2017 samelson (final) blockchain Quentin Samelson
 

Similaire à Blockchains and Smart Contracts Architecture Design (20)

Software Architecture and Model-Driven Engineering for Blockchain
Software Architecture and Model-Driven Engineering for BlockchainSoftware Architecture and Model-Driven Engineering for Blockchain
Software Architecture and Model-Driven Engineering for Blockchain
 
Blockchain: Background and Data61 Research Overview
Blockchain: Background and Data61 Research OverviewBlockchain: Background and Data61 Research Overview
Blockchain: Background and Data61 Research Overview
 
Software Architecture and Model-driven Engineering for Blockchain Applications
Software Architecture and Model-driven Engineering for Blockchain ApplicationsSoftware Architecture and Model-driven Engineering for Blockchain Applications
Software Architecture and Model-driven Engineering for Blockchain Applications
 
Blockchain and Services – Exploring the Links
Blockchain and Services – Exploring the LinksBlockchain and Services – Exploring the Links
Blockchain and Services – Exploring the Links
 
Blockchain Technology Utilizationin Global Rakuten Ecosystem
Blockchain Technology Utilizationin Global Rakuten EcosystemBlockchain Technology Utilizationin Global Rakuten Ecosystem
Blockchain Technology Utilizationin Global Rakuten Ecosystem
 
Blockchain and its impact on Data Science and Financial Services
Blockchain and its impact on Data Science and Financial ServicesBlockchain and its impact on Data Science and Financial Services
Blockchain and its impact on Data Science and Financial Services
 
Blockchain and Internet of Things
Blockchain and Internet of ThingsBlockchain and Internet of Things
Blockchain and Internet of Things
 
IBM Bluemix Nice Meetup #4-20170302 6 Meetup @INRIA - BlockChain
IBM Bluemix Nice Meetup #4-20170302 6 Meetup @INRIA - BlockChainIBM Bluemix Nice Meetup #4-20170302 6 Meetup @INRIA - BlockChain
IBM Bluemix Nice Meetup #4-20170302 6 Meetup @INRIA - BlockChain
 
Innovation potential of the blockchain, and of decentralized applications
Innovation potential of the blockchain, and of decentralized applicationsInnovation potential of the blockchain, and of decentralized applications
Innovation potential of the blockchain, and of decentralized applications
 
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 in IT.pptx
Blockchain in IT.pptxBlockchain in IT.pptx
Blockchain in IT.pptx
 
IBM Blockchain Platform - Architectural Good Practices v1.0
IBM Blockchain Platform - Architectural Good Practices v1.0IBM Blockchain Platform - Architectural Good Practices v1.0
IBM Blockchain Platform - Architectural Good Practices v1.0
 
Ibm system storage solutions handbook
Ibm system storage solutions handbook Ibm system storage solutions handbook
Ibm system storage solutions handbook
 
Blockchain explained cata
Blockchain explained   cataBlockchain explained   cata
Blockchain explained cata
 
Blockchain & Islamic Finance
Blockchain & Islamic FinanceBlockchain & Islamic Finance
Blockchain & Islamic Finance
 
Take Your Business to the Next Level with Blockchain - Codit Webinar
Take Your Business to the Next Level with Blockchain - Codit WebinarTake Your Business to the Next Level with Blockchain - Codit Webinar
Take Your Business to the Next Level with Blockchain - Codit Webinar
 
Introduction to Blockchain and Smart Contracts
Introduction to Blockchain and Smart ContractsIntroduction to Blockchain and Smart Contracts
Introduction to Blockchain and Smart Contracts
 
Introduction to blockchain
Introduction to blockchainIntroduction to blockchain
Introduction to blockchain
 
Blockchain for the Enterprise
Blockchain for the EnterpriseBlockchain for the Enterprise
Blockchain for the Enterprise
 
Apics 2017 samelson (final) blockchain
Apics 2017 samelson (final)   blockchain Apics 2017 samelson (final)   blockchain
Apics 2017 samelson (final) blockchain
 

Plus de Ingo Weber

Keynote: Blockchain Technology: a Sustainable Concept for the Future?
Keynote: Blockchain Technology: a Sustainable Concept for the Future?Keynote: Blockchain Technology: a Sustainable Concept for the Future?
Keynote: Blockchain Technology: a Sustainable Concept for the Future?Ingo Weber
 
A Technical Focus on Business Process Management – Past, Present, and Emergin...
A Technical Focus on Business Process Management – Past, Present, and Emergin...A Technical Focus on Business Process Management – Past, Present, and Emergin...
A Technical Focus on Business Process Management – Past, Present, and Emergin...Ingo Weber
 
Programmable Money and Business Process Management on Blockchain
Programmable Money and Business Process Management on BlockchainProgrammable Money and Business Process Management on Blockchain
Programmable Money and Business Process Management on BlockchainIngo Weber
 
Blockchain Application Design and Development, and the Case of Programmable M...
Blockchain Application Design and Development, and the Case of Programmable M...Blockchain Application Design and Development, and the Case of Programmable M...
Blockchain Application Design and Development, and the Case of Programmable M...Ingo Weber
 
Analysing Data from Blockchains - Keynote @ SOCCA 2020
Analysing Data from Blockchains - Keynote @ SOCCA 2020Analysing Data from Blockchains - Keynote @ SOCCA 2020
Analysing Data from Blockchains - Keynote @ SOCCA 2020Ingo Weber
 
Behavioral Analytics and Blockchain Applications – a Reliability View. Keynot...
Behavioral Analytics and Blockchain Applications – a Reliability View. Keynot...Behavioral Analytics and Blockchain Applications – a Reliability View. Keynot...
Behavioral Analytics and Blockchain Applications – a Reliability View. Keynot...Ingo Weber
 

Plus de Ingo Weber (6)

Keynote: Blockchain Technology: a Sustainable Concept for the Future?
Keynote: Blockchain Technology: a Sustainable Concept for the Future?Keynote: Blockchain Technology: a Sustainable Concept for the Future?
Keynote: Blockchain Technology: a Sustainable Concept for the Future?
 
A Technical Focus on Business Process Management – Past, Present, and Emergin...
A Technical Focus on Business Process Management – Past, Present, and Emergin...A Technical Focus on Business Process Management – Past, Present, and Emergin...
A Technical Focus on Business Process Management – Past, Present, and Emergin...
 
Programmable Money and Business Process Management on Blockchain
Programmable Money and Business Process Management on BlockchainProgrammable Money and Business Process Management on Blockchain
Programmable Money and Business Process Management on Blockchain
 
Blockchain Application Design and Development, and the Case of Programmable M...
Blockchain Application Design and Development, and the Case of Programmable M...Blockchain Application Design and Development, and the Case of Programmable M...
Blockchain Application Design and Development, and the Case of Programmable M...
 
Analysing Data from Blockchains - Keynote @ SOCCA 2020
Analysing Data from Blockchains - Keynote @ SOCCA 2020Analysing Data from Blockchains - Keynote @ SOCCA 2020
Analysing Data from Blockchains - Keynote @ SOCCA 2020
 
Behavioral Analytics and Blockchain Applications – a Reliability View. Keynot...
Behavioral Analytics and Blockchain Applications – a Reliability View. Keynot...Behavioral Analytics and Blockchain Applications – a Reliability View. Keynot...
Behavioral Analytics and Blockchain Applications – a Reliability View. Keynot...
 

Dernier

Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 

Dernier (20)

Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 

Blockchains and Smart Contracts Architecture Design

  • 1. www.csiro.au Blockchains and Smart Contracts: Architecture Design and Model- Driven Development Ingo Weber | Principal Research Scientist & Team Leader Architecture & Analytics Platforms (AAP) team ingo.weber@data61.csiro.au May 2017
  • 2. Blockchain Research at Data61 (AAP Focus)
  • 3. Blockchain Research at Data61 • Designing Systems with Blockchain – Design Trade-offs – Model-driven development – Governance and risk management • Trustworthy Blockchain Systems – Formal – Empirical Blockchain | Data61, CSIRO3 | • Defining and Using Smart Contracts – As Legal Contracts – Business Process
  • 4. Designing Systems with Blockchain Data61 : Preliminary Findings on Blockchain/DLT Projects4 | • Design Process • A taxonomy of blockchain-based systems for architecture design, X. Xu, I. Weber, M. Staples et al., ICSA2017. • The blockchain as a software connector, X. Xu, C. Pautasso, L. Zhu et al., WICSA2016. • Quality Analysis • Comparing blockchain and cloud services for business process execution, P. Rimba, A. B. Tran, I. Weber et al., ICSA2017. • Predicting latency of blockchain-based systems using architectural modelling and simulation, R. Yasaweerasinghelage, M. Staples and I. Weber, ICSA2017. • Model-Driven • Regerator: a Registry Generator for Blockchain, A. B. Tran, X. Xu, I. Weber, CAISE2017. • From business process models, see next slide • Integration with other systems • EthDrive: A Peer-to-Peer Data Storage with Provenance, X. L. Yu, X. Xu, B. Liu, CAISE2017. • Governance and risk management • Risks and Opportunities for Systems Using Blockchain and Smart Contracts, Treasury report
  • 5. Defining and Using Smart Contracts Data61 : Preliminary Findings on Blockchain/DLT Projects5 | • Business Process • Untrusted business process monitoring and execution using blockchain, I. Weber, X. Xu, R. Riveret et al., BPM2016 • Optimized Execution of Business Processes on Blockchain, L. García-Bañuelos, A. Ponomarev, M. Dumas, Ingo Weber, BPM2017 • As Legal Contracts • Evaluation of Logic-Based Smart Contracts for Blockchain Systems, F. Idelberg, G. Governatori, R. Riveret et al., RuleML2016
  • 6. Trustworthy Blockchain Systems Data61 : Preliminary Findings on Blockchain/DLT Projects6 | • Formal • The Blockchain Anomaly, C. Natoli, V. Gramoli, NCA2016 • On the Danger of Private Blockchains, V. Gramoli,DCCL2016 • (Leader/Randomization/Signature)-free Byzantine Consensus for Consortium Blockchains, T. Crain, V. Gramoli, M. Larrea, M. Raynal, arXiv:1702.03068, 2016 • Empirical • New kids on the block: an analysis of modern blockchains, L. Anderson, R. Holz, A. Ponomarev et al., arXiv:1606:06530, 2016 • ...
  • 7. Projects with Australian Treasury • DLT Foresight – What might plausibly happen, across society & economy? • Blockchain Proof-of-Concepts – What are technical risks & opportunities for use cases? Blockchain | Data61, CSIRO7 | • Jul 2016 – Mar 2017 • Funded by National Innovation Science Agenda • With assistance of The Treasury
  • 9. Overview • Many interesting applications for Blockchain • Basically of interest in most lack-of-trust settings where a distributed application can coordinate multiple parties • Examples: – Supply chains – Handling of titles, e.g., land, water, vehicles – Identity • Many startups and initiatives from enterprises / governments • ... but also many challenges • When to use blockchain • Trade-offs in architecture – Downsides: cost, latency, confidentiality – What to handle on-chain, what off-chain? Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber9 |
  • 10. Our work – AAP team • Architecting applications on Blockchain: • Taxonomy and design process [1] • “Cost of Distrust”: how much more expensive is blockchain? [2] • Latency: simulation under changes [3] • Model-driven development of smart contracts • Business process execution [4,5] • Model-based generation of registries and UIs: “Regerator” [6] Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber10 |
  • 11. Taxonomy Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber11 | Blockchain-related design decisions regarding (de)centralisation, with an indication of their relative impact on quality properties Legend: ⊕: Less favourable, ⊕⊕: Neutral, ⊕⊕⊕: More favourable
  • 12. Taxonomy Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber12 | Blockchain-related design decisions regarding storage and computation, with an indication of their relative impact on quality properties
  • 13. Taxonomy Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber13 | Blockchain-related design decisions regarding blockchain configuration
  • 14. Proposed design process (using Taxonomy) Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber14 |
  • 15. Cost of Distrust • RQ: How much more expensive is blockchain over Cloud services? • Lens: business process execution • AWS SWF vs. Ethereum public blockchain – In both cases: pay per instruction • Experiments on two use cases: – Incident management (literature) – 32 instances on public Ethereum vs. 1000 runs on SWF – Invoicing (industry, 5316 log traces, 65K events) – Full log replayed on SWF and private Ethereum • Result: • 2 orders of magnitude more expensive to use blockchain • ~US$ 0.35 per process instance on public blockchain – outweighed by cost of escrow (if needed) for about US$ 10 of value Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber15 |
  • 16. Latency simulation • Goal: predict latency for blockchain-based application before building it • Challenge specifically for latency: mean and variation • Means: Architecture performance modeling • Paladio Component Models with individual latency distributions + connections + probability of branching • Allows changing the models for What-If analysis • For instance: change inter-block time on private blockchain – what does that mean for overall application latency? Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber16 |
  • 17. Latency simulation Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber17 |
  • 18. Latency: what if we change required number of confirmation blocks? Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber18 | 1 block 6 blocks 12 blocks
  • 19. Using Smart Contracts for Business Process Monitoring and Execution Based on [4,5]
  • 20. Motivation • Integration of business processes across organizations: a key driver of productivity gains. • Collaborative process execution • Doable when there is trust – supply chains can be tightly integrated • Problematic when involved organizations have a lack of trust in each other  if 3+ parties should collaborate, where to execute the process that ties them together? • Common situation in “coopetition” Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber20 |
  • 21. Motivation: example Issues: - Knowing the status, tracking correct execution - Handling payments - Resolving conflicts  Trusted 3rd party ?  Blockchain! Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber21 |
  • 22. Approach in a nutshell • Goal: execute collaborative business processes as smart contracts • Translate (enriched) BPMN to smart contract code • Triggers act as bridge between Enterprise world and blockchain • Smart contract does: – Independent, global process monitoring – Conformance checking: only expected messages are accepted, only from the respective role – Automatic payments & escrow – Data transformation – Encryption Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber22 |
  • 23. Architecture Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber23 |
  • 24. Runtime • Instantiation: • New instance contract per process instance • Assign accounts to roles during initialization • Exchange keys and create secret key for the instance • Messaging: • Instead of sending direct WS calls: send through triggers & smart contract • Instance contract handles: – Global monitoring – Conformance checking – Automated payments* – Data transformation* Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber24 |
  • 25. Runtime • Instantiation: • New instance contract per process instance • Assign accounts to roles during initialization • Exchange keys and create secret key for the instance • Messaging: • Instead of sending direct WS calls: send through triggers & smart contract • Instance contract handles: – Global monitoring – Conformance checking – Automated payments* – Data transformation* Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber25 | Bulk Buyer BB Trigger Smart Contract Manufact- urer Mf. Trigger API call: Order goods Blockchain Transaction (BCTX) Smart Contract effect Check conformance API call MiddlemanMm. Trigger API call: Place order Execute internal logic BCTX Smart Contract effect Check conformance API call
  • 26. Collaborative processes: variants Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber26 | Mediator (orchestration) Choreography  C-Monitor
  • 27. Translator • Translate subset of BPMN elements to Solidity • BPMN Choreography diagrams or regular BPMN models with pools 27 | Order goods Bulk Buyer Manufacturer Place order for supplies Manufacturer Middleman + Forward order for supplies Middleman Supplier Place order for transport Middleman Special carrier + Deliver supplies Special carrier Manufacturer Report start of production Manufacturer Bulk Buyer Deliver goods Manufacturer Bulk Buyer Send waybill Supplier Special carrier Request details Special carrier Supplier Provide details Supplier Special carrier
  • 29. Translator 1.Translate BPMN control flow to WFnet (proven to be safe) 29 |
  • 30. Translator 1.Translate BPMN control flow to WFnet (proven to be safe) 2.Capture dataflow and conditions 30 |
  • 31. Translator 1.Translate BPMN control flow to WFnet (proven to be safe) 2.Capture dataflow and conditions 3.Reduce WFnet and annotate dataflow 31 |
  • 32. Translator 1.Translate BPMN control flow to WFnet (proven to be safe) 2.Capture dataflow and conditions 3.Reduce WFnet and annotate dataflow 4.Translate into Solidity code • Status of the process is kept in a bit vector • Updates are bit-wise operations 32 |
  • 33. Translator 1.Translate BPMN control flow to WFnet (proven to be safe) 2.Capture dataflow and conditions 3.Reduce WFnet and annotate dataflow 4.Translate into Solidity code • Status of the process is kept in a bit vector • Updates are bit-wise operations 33 | Bit vector update: set pos 1 to “0” set pos 2 and 3 to “1” Bit vector check: does pos 1 have value “1”?
  • 34. Payments, escrow, data handling • Payment / escrow using crypto-coins: • Instance contract has an account • Only the contract code governs what gets paid out, but anyone can pay in • Contract can base validity of transactions on associated payments • Anyone can see balance of the contract – enables trust: – All parties know when the money is there – The contract code specifies who gets paid how much, and when • Data: • Status update data has to readable for the contract, most other data can be encrypted – Data used in conditions has to be readable • Sending data over blockchain is costly – can split on-chain vs. off-chain – On-chain: URI to the data + hash – Off-chain: reachable and addressable data store (IPFS, S3, ...) Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber34 |
  • 35. Evaluation (1/3) • 4 use case processes, 1 of them from industry with 5316 traces and 65K events • Executed ~150K transactions on private and 256 TXs on public Ethereum blockchain 1.Correct execution (conformance checking): 100% correct classification 2.Cost: • Per process instance: cost on average of 0.0347 Ether (~$0.40) before optimization • After optimization: – About 25% reduction for industrial process (Opt-CF) – Up to 75% reduction if smart contract can be reused (Opt-Full)
  • 36. Evaluation (1/3) • 4 use case processes, 1 of them from industry with 5316 traces and 65K events • Executed ~150K transactions on private and 256 TXs on public Ethereum blockchain 1.Correct execution (conformance checking): 100% correct classification 2.Cost: • Per process instance: cost on average of 0.0347 Ether (~$0.40) before optimization • After optimization: – About 25% reduction for industrial process (Opt-CF) – Up to 75% reduction if smart contract can be reused (Opt-Full)
  • 37. Evaluation (2/3) 3. Latency and throughput • Primary source of latency: mining time – Public Ethereum blockchain: median time between blocks set to 13-15s – Private blockchain: can control it
  • 38. Evaluation (2/3) 3. Latency and throughput • Primary source of latency: mining time – Public Ethereum blockchain: median time between blocks set to 13-15s – Private blockchain: can control it
  • 39. Evaluation (3/3) 4. Throughput: optimized implementation can fill up each block • Limit: blockchain network-defined gas limit • Unoptimized • Control flow optimized • Fully optimized
  • 40. Summary • Blockchain is a hot topic • Goal for AAP team: excellent science where there is genuine value • Software design and model-driven development for applications using blockchain • Taxonomy and design process • Latency simulation • Cost comparison • Model-driven development: registries and business processes • Using Blockchain for process monitoring and execution • Applicable in lack-of-trust settings for collaborative process execution • Compile process model into smart contract, with highly beneficial features
  • 41. www.csiro.au Blockchains and Smart Contracts: Architecture Design and Model- Driven Development Ingo Weber | Principal Research Scientist & Team Leader Architecture & Analytics Platforms (AAP) team ingo.weber@data61.csiro.au May 2017
  • 42. References 1. Xiwei Xu, Ingo Weber, Mark Staples, Liming Zhu, Jan Bosch, Len Bass, Cesare Pautasso, and Paul Rimba. A taxonomy of blockchain-based systems for architecture design. In ICSA'17: IEEE International Conference on Software Architecture, Gothenburg, Sweden, April 2017. 2. Paul Rimba, An Binh Tran, Ingo Weber, Mark Staples, Alexander Ponomarev, and Xiwei Xu. Comparing blockchain and cloud services for business process execution. In ICSA'17: IEEE International Conference on Software Architecture, short paper, Gothenburg, Sweden, April 2017. 3. Rajitha Yasaweerasinghelage, Mark Staples, and Ingo Weber. Predicting latency of blockchain-based systems using architectural modelling and simulation. In ICSA'17: IEEE International Conference on Software Architecture, short paper, Gothenburg, Sweden, April 2017. 4. Ingo Weber, Sherry Xu, Regis Riveret, Guido Governatori, Alexander Ponomarev and Jan Mendling. Untrusted business process monitoring and execution using blockchain. In BPM'16: International Conference on Business Process Management, Rio de Janeiro, Brazil , September, 2016 5. Luciano García-Bañuelos, Alexander Ponomarev, Marlon Dumas, and Ingo Weber. Optimized Execution of Business Processes on Blockchain. In BPM'17: International Conference on Business Process Management, Barcelona, Spain, September 2017 6. An Binh Tran, Xiwei Xu, Ingo Weber, Mark Staples, and Paul Rimba. Regerator: a registry generator for blockchain. In CAiSE'17: International Conference on Advanced Information Systems Engineering, Forum Track (demo), June 2017. 7. Xiwei Xu, Cesare Pautasso, Liming Zhu, Vincent Gramoli, Alexander Ponomarev, An Binh Tran and Shiping Chen. The blockchain as a software connector. In: WICSA, Venice, Italy, April, 2016 8. Luke Anderson, Ralph Holz, Alexander Ponomarev, Paul Rimba, Ingo Weber. New kids on the block: an analysis of modern blockchains. http://arxiv.org/abs/1606.06530