SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Downloaden Sie, um offline zu lesen
www.csiro.au
Software Architecture and
Model-driven Engineering for
Blockchain Applications
Ingo Weber | Principal Research Scientist & Team Leader
Architecture & Analytics Platforms (AAP) team
ingo.weber@data61.csiro.au | linkedin.com/in/ingomweber/ | Twitter: @ingomweber
Conj. Assoc. Professor, UNSW Australia | Adj. Assoc. Professor, Swinburne University
Blockchain Background and Terminology
From our recent book:
Xiwei Xu, Ingo Weber, Mark Staples
Architecture for Blockchain Applications
Springer, 2019
Blockchain
5 |
Organization 1 Organization 2 Organization 1 Organization 2
Centralized Trusted Authority
Traditional trusted environment Blockchain trustless environment
Blockchain network
Blockchain 2nd gen – Smart Contracts
Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber8 |
• 1st gen Bitcoin transactions are financial transfers
• Now Blockchain ledger can do that, and
store/transact any kind of data
• Blockchain can deploy and execute programs: Smart Contracts
• User-defined code, deployed on and executed by whole
network
• Can enact decisions on complex business conditions
• Can hold and transfer assets, managed by the contract itself
• Ethereum: pay per assembler-level instruction
Visualization of a Blockchain http://ethviewer.live
Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber9 |
Blockchain Terminology
From our recent book:
Xiwei Xu, Ingo Weber, Mark Staples.
Architecture for Blockchain Applications.
Springer, 2019.
eBook:
http://dx.doi.org/10.1007/978-3-030-03035-3
Amazon:
http://tinyurl.com/blockchain-architecture-book
Ingo Weber10 |
Blockchain defined (1/4)
• Definition 1 (Distributed Ledger). A Distributed Ledger is an
append-only store of transactions which is distributed across many
machines.
• Definition 2 (Blockchain (Concept)). A Blockchain is a distributed
ledger that is structured into a linked list of blocks. Each block
contains an ordered set of transactions. Typical solutions use
cryptographic hashes to secure the link from a block to its
predecessor.
Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber11 |
Blockchain defined (2/4)
• Definition 3 (Blockchain System). A Blockchain System
consists of:
• a blockchain network of machines, also called nodes;
• a blockchain data structure, for the ledger that is replicated
across the blockchain network. Nodes that hold a full replica of
this ledger are referred to as full nodes;
• a network protocol that defines rights, responsibilities, and
means of communication, verification, validation, and consensus
across the nodes in the network. This includes ensuring
authorization and authentication of new transactions,
mechanisms for appending new blocks, incentive mechanisms (if
needed), and similar aspects.
Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber12 |
Blockchain defined (3/4)
• Definition 4 (Public Blockchain). A Public Blockchain is a
blockchain system that has the following characteristics:
• it has an open network where nodes can join and leave as they
please without requiring permission from anyone;
• all full nodes in the network can verify each new piece of data
added to the data structure, including blocks, transactions, and
effects of transactions; and
• its protocol includes an incentive mechanism that aims to ensure
the correct operation of the blockchain system including that
valid transactions are processed and included in the ledger, and
that invalid transactions are rejected.
Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber13 |
Blockchain defined (4/4)
• Definition 5 (Blockchain Platform). A blockchain platform is the
technology needed to operate a blockchain. This comprises the
blockchain client software for processing nodes, the local data
store for nodes, and any alternative clients to access the
blockchain network.
• Definition 6 (Smart Contract). Smart contracts are programs
deployed as data in the blockchain ledger, and executed in
transactions on the blockchain. Smart contracts can hold and
transfer digital assets managed by the blockchain, and can invoke
other smart contracts stored on the blockchain. Smart contract
code is deterministic and immutable once deployed.
• Definition 7 (dapp). A decentralized application or dapp is a
software system that is designed to provide its main functionality
through smart contracts.
Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber14 |
Blockchain Research of the AAP team, Data61
Blockchain Research at Data61
Overview
D61+Live | BlockchainSystems16 |
• Supply Chain / Food
Provenance
• Trade facilitation
• Resource handling
(energy, water, land,
titles)
• Welfare payments
• International trade
• Empirical research on the use of
blockchain
• Dealing with irreversibleblockchain
transactions in software engineering
• Devising approaches, including
model-drivendevelopment tools,
better blockchainclient software,
etc.
• Software Engineering & Architecture
• Business Process Management
• Cyber Security
• Dependability
Approaches
Outcomes
CoreExpertiseDomains
• Distributed Ledger
Technologies
• Blockchain platforms
• Smart contracts
• On/off Blockchain storage
Technology • Identifying design trade-offs
• Identifying Technical Risks &
Opportunities
• Formal and empirical evaluation of
Blockchain systems
Designing Systems with Blockchain
• Design Process, including Suitability Analysis
• 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
• Quantifying the cost of distrust: Comparing blockchain and cloud services for
business process execution. P. Rimba, A. B. Tran, I. Weber et al., Information
Systems Frontiers, accepted August 2018 (previously SCAC 2017)
• 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.
• Designs & Design Patterns
• A pattern collection for blockchain-based applications. X. Xu, C. Pautasso, L., Q.
Lu, and I. Weber, EuroPLoP 2018
• A platform architecture for multi-tenant blockchain-based systems. I. Weber,
Q. Lu, A. B. Tran, A. Deshmukh, M. Gorski, M. Strazds, ICSA 2019
• 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
Data61 : Preliminary Findings on Blockchain/DLTProjects18 |
Model-driven Engineering
• Business Process Execution
• Untrusted business process monitoring and execution
using blockchain,
I. Weber, X. Xu, R. Riveret et al., BPM 2016
• Optimized Execution of Business Processes on Blockchain,
L. García-Bañuelos, A. Ponomarev, M. Dumas, Ingo Weber,
BPM 2017
• Caterpillar: A blockchain-based business process
management system, O. López-Pintado, L. García-Bañuelos,
M. Dumas, and I. Weber, BPM 2017 Demo
• Runtime verification for business processes utilizing the
Bitcoin blockchain, C. Prybila, S. Schulte, C. Hochreiner, and
I. Weber, FGCS 2018
• Dynamic role binding in blockchain-based collaborative
business processes, O. López-Pintado, M. Dumas, l. García-
Bañuelos, I. Weber
CAISE 2019
• Data / Asset Modeling
• Regerator: a Registry Generator for Blockchain, A. B. Tran,
X. Xu, I. Weber, CAISE 2017 Demo
• Combined Asset & Process Modeling
• Lorikeet: A Model-Driven Engineering Tool for Blockchain-
Based Business Process Execution and Asset Management
A. B. Tran, Q. Lu, I. Weber, BPM 2018 Demo
Data61 : Preliminary Findings on Blockchain/DLTProjects19 |
High and Low-level Views
• High-level Discussions
• How do machine learning, robotic process automation and blockchains affect the human factor in business process
management? Jan Mendling, Gero Decker, Richard Hull, Hajo A. Reijers, and Ingo Weber. Communications of the Association
for Information Systems (CAIS). Peer-reviewed panel paper. Accepted March 2018.
• Blockchains for business process management – challenges and opportunities. Jan Mendling, Ingo Weber, Wil Van Der Aalst,
Jan Vom Brocke, Cristina Cabanillas, Florian Daniel, Søren Debois, Claudio Di Ciccio, Marlon Dumas, Schahram Dustdar, Avigdor
Gal, Luciano García-Bañuelos, Guido Governatori, Richard Hull, Marcello La Rosa, Henrik Leopold, Frank Leymann, Jan Recker,
Manfred Reichert, Hajo A. Reijers, Stefanie Rinderle-Ma, Andreas Solti, Michael Rosemann, Stefan Schulte, Munindar P. Singh,
Tijs Slaats, Mark Staples, Barbara Weber, Matthias Weidlich, Mathias Weske, Xiwei Xu, and Liming Zhu ACM Transactions on
Management Information Systems (TMIS), 9(1):4:1-4:16. Peer-reviewed research commentary. February 2018.
Data61 : Preliminary Findings on Blockchain/DLTProjects20 |
• Empirical Analyses
• On availability for blockchain-based
systems, I. Weber, V. Gramoli et al.,
SRDS 2017
• New kids on the block: an analysis of
modern blockchains, L. Anderson, R.
Holz, A. Ponomarev et al.,
arXiv:1606:06530, 2016
Some Significant Projects
Blockchain | Data61,CSIRO21 |
Australian Treasury-funded (through National Innovation Science Agenda)
• Two reports, launched 6 June 2017
• DLT Foresight
– What might plausibly happen, across
society & economy?
• Technical Risks & Opportunities
– How do needs in various use cases fit
blockchain’s capabilities?
• See www.data61.csiro.au/blockchain
Making Money Smart project with Commonwealth Bank of Australia (CBA)
• Using “programmable money” for conditional payment system contexts
• The money has conditions attached, which are checked before transfers
• Use case: National Disability Insurance Scheme (NDIS)
• See https://www.data61.csiro.au/en/Our-Work/SmartMoney
Red Belly Blockchain (with USyd)
• New technology particularly for private / consortium blockchain
• In lab experiment achieved 660,000 tps with 300 nodes in one
data center, and > 30,000 tps with globally distributed nodes
Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber22 |
Architecting Applications on
Blockchain
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 Applicationin BPM | Ingo Weber25 |
Our work – AAP team
• Architecting applications on Blockchain:
• Book
• Taxonomy and design process
• “Cost of Distrust”: how much more expensive is blockchain?
– On some blockchains, cost and throuhgput are tightly linked
• Availability analysis from viewpoint of dapps
• Latency: simulation under changes
• Model-driven development of smart contracts
• Business process execution
• Model-based generation of code for data structures, non-
fungible and fungible tokens, and UI components
Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber26 |
Functions Blockchain can provide in a dapp
• Blockchain as…
Architectural
Element
Communi-
cation
Mechanism
Asset
Management
and Control
Mechanism
Storage
Element
Computational
Element
Blockchains are Not Stand-Alone Systems
Data61 : Preliminary Findings on Blockchain/DLTProjects28 |
UI for humans
IoT
integration
Auxiliary
databases
Legacy
systems
Key
management
private
data
BIG DATA
Blockchain is a component
Non-Functional Trade-Offs
• Compared to conventional database & script engines,
blockchains have:
(-) Confidentiality, Privacy
(+) Integrity, Non-repudiation
(+ read/ - write) Availability
(-) Modifiability
(-) Throughput / Scalability / Big Data
(+ read/ - write) Latency
Data61 : Preliminary Findings on Blockchain/DLTProjects29 |
Security: combination of
CIA properties
Design process
Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber30 |
Evaluation of Suitability
Software Architecture and Engineering for Blockchain-based Applications| Ingo Weber31 |
Taxonomy
Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber32 |
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 Applicationin BPM | Ingo Weber33 |
Blockchain-related design decisions regarding storage and computation, with an
indication of their relative impact on quality properties
Taxonomy
Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber34 |
Blockchain-related design decisions regarding blockchain configuration
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:
• Cost models for blockchain and cloud
– Can be adapted easily to current exchange rates
– Allow what-if cost analyses
• 2 orders of magnitude more expensive to use blockchain
– exchange rate: 1 Ether = US$ 11.32 (26/8/2016)
• ~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 Applicationin BPM | Ingo Weber35 |
Availability
• Availability: the system‘s readiness for correct service
• Blockchain as component: read: +++ ; write: ?
• Ethereum: 12 blocks confirmation is accepted, said to take 3 mins
• Measurements:
Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber36 |
Availability
• Potential issue: block gas limit
• Gas limit is set by miners through “voting”
• The sum of Gas of all transactions in a block must be less than the limit
• Response to DDoS attack: lower block gas limit
• Who would be affected by that?
Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber38 |
Model-driven Engineering for
Blockchain Applications
Model-driven Engineering & Blockchain
• Model-driven engineering (MDE):
• A methodology for using models at various levels of abstraction and for different
purposes during software development
• Low-level models: production code can be directly derived from the models
• High-level models: means of communication between business owners and
developers implementing a system
• Intermediate levels can support model-based system analysis or system
management tools
• Any level: generate a code skeleton or early version of the code
• Can cover static structures (like data models) or dynamic behavior (activity
sequences)
• Advantages in the blockchain context:
• Code generation can implement best practices and well-tested building blocks
– Code can adhere to blockchain “standards” (like ERC-20, ERC-721, …)
• Models can be independent of specific blockchain technologies or platforms
• Models are often easier to understand than code – particularly useful in
communicating with business partners about smart contracts
– Facilitates building trust
Ingo Weber42 |
MDE for data structures and tokens:
Fungible and Non-fungible Tokens
• Fungible tokens:
interchangeable
• E.g., $2 coin, $10 note
• Main concern: how many?
• Ethereum: ERC20 standard
– Example: OmiseGO (OMG).
“The OmiseGO blockchain comprises a
decentralized exchange, liquidity
provider mechanism, clearinghouse
messaging network, and asset-backed
blockchain gateway. … It uses the
mechanism of a protocol token to create
a proof-of-stake blockchain to enable
enforcement of market activity amongst
participants. Owning OMG tokens buys
the right to validate this blockchain,
within its consensus rules.”
• Non-fungible tokens
• E.g., houses, cars, patents
• Main concern: which ones?
• Ethereum: ERC721
– Example: cryptokitties
https://www.cryptokitties.co
– Kitties are non-fungible,
individual, and their
appearance depends on the
individual features
MDE for data structures and tokens
• Approach:
• Model data structure (variables, types) – not for fungible tokens
• Model relationships to other types / tokens
• Select features
 Code is generated – deploy or customize
• Feature examples:
• Fungible tokens:
– Can be minted? Burnt? By whom?
• Non-fungible tokens
– Include standard method(s) for sale
– One contract for all tokens or one per token?
• Code generated is compliant with standards
 interface syntax and semantics
Ingo Weber44 |
MDE for Processes – 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 Applicationin BPM | Ingo Weber45 |
Motivation: example
Issues:
- Knowing the status, tracking correct execution
- Handling payments
- Resolving conflicts
 Trusted 3rd party ?
 Blockchain!
Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber46 |
Approach in a nutshell
• Goal: implement collaborative business processes as smart
contracts
• Translate (enriched) BPMN to smart contract code
• Triggers act as bridge between Enterprise world and blockchain
• Smart contract provides:
– Independent, global process monitoring
– Conformance checking and process enforcement: only expected messages are
accepted, only from the respective role
– Automatic payments & escrow
– Data transformation
– Encryption
• Processes can make use of data / token contracts
• Process activity to hand over title to a car / shipment / grain / ..., e.g.,
in exchange for fungible tokens
Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber47 |
Tooling: Design and Runtime
Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber48 |
Tooling: Design and Runtime
Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber49 |
A Pattern Collection
Software Architecture and Engineering for Blockchain-based Applications| Ingo Weber50 |
Summary
• Architecting and developing
applications on Blockchain is challenging
• Our work:
• Software Architecture for Blockchain-based
applications
• Empirical and formal research on
Blockchains
• Model-driven development of smart
contracts
Book available here:
• eBook:
http://dx.doi.org/10.1007/978-3-030-03035-3
• Amazon:
http://tinyurl.com/blockchain-architecture-
book
www.csiro.au
Thank you
Ingo Weber | Principal Research Scientist & Team Leader
ingo.weber@data61.csiro.au | linkedin.com/in/ingomweber/ | Twitter: @ingomweber
Conj. Assoc. Professor, UNSW Australia | Adj. Assoc. Professor, Swinburne University
AAP team Blockchain research: https://research.csiro.au/data61/blockchain/
Blockchain reports: https://www.data61.csiro.au/blockchain/
References (1/3)
1. Xiwei Xu, Ingo Weber, and Mark Staples. Architecture for Blockchain Applications. Springer, 2019
2. Orlenys López-Pintado, Marlon Dumas, Luciano García-Bañuelos, and Ingo Weber. Dynamic role binding in blockchain-based collaborative
business processes. CAISE’19: International Conference on Advanced Information Systems Engineering, Rome, Italy, July 2019
3. Sin Kuang Lo, Xiwei Xu, Chen Wang, Ingo Weber, Paul Rimba, Qinghua Lu, and Mark Staples . Digital-Physical Parity for Food Fraud Detection.
ICBC’19: International Conference on Blockchain, San Diego, USA, June, 2019
4. Ingo Weber, Qinghua Lu, An Binh Tran, Amit Deshmukh, Marek Gorski, and Markus Strazds. A platform architecture for multi-tenant
blockchain-based systems. ICSA’19: IEEE International Conference on Software Architecture, Hamburg, Germany, April 2019
5. Xiwei Xu, Qinghua Lu, Yue Liu, Liming Zhu, Haonan Yao, Athanasios V Vasilakos. Designing blockchain-based applications: A case study for
imported product traceability. Future Generation Computer Systems. Published March 2019
6. Qinghua Lu, Xiwei Xu, Yue Liu, Weishan Zhang, Design Pattern as a Service for Blockchain Applications, ICDMW’2018: IEEE International
Conference on Data Mining Workshops, November 2018
7. An Binh Tran, Qinghua Lu, and Ingo Weber. Lorikeet: A model-driven engineering tool for blockchain-based business process execution and
asset management. In BPM'18: Intl. Conference on Business Process Management, Demo track, Sydney, NSW, Australia, September 2018.
8. Quantifying the cost of distrust: Comparing blockchain and cloud services for business process execution. Paul Rimba, An Binh Tran, Ingo
Weber, Mark Staples, Alexander Ponomarev, and Xiwei Xu. Information Systems Frontiers, Springer, in print, accepted August 2018
9. A Pattern Language for Blockchain-based Applications Xiwei Xu, Cesare Pautasso, Liming Zhu, Qinghua Lu, Ingo Weber EuroPLOP’18:
European Conference on Pattern Languages of Programs, Kloster Irsee, Germany, July 2018
10. Philipp Hoenisch and Ingo Weber. AODV-based Routing for Payment Channel Networks. ICBC’18: International Conference on Blockchain.
June 30, 2018, Seattle, USA
11. Jan Mendling, Gero Decker, Richard Hull, Hajo A. Reijers, and Ingo Weber. How do machine learning, robotic process automation and
blockchains affect the human factor in business process management? Communications of the Association for Information Systems (CAIS).
Peer-reviewed panel paper. Accepted March 2018.
References (2/3)
12. Jan Mendling, Ingo Weber, Wil Van Der Aalst, Jan Vom Brocke, Cristina Cabanillas, Florian Daniel, Søren Debois, Claudio Di Ciccio, Marlon
Dumas, Schahram Dustdar, Avigdor Gal, Luciano García-Bañuelos, Guido Governatori, Richard Hull, Marcello La Rosa, Henrik Leopold, Frank
Leymann, Jan Recker, Manfred Reichert, Hajo A. Reijers, Stefanie Rinderle-Ma, Andreas Solti, Michael Rosemann, Stefan Schulte, Munindar
P. Singh, Tijs Slaats, Mark Staples, Barbara Weber, Matthias Weidlich, Mathias Weske, Xiwei Xu, and Liming Zhu. Blockchains for business
process management – challenges and opportunities. ACM Transactions on Management Information Systems (TMIS), 9(1):4:1-4:16. Peer-
reviewed research commentary. February 2018.
13. Ingo Weber, Vincent Gramoli, Mark Staples, Alex Ponomarev, Ralph Holz, An Binh Tran, and Paul Rimba. On availability for blockchain-based
systems. SRDS’17: IEEE International Symposium on Reliable Distributed Systems, Hong Kong, China, September 2017.
14. Luciano García-Bañuelos, Alexander Ponomarev, Marlon Dumas, and Ingo Weber. Optimized execution of business processes on blockchain.
15th International Conference on Business Process Management (BPM’17), Barcelona, Spain, September 2017.
15. Orlenys López-Pintado, Luciano García-Bañuelos, Marlon Dumas, and Ingo Weber. Caterpillar: A blockchain-based business process
management system. In BPM'17: Intl. Conference on Business Process Management, Demo track, Barcelona, Spain, September 2017.
16. Risks and opportunities for systems using blockchain and smart contracts, Mark Staples, Shiping Chen, Sara Falamaki, Alex Ponomarev, Paul
Rimba, An Binh Tran, Ingo Weber, Xiwei Xu, and Zhenjiang Zhu. Technical report, Data61, CSIRO, Sydney, Australia, June 2017.
17. Regerator: a Registry Generator for Blockchain, An Binh Tran, Xiwei Xu, Ingo Weber, Mark Staples and Paul Rimba. 29th International
Conference on Advanced Information Systems Engineering (CAISE’17).
18. EthDrive: A Peer-to-Peer Data Storage with Provenance, Xiao Liang Yu, Xiwei Xu and Bin Liu. 29th International Conference on Advanced
Information Systems Engineering (CAISE’17).
19. The Balance Attack or Why Forkable Blockchains are Ill-Suited for Consortium, Christopher Natoli and Vincent Gramoli. 2017 IEEE/IFIP
International Conference on Dependable Systems and Networks (DSN’17).
20. Blockchain Consensus, Tyler Crain, Vincent Gramoli, Michel Raynal, Mikel Larrea. Proceedings of AlgoTel 2017.
21. A taxonomy of blockchain-based systems for architecture design, Xiwei Xu, Ingo Weber, Mark Staples, Liming Zhu, Jan Bosch, Len Bass,
Cesare Pautasso and Paul Rimba. 2017 IEEE International Conference on Software Architecture (ICSA’17), Gothenburg, Sweden, April 2017.
References (3/3)
22. Comparing blockchain and cloud services for business process execution, Paul Rimba, An Binh Tran, Ingo Weber, Mark Staples, Alexander
Ponomarev and Xiwei Xu. Short paper, 2017 IEEE International Conference on Software Architecture (ICSA’17), Gothenburg, Sweden, April
2017.
23. Predicting latency of blockchain-based systems using architectural modelling and simulation, Rajitha Yasaweerasinghelage,Mark Staples and
Ingo Weber. Short paper, 2017 IEEE International Conference on Software Architecture (ICSA’17), Gothenburg, Sweden, April 2017.
24. The Blockchain Anomaly, Christopher Natoli, Vincent Gramoli. Proceedings of the 15th IEEE International Symposium on Network Computing
and Applications (NCA’16), IEEE Oct 2016
25. Evaluation of Logic-Based Smart Contracts for Blockchain Systems, Idelberg, Florian and Governatori, Guido and Riveret, Regis and Sartor,
Giovanni. 10th International Web Rule Symposium, July, 2016
26. New kids on the block: an analysis of modern blockchains, Luke Anderson, Ralph Holz, Alexander Ponomarev, Paul Rimba, Ingo Weber.
arXiv:1606:06530, 2016
27. On the Danger of Private Blockchains, Vincent Gramoli. Workshop on Distributed Cryptocurrencies and Consensus Ledgers (DCCL’16), 2016
28. Untrusted business process monitoring and execution using blockchain, Ingo Weber, Sherry Xu, Regis Riveret, Guido Governatori, Alexander
Ponomarev and Jan Mendling. BPM 2016, Rio de Janeiro, Brazil , September, 2016
29. The blockchain as a software connector, Sherry Xu, Cesare Pautasso, Liming Zhu, Vincent Gramoli, Alexander Ponomarev, An Binh Tran and
Shiping Chen. WICSA2016, Venice, Italy, April, 2016

Weitere ähnliche Inhalte

Was ist angesagt?

Blockchain for IoT Security and Privacy: The Case Study of a Smart Home
Blockchain for IoT Security and Privacy: The Case Study of a Smart HomeBlockchain for IoT Security and Privacy: The Case Study of a Smart Home
Blockchain for IoT Security and Privacy: The Case Study of a Smart Home
Kishor Datta Gupta
 

Was ist angesagt? (20)

Token Governance in Blockchain Ecosystems
Token Governance in Blockchain EcosystemsToken Governance in Blockchain Ecosystems
Token Governance in Blockchain Ecosystems
 
Blockchain in 2018 : Beyond the Hype
Blockchain in 2018 : Beyond the HypeBlockchain in 2018 : Beyond the Hype
Blockchain in 2018 : Beyond the Hype
 
7 Industries Influencing Blockchain Testing
7 Industries Influencing Blockchain Testing7 Industries Influencing Blockchain Testing
7 Industries Influencing Blockchain Testing
 
Blockchain use cases in 2022 real world industry applications
Blockchain use cases in 2022 real world industry applicationsBlockchain use cases in 2022 real world industry applications
Blockchain use cases in 2022 real world industry applications
 
Get Rich with Blockchain & Cryptocurrency
Get Rich with Blockchain & CryptocurrencyGet Rich with Blockchain & Cryptocurrency
Get Rich with Blockchain & Cryptocurrency
 
Blockchain & microsoft
Blockchain & microsoftBlockchain & microsoft
Blockchain & microsoft
 
Blockchain Technology: Adoption Challenges, Platform and Applications
Blockchain Technology: Adoption Challenges, Platform and ApplicationsBlockchain Technology: Adoption Challenges, Platform and Applications
Blockchain Technology: Adoption Challenges, Platform and Applications
 
Blockchain for IoT Security and Privacy: The Case Study of a Smart Home
Blockchain for IoT Security and Privacy: The Case Study of a Smart HomeBlockchain for IoT Security and Privacy: The Case Study of a Smart Home
Blockchain for IoT Security and Privacy: The Case Study of a Smart Home
 
Metamorphosing Indian Blockchain Ecosystem
Metamorphosing Indian Blockchain EcosystemMetamorphosing Indian Blockchain Ecosystem
Metamorphosing Indian Blockchain Ecosystem
 
Making blockchain real for business
Making blockchain real for businessMaking blockchain real for business
Making blockchain real for business
 
Blockchain and Services – Exploring the Links
Blockchain and Services – Exploring the LinksBlockchain and Services – Exploring the Links
Blockchain and Services – Exploring the Links
 
Blockchain - a platform for Digital Transformation in Finance
Blockchain - a platform for Digital Transformation in FinanceBlockchain - a platform for Digital Transformation in Finance
Blockchain - a platform for Digital Transformation in Finance
 
Decentralized disruption
Decentralized disruptionDecentralized disruption
Decentralized disruption
 
blockchain governance : opportunities and challenges
 blockchain governance : opportunities and challenges blockchain governance : opportunities and challenges
blockchain governance : opportunities and challenges
 
What is Blockchain Tech for Tokyo Blockchain Summit Dec 2015
What is Blockchain Tech for Tokyo Blockchain Summit Dec 2015What is Blockchain Tech for Tokyo Blockchain Summit Dec 2015
What is Blockchain Tech for Tokyo Blockchain Summit Dec 2015
 
Introduction to Blockchain for Business
Introduction to Blockchain for BusinessIntroduction to Blockchain for Business
Introduction to Blockchain for Business
 
How does hyperledger fabric blockchain work
How does hyperledger fabric blockchain work How does hyperledger fabric blockchain work
How does hyperledger fabric blockchain work
 
Blockchain for Business
Blockchain for BusinessBlockchain for Business
Blockchain for Business
 
blockchain and iot: Opportunities and Challanges
blockchain and iot: Opportunities and Challangesblockchain and iot: Opportunities and Challanges
blockchain and iot: Opportunities and Challanges
 
Blockchain and Internet of Things: Why a Perfect Match
Blockchain and Internet of Things: Why a Perfect MatchBlockchain and Internet of Things: Why a Perfect Match
Blockchain and Internet of Things: Why a Perfect Match
 

Ähnlich wie Software Architecture and Model-driven Engineering for Blockchain Applications

Ähnlich wie Software Architecture and Model-driven Engineering for Blockchain Applications (20)

Blockchain: Background and Data61 Research Overview
Blockchain: Background and Data61 Research OverviewBlockchain: Background and Data61 Research Overview
Blockchain: Background and Data61 Research Overview
 
Blockchains and Smart Contracts: Architecture Design and Model-Driven Develop...
Blockchains and Smart Contracts: Architecture Design and Model-Driven Develop...Blockchains and Smart Contracts: Architecture Design and Model-Driven Develop...
Blockchains and Smart Contracts: Architecture Design and Model-Driven Develop...
 
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
 
University of Borås-full talk-2023-12-09.pptx
University of Borås-full talk-2023-12-09.pptxUniversity of Borås-full talk-2023-12-09.pptx
University of Borås-full talk-2023-12-09.pptx
 
Blockchain for Digital Transformation in Banking
Blockchain for Digital Transformation in Banking Blockchain for Digital Transformation in Banking
Blockchain for Digital Transformation in Banking
 
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 & Islamic Finance
Blockchain & Islamic FinanceBlockchain & Islamic Finance
Blockchain & Islamic Finance
 
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 - a platform for Digital Transformation
Blockchain - a platform for Digital TransformationBlockchain - a platform for Digital Transformation
Blockchain - a platform for Digital Transformation
 
Business Opportunities in Fintech and Blockchain
Business Opportunities in Fintech and BlockchainBusiness Opportunities in Fintech and Blockchain
Business Opportunities in Fintech and Blockchain
 
Gluecon 2016 Keynote: Deploying and Managing Blockchain Applications
Gluecon 2016 Keynote: Deploying and Managing Blockchain ApplicationsGluecon 2016 Keynote: Deploying and Managing Blockchain Applications
Gluecon 2016 Keynote: Deploying and Managing Blockchain 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
 
Blockchain in IT.pptx
Blockchain in IT.pptxBlockchain in IT.pptx
Blockchain in IT.pptx
 
LBSNov2.pptx
LBSNov2.pptxLBSNov2.pptx
LBSNov2.pptx
 
Blockchain Technology and Its Application in Artificial Intelligence and Mach...
Blockchain Technology and Its Application in Artificial Intelligence and Mach...Blockchain Technology and Its Application in Artificial Intelligence and Mach...
Blockchain Technology and Its Application in Artificial Intelligence and Mach...
 
Blockchain for Business
Blockchain for BusinessBlockchain for Business
Blockchain for Business
 
IRJET- Photogroup: Decentralized Web Application using Ethereum Blockchain
IRJET- Photogroup: Decentralized Web Application using Ethereum BlockchainIRJET- Photogroup: Decentralized Web Application using Ethereum Blockchain
IRJET- Photogroup: Decentralized Web Application using Ethereum Blockchain
 
The Blockchain as a Software Connector
The Blockchain as a Software ConnectorThe Blockchain as a Software Connector
The Blockchain as a Software Connector
 
Blockchain
BlockchainBlockchain
Blockchain
 

Kürzlich hochgeladen

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 

Kürzlich hochgeladen (20)

Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 

Software Architecture and Model-driven Engineering for Blockchain Applications

  • 1. www.csiro.au Software Architecture and Model-driven Engineering for Blockchain Applications Ingo Weber | Principal Research Scientist & Team Leader Architecture & Analytics Platforms (AAP) team ingo.weber@data61.csiro.au | linkedin.com/in/ingomweber/ | Twitter: @ingomweber Conj. Assoc. Professor, UNSW Australia | Adj. Assoc. Professor, Swinburne University
  • 2. Blockchain Background and Terminology From our recent book: Xiwei Xu, Ingo Weber, Mark Staples Architecture for Blockchain Applications Springer, 2019
  • 3. Blockchain 5 | Organization 1 Organization 2 Organization 1 Organization 2 Centralized Trusted Authority Traditional trusted environment Blockchain trustless environment Blockchain network
  • 4. Blockchain 2nd gen – Smart Contracts Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber8 | • 1st gen Bitcoin transactions are financial transfers • Now Blockchain ledger can do that, and store/transact any kind of data • Blockchain can deploy and execute programs: Smart Contracts • User-defined code, deployed on and executed by whole network • Can enact decisions on complex business conditions • Can hold and transfer assets, managed by the contract itself • Ethereum: pay per assembler-level instruction
  • 5. Visualization of a Blockchain http://ethviewer.live Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber9 |
  • 6. Blockchain Terminology From our recent book: Xiwei Xu, Ingo Weber, Mark Staples. Architecture for Blockchain Applications. Springer, 2019. eBook: http://dx.doi.org/10.1007/978-3-030-03035-3 Amazon: http://tinyurl.com/blockchain-architecture-book Ingo Weber10 |
  • 7. Blockchain defined (1/4) • Definition 1 (Distributed Ledger). A Distributed Ledger is an append-only store of transactions which is distributed across many machines. • Definition 2 (Blockchain (Concept)). A Blockchain is a distributed ledger that is structured into a linked list of blocks. Each block contains an ordered set of transactions. Typical solutions use cryptographic hashes to secure the link from a block to its predecessor. Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber11 |
  • 8. Blockchain defined (2/4) • Definition 3 (Blockchain System). A Blockchain System consists of: • a blockchain network of machines, also called nodes; • a blockchain data structure, for the ledger that is replicated across the blockchain network. Nodes that hold a full replica of this ledger are referred to as full nodes; • a network protocol that defines rights, responsibilities, and means of communication, verification, validation, and consensus across the nodes in the network. This includes ensuring authorization and authentication of new transactions, mechanisms for appending new blocks, incentive mechanisms (if needed), and similar aspects. Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber12 |
  • 9. Blockchain defined (3/4) • Definition 4 (Public Blockchain). A Public Blockchain is a blockchain system that has the following characteristics: • it has an open network where nodes can join and leave as they please without requiring permission from anyone; • all full nodes in the network can verify each new piece of data added to the data structure, including blocks, transactions, and effects of transactions; and • its protocol includes an incentive mechanism that aims to ensure the correct operation of the blockchain system including that valid transactions are processed and included in the ledger, and that invalid transactions are rejected. Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber13 |
  • 10. Blockchain defined (4/4) • Definition 5 (Blockchain Platform). A blockchain platform is the technology needed to operate a blockchain. This comprises the blockchain client software for processing nodes, the local data store for nodes, and any alternative clients to access the blockchain network. • Definition 6 (Smart Contract). Smart contracts are programs deployed as data in the blockchain ledger, and executed in transactions on the blockchain. Smart contracts can hold and transfer digital assets managed by the blockchain, and can invoke other smart contracts stored on the blockchain. Smart contract code is deterministic and immutable once deployed. • Definition 7 (dapp). A decentralized application or dapp is a software system that is designed to provide its main functionality through smart contracts. Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber14 |
  • 11. Blockchain Research of the AAP team, Data61
  • 12. Blockchain Research at Data61 Overview D61+Live | BlockchainSystems16 | • Supply Chain / Food Provenance • Trade facilitation • Resource handling (energy, water, land, titles) • Welfare payments • International trade • Empirical research on the use of blockchain • Dealing with irreversibleblockchain transactions in software engineering • Devising approaches, including model-drivendevelopment tools, better blockchainclient software, etc. • Software Engineering & Architecture • Business Process Management • Cyber Security • Dependability Approaches Outcomes CoreExpertiseDomains • Distributed Ledger Technologies • Blockchain platforms • Smart contracts • On/off Blockchain storage Technology • Identifying design trade-offs • Identifying Technical Risks & Opportunities • Formal and empirical evaluation of Blockchain systems
  • 13. Designing Systems with Blockchain • Design Process, including Suitability Analysis • 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 • Quantifying the cost of distrust: Comparing blockchain and cloud services for business process execution. P. Rimba, A. B. Tran, I. Weber et al., Information Systems Frontiers, accepted August 2018 (previously SCAC 2017) • 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. • Designs & Design Patterns • A pattern collection for blockchain-based applications. X. Xu, C. Pautasso, L., Q. Lu, and I. Weber, EuroPLoP 2018 • A platform architecture for multi-tenant blockchain-based systems. I. Weber, Q. Lu, A. B. Tran, A. Deshmukh, M. Gorski, M. Strazds, ICSA 2019 • 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 Data61 : Preliminary Findings on Blockchain/DLTProjects18 |
  • 14. Model-driven Engineering • Business Process Execution • Untrusted business process monitoring and execution using blockchain, I. Weber, X. Xu, R. Riveret et al., BPM 2016 • Optimized Execution of Business Processes on Blockchain, L. García-Bañuelos, A. Ponomarev, M. Dumas, Ingo Weber, BPM 2017 • Caterpillar: A blockchain-based business process management system, O. López-Pintado, L. García-Bañuelos, M. Dumas, and I. Weber, BPM 2017 Demo • Runtime verification for business processes utilizing the Bitcoin blockchain, C. Prybila, S. Schulte, C. Hochreiner, and I. Weber, FGCS 2018 • Dynamic role binding in blockchain-based collaborative business processes, O. López-Pintado, M. Dumas, l. García- Bañuelos, I. Weber CAISE 2019 • Data / Asset Modeling • Regerator: a Registry Generator for Blockchain, A. B. Tran, X. Xu, I. Weber, CAISE 2017 Demo • Combined Asset & Process Modeling • Lorikeet: A Model-Driven Engineering Tool for Blockchain- Based Business Process Execution and Asset Management A. B. Tran, Q. Lu, I. Weber, BPM 2018 Demo Data61 : Preliminary Findings on Blockchain/DLTProjects19 |
  • 15. High and Low-level Views • High-level Discussions • How do machine learning, robotic process automation and blockchains affect the human factor in business process management? Jan Mendling, Gero Decker, Richard Hull, Hajo A. Reijers, and Ingo Weber. Communications of the Association for Information Systems (CAIS). Peer-reviewed panel paper. Accepted March 2018. • Blockchains for business process management – challenges and opportunities. Jan Mendling, Ingo Weber, Wil Van Der Aalst, Jan Vom Brocke, Cristina Cabanillas, Florian Daniel, Søren Debois, Claudio Di Ciccio, Marlon Dumas, Schahram Dustdar, Avigdor Gal, Luciano García-Bañuelos, Guido Governatori, Richard Hull, Marcello La Rosa, Henrik Leopold, Frank Leymann, Jan Recker, Manfred Reichert, Hajo A. Reijers, Stefanie Rinderle-Ma, Andreas Solti, Michael Rosemann, Stefan Schulte, Munindar P. Singh, Tijs Slaats, Mark Staples, Barbara Weber, Matthias Weidlich, Mathias Weske, Xiwei Xu, and Liming Zhu ACM Transactions on Management Information Systems (TMIS), 9(1):4:1-4:16. Peer-reviewed research commentary. February 2018. Data61 : Preliminary Findings on Blockchain/DLTProjects20 | • Empirical Analyses • On availability for blockchain-based systems, I. Weber, V. Gramoli et al., SRDS 2017 • New kids on the block: an analysis of modern blockchains, L. Anderson, R. Holz, A. Ponomarev et al., arXiv:1606:06530, 2016
  • 16. Some Significant Projects Blockchain | Data61,CSIRO21 | Australian Treasury-funded (through National Innovation Science Agenda) • Two reports, launched 6 June 2017 • DLT Foresight – What might plausibly happen, across society & economy? • Technical Risks & Opportunities – How do needs in various use cases fit blockchain’s capabilities? • See www.data61.csiro.au/blockchain Making Money Smart project with Commonwealth Bank of Australia (CBA) • Using “programmable money” for conditional payment system contexts • The money has conditions attached, which are checked before transfers • Use case: National Disability Insurance Scheme (NDIS) • See https://www.data61.csiro.au/en/Our-Work/SmartMoney
  • 17. Red Belly Blockchain (with USyd) • New technology particularly for private / consortium blockchain • In lab experiment achieved 660,000 tps with 300 nodes in one data center, and > 30,000 tps with globally distributed nodes Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber22 |
  • 19. 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 Applicationin BPM | Ingo Weber25 |
  • 20. Our work – AAP team • Architecting applications on Blockchain: • Book • Taxonomy and design process • “Cost of Distrust”: how much more expensive is blockchain? – On some blockchains, cost and throuhgput are tightly linked • Availability analysis from viewpoint of dapps • Latency: simulation under changes • Model-driven development of smart contracts • Business process execution • Model-based generation of code for data structures, non- fungible and fungible tokens, and UI components Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber26 |
  • 21. Functions Blockchain can provide in a dapp • Blockchain as… Architectural Element Communi- cation Mechanism Asset Management and Control Mechanism Storage Element Computational Element
  • 22. Blockchains are Not Stand-Alone Systems Data61 : Preliminary Findings on Blockchain/DLTProjects28 | UI for humans IoT integration Auxiliary databases Legacy systems Key management private data BIG DATA Blockchain is a component
  • 23. Non-Functional Trade-Offs • Compared to conventional database & script engines, blockchains have: (-) Confidentiality, Privacy (+) Integrity, Non-repudiation (+ read/ - write) Availability (-) Modifiability (-) Throughput / Scalability / Big Data (+ read/ - write) Latency Data61 : Preliminary Findings on Blockchain/DLTProjects29 | Security: combination of CIA properties
  • 24. Design process Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber30 |
  • 25. Evaluation of Suitability Software Architecture and Engineering for Blockchain-based Applications| Ingo Weber31 |
  • 26. Taxonomy Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber32 | Blockchain-related design decisions regarding (de)centralisation, with an indication of their relative impact on quality properties Legend: ⊕: Less favourable, ⊕⊕: Neutral, ⊕⊕⊕: More favourable
  • 27. Taxonomy Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber33 | Blockchain-related design decisions regarding storage and computation, with an indication of their relative impact on quality properties
  • 28. Taxonomy Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber34 | Blockchain-related design decisions regarding blockchain configuration
  • 29. 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: • Cost models for blockchain and cloud – Can be adapted easily to current exchange rates – Allow what-if cost analyses • 2 orders of magnitude more expensive to use blockchain – exchange rate: 1 Ether = US$ 11.32 (26/8/2016) • ~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 Applicationin BPM | Ingo Weber35 |
  • 30. Availability • Availability: the system‘s readiness for correct service • Blockchain as component: read: +++ ; write: ? • Ethereum: 12 blocks confirmation is accepted, said to take 3 mins • Measurements: Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber36 |
  • 31. Availability • Potential issue: block gas limit • Gas limit is set by miners through “voting” • The sum of Gas of all transactions in a block must be less than the limit • Response to DDoS attack: lower block gas limit • Who would be affected by that? Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber38 |
  • 33. Model-driven Engineering & Blockchain • Model-driven engineering (MDE): • A methodology for using models at various levels of abstraction and for different purposes during software development • Low-level models: production code can be directly derived from the models • High-level models: means of communication between business owners and developers implementing a system • Intermediate levels can support model-based system analysis or system management tools • Any level: generate a code skeleton or early version of the code • Can cover static structures (like data models) or dynamic behavior (activity sequences) • Advantages in the blockchain context: • Code generation can implement best practices and well-tested building blocks – Code can adhere to blockchain “standards” (like ERC-20, ERC-721, …) • Models can be independent of specific blockchain technologies or platforms • Models are often easier to understand than code – particularly useful in communicating with business partners about smart contracts – Facilitates building trust Ingo Weber42 |
  • 34. MDE for data structures and tokens: Fungible and Non-fungible Tokens • Fungible tokens: interchangeable • E.g., $2 coin, $10 note • Main concern: how many? • Ethereum: ERC20 standard – Example: OmiseGO (OMG). “The OmiseGO blockchain comprises a decentralized exchange, liquidity provider mechanism, clearinghouse messaging network, and asset-backed blockchain gateway. … It uses the mechanism of a protocol token to create a proof-of-stake blockchain to enable enforcement of market activity amongst participants. Owning OMG tokens buys the right to validate this blockchain, within its consensus rules.” • Non-fungible tokens • E.g., houses, cars, patents • Main concern: which ones? • Ethereum: ERC721 – Example: cryptokitties https://www.cryptokitties.co – Kitties are non-fungible, individual, and their appearance depends on the individual features
  • 35. MDE for data structures and tokens • Approach: • Model data structure (variables, types) – not for fungible tokens • Model relationships to other types / tokens • Select features  Code is generated – deploy or customize • Feature examples: • Fungible tokens: – Can be minted? Burnt? By whom? • Non-fungible tokens – Include standard method(s) for sale – One contract for all tokens or one per token? • Code generated is compliant with standards  interface syntax and semantics Ingo Weber44 |
  • 36. MDE for Processes – 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 Applicationin BPM | Ingo Weber45 |
  • 37. Motivation: example Issues: - Knowing the status, tracking correct execution - Handling payments - Resolving conflicts  Trusted 3rd party ?  Blockchain! Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber46 |
  • 38. Approach in a nutshell • Goal: implement collaborative business processes as smart contracts • Translate (enriched) BPMN to smart contract code • Triggers act as bridge between Enterprise world and blockchain • Smart contract provides: – Independent, global process monitoring – Conformance checking and process enforcement: only expected messages are accepted, only from the respective role – Automatic payments & escrow – Data transformation – Encryption • Processes can make use of data / token contracts • Process activity to hand over title to a car / shipment / grain / ..., e.g., in exchange for fungible tokens Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber47 |
  • 39. Tooling: Design and Runtime Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber48 |
  • 40. Tooling: Design and Runtime Blockchain Smart Contracts:Use and Applicationin BPM | Ingo Weber49 |
  • 41. A Pattern Collection Software Architecture and Engineering for Blockchain-based Applications| Ingo Weber50 |
  • 42. Summary • Architecting and developing applications on Blockchain is challenging • Our work: • Software Architecture for Blockchain-based applications • Empirical and formal research on Blockchains • Model-driven development of smart contracts Book available here: • eBook: http://dx.doi.org/10.1007/978-3-030-03035-3 • Amazon: http://tinyurl.com/blockchain-architecture- book
  • 43. www.csiro.au Thank you Ingo Weber | Principal Research Scientist & Team Leader ingo.weber@data61.csiro.au | linkedin.com/in/ingomweber/ | Twitter: @ingomweber Conj. Assoc. Professor, UNSW Australia | Adj. Assoc. Professor, Swinburne University AAP team Blockchain research: https://research.csiro.au/data61/blockchain/ Blockchain reports: https://www.data61.csiro.au/blockchain/
  • 44. References (1/3) 1. Xiwei Xu, Ingo Weber, and Mark Staples. Architecture for Blockchain Applications. Springer, 2019 2. Orlenys López-Pintado, Marlon Dumas, Luciano García-Bañuelos, and Ingo Weber. Dynamic role binding in blockchain-based collaborative business processes. CAISE’19: International Conference on Advanced Information Systems Engineering, Rome, Italy, July 2019 3. Sin Kuang Lo, Xiwei Xu, Chen Wang, Ingo Weber, Paul Rimba, Qinghua Lu, and Mark Staples . Digital-Physical Parity for Food Fraud Detection. ICBC’19: International Conference on Blockchain, San Diego, USA, June, 2019 4. Ingo Weber, Qinghua Lu, An Binh Tran, Amit Deshmukh, Marek Gorski, and Markus Strazds. A platform architecture for multi-tenant blockchain-based systems. ICSA’19: IEEE International Conference on Software Architecture, Hamburg, Germany, April 2019 5. Xiwei Xu, Qinghua Lu, Yue Liu, Liming Zhu, Haonan Yao, Athanasios V Vasilakos. Designing blockchain-based applications: A case study for imported product traceability. Future Generation Computer Systems. Published March 2019 6. Qinghua Lu, Xiwei Xu, Yue Liu, Weishan Zhang, Design Pattern as a Service for Blockchain Applications, ICDMW’2018: IEEE International Conference on Data Mining Workshops, November 2018 7. An Binh Tran, Qinghua Lu, and Ingo Weber. Lorikeet: A model-driven engineering tool for blockchain-based business process execution and asset management. In BPM'18: Intl. Conference on Business Process Management, Demo track, Sydney, NSW, Australia, September 2018. 8. Quantifying the cost of distrust: Comparing blockchain and cloud services for business process execution. Paul Rimba, An Binh Tran, Ingo Weber, Mark Staples, Alexander Ponomarev, and Xiwei Xu. Information Systems Frontiers, Springer, in print, accepted August 2018 9. A Pattern Language for Blockchain-based Applications Xiwei Xu, Cesare Pautasso, Liming Zhu, Qinghua Lu, Ingo Weber EuroPLOP’18: European Conference on Pattern Languages of Programs, Kloster Irsee, Germany, July 2018 10. Philipp Hoenisch and Ingo Weber. AODV-based Routing for Payment Channel Networks. ICBC’18: International Conference on Blockchain. June 30, 2018, Seattle, USA 11. Jan Mendling, Gero Decker, Richard Hull, Hajo A. Reijers, and Ingo Weber. How do machine learning, robotic process automation and blockchains affect the human factor in business process management? Communications of the Association for Information Systems (CAIS). Peer-reviewed panel paper. Accepted March 2018.
  • 45. References (2/3) 12. Jan Mendling, Ingo Weber, Wil Van Der Aalst, Jan Vom Brocke, Cristina Cabanillas, Florian Daniel, Søren Debois, Claudio Di Ciccio, Marlon Dumas, Schahram Dustdar, Avigdor Gal, Luciano García-Bañuelos, Guido Governatori, Richard Hull, Marcello La Rosa, Henrik Leopold, Frank Leymann, Jan Recker, Manfred Reichert, Hajo A. Reijers, Stefanie Rinderle-Ma, Andreas Solti, Michael Rosemann, Stefan Schulte, Munindar P. Singh, Tijs Slaats, Mark Staples, Barbara Weber, Matthias Weidlich, Mathias Weske, Xiwei Xu, and Liming Zhu. Blockchains for business process management – challenges and opportunities. ACM Transactions on Management Information Systems (TMIS), 9(1):4:1-4:16. Peer- reviewed research commentary. February 2018. 13. Ingo Weber, Vincent Gramoli, Mark Staples, Alex Ponomarev, Ralph Holz, An Binh Tran, and Paul Rimba. On availability for blockchain-based systems. SRDS’17: IEEE International Symposium on Reliable Distributed Systems, Hong Kong, China, September 2017. 14. Luciano García-Bañuelos, Alexander Ponomarev, Marlon Dumas, and Ingo Weber. Optimized execution of business processes on blockchain. 15th International Conference on Business Process Management (BPM’17), Barcelona, Spain, September 2017. 15. Orlenys López-Pintado, Luciano García-Bañuelos, Marlon Dumas, and Ingo Weber. Caterpillar: A blockchain-based business process management system. In BPM'17: Intl. Conference on Business Process Management, Demo track, Barcelona, Spain, September 2017. 16. Risks and opportunities for systems using blockchain and smart contracts, Mark Staples, Shiping Chen, Sara Falamaki, Alex Ponomarev, Paul Rimba, An Binh Tran, Ingo Weber, Xiwei Xu, and Zhenjiang Zhu. Technical report, Data61, CSIRO, Sydney, Australia, June 2017. 17. Regerator: a Registry Generator for Blockchain, An Binh Tran, Xiwei Xu, Ingo Weber, Mark Staples and Paul Rimba. 29th International Conference on Advanced Information Systems Engineering (CAISE’17). 18. EthDrive: A Peer-to-Peer Data Storage with Provenance, Xiao Liang Yu, Xiwei Xu and Bin Liu. 29th International Conference on Advanced Information Systems Engineering (CAISE’17). 19. The Balance Attack or Why Forkable Blockchains are Ill-Suited for Consortium, Christopher Natoli and Vincent Gramoli. 2017 IEEE/IFIP International Conference on Dependable Systems and Networks (DSN’17). 20. Blockchain Consensus, Tyler Crain, Vincent Gramoli, Michel Raynal, Mikel Larrea. Proceedings of AlgoTel 2017. 21. A taxonomy of blockchain-based systems for architecture design, Xiwei Xu, Ingo Weber, Mark Staples, Liming Zhu, Jan Bosch, Len Bass, Cesare Pautasso and Paul Rimba. 2017 IEEE International Conference on Software Architecture (ICSA’17), Gothenburg, Sweden, April 2017.
  • 46. References (3/3) 22. Comparing blockchain and cloud services for business process execution, Paul Rimba, An Binh Tran, Ingo Weber, Mark Staples, Alexander Ponomarev and Xiwei Xu. Short paper, 2017 IEEE International Conference on Software Architecture (ICSA’17), Gothenburg, Sweden, April 2017. 23. Predicting latency of blockchain-based systems using architectural modelling and simulation, Rajitha Yasaweerasinghelage,Mark Staples and Ingo Weber. Short paper, 2017 IEEE International Conference on Software Architecture (ICSA’17), Gothenburg, Sweden, April 2017. 24. The Blockchain Anomaly, Christopher Natoli, Vincent Gramoli. Proceedings of the 15th IEEE International Symposium on Network Computing and Applications (NCA’16), IEEE Oct 2016 25. Evaluation of Logic-Based Smart Contracts for Blockchain Systems, Idelberg, Florian and Governatori, Guido and Riveret, Regis and Sartor, Giovanni. 10th International Web Rule Symposium, July, 2016 26. New kids on the block: an analysis of modern blockchains, Luke Anderson, Ralph Holz, Alexander Ponomarev, Paul Rimba, Ingo Weber. arXiv:1606:06530, 2016 27. On the Danger of Private Blockchains, Vincent Gramoli. Workshop on Distributed Cryptocurrencies and Consensus Ledgers (DCCL’16), 2016 28. Untrusted business process monitoring and execution using blockchain, Ingo Weber, Sherry Xu, Regis Riveret, Guido Governatori, Alexander Ponomarev and Jan Mendling. BPM 2016, Rio de Janeiro, Brazil , September, 2016 29. The blockchain as a software connector, Sherry Xu, Cesare Pautasso, Liming Zhu, Vincent Gramoli, Alexander Ponomarev, An Binh Tran and Shiping Chen. WICSA2016, Venice, Italy, April, 2016