www.csiro.au
Blockchain and Services –
Exploring the Links
Ingo Weber | Principal Research Scientist & Team Leader
Architecture & Analytics Platforms (AAP) team
ingo.weber@data61.csiro.au
Conj. Assoc. Professor, UNSW Australia | Adj. Assoc. Professor, Swinburne University
Agenda:
• Blockchain Background and Terminology
• Blockchain Research of the AAP team, Data61
• Integrating Blockchain-based Applications with
Services
• Service Composition using Smart Contracts
• Blockchain-as-a-Service
• Microservice Architectures and Smart Contracts
Blockchain Background and Terminology
From our forthcoming book:
Xiwei Xu, Ingo Weber, Mark Staples
Architecture for Blockchain Applications
Springer, (hopefully) 2018
Blockchain
4 |
Organization 1 Organization 2 Organization 1 Organization 2
Centralized Trusted Authority
Traditional trusted environment Blockchain trustless environment
Blockchain network
How?
Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber5 |
• Immutable data base
• Public ledger
• Every node hosts a replica
• Distributed consensus
- No central owner of consensus
• Transaction is verified by every node
• Combination of knowledge from
Distributed Systems, Peer-to-Peer,
Cryptography, Incentive Systems and
Game Theory
Blockchain network
Blockchain 2nd gen – Smart Contracts
Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber6 |
• 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 Application in BPM | Ingo Weber7 |
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 Application in BPM | Ingo Weber8 |
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 Application in BPM | Ingo Weber9 |
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 Application in BPM | Ingo Weber10 |
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 Application in BPM | Ingo Weber11 |
Blockchain Research of the AAP team, Data61
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, CSIRO13 |
• Defining and Using
Smart Contracts
– As Legal Contracts
– Business Process
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.
• Design Patterns
• A pattern collection for blockchain-based applications. X. Xu, C. Pautasso, L., Q.
Lu, and I. Weber, EuroPLoP 2018
• 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/DLT Projects14 |
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, Future
Generation Computer Systems (FGCS), accepted August
2017
• 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/DLT Projects15 |
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/DLT Projects16 |
• 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
Projects with Australian Treasury
• DLT Foresight
– What might plausibly happen,
across society & economy?
• Technical Risks & Opportunities
– How do needs in various use cases
fit blockchain’s capabilities?
Blockchain | Data61, CSIRO17 |
• Funded by Australian National Innovation Science Agenda
• Two reports, launched 6 June 2017
• See www.data61.csiro.au/blockchain
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 > 50,000 tps with globally distributed nodes
Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber18 |
Blockchains are Not Stand-Alone Systems
Data61 : Preliminary Findings on Blockchain/DLT Projects19 |
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/DLT Projects20 |
Security: combination of
CIA properties
Integrating Blockchain-based
Applications with Services
Blockchain is a closed-world system
• To interact with smart contracts on blockchain, need to:
• Write: create and broadcast a blockchain transaction (BCTX) for each method
call
• Read: monitor smart contract variable values and/or event logs to see
updates
• The outside world speaks Services
• REST / SOAP-WSDL / JSON RPC
• How to bridge between the two worlds?
• Recurring problem
• Our solution: a Trigger component as bridge
Trigger as bridge between blockchain and services
Blockchain
Smart contract
Code
Variables Event
log
Trigger
AppAppApp
Decentralization
Blockchain
Smart contract
Code
Variables Event
log
Trigger
AppAppApp
Org 1
Trigger
AppAppApp
Org 2
Decentralization
Blockchain
Smart contract
Code
Variables Event
log
Trigger
AppAppApp
Org 1
Trigger
AppAppApp
Org 2
Service Composition using Smart Contracts
Ingo Weber, Sherry Xu, Regis Riveret, Guido Governatori, Alexander Ponomarev and Jan Mendling
Untrusted business process monitoring and execution using blockchain. BPM 2016
Luciano García-Bañuelos, Alexander Ponomarev, Marlon Dumas, and Ingo Weber
Optimized Execution of Business Processes on Blockchain. BPM 2017
Orlenys López-Pintado, Luciano García-Bañuelos, Marlon Dumas, and Ingo Weber.
Caterpillar: A blockchain-based business process management system. BPM Demo 2017
Motivation
• Integration of business processes across organizations:
a key driver of productivity gains
• Means: service composition – orchestration and choreography
• 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 Weber27 |
Motivation: example
Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber28 |
Issues:
- Knowing the status, tracking correct execution
- Handling payments
- Resolving conflicts
Motivation: example
Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber29 |
Issues:
- Knowing the status, tracking correct execution
- Handling payments
- Resolving conflicts
→ Trusted 3rd party ?
→ Blockchain!
Service
Interface
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 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
Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber30 |
Architecture
Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber31 |
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 Weber32 |
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 Weber33 |
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
Service composition variants
Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber34 |
Mediator (orchestration) Choreography → C-Monitor
Translator
1.Translate BPMN control flow to WFnet (proven to be safe)
35 |
Translator
1.Translate BPMN control flow to WFnet (proven to be safe)
2.Capture dataflow and conditions
36 |
Translator
1.Translate BPMN control flow to WFnet (proven to be safe)
2.Capture dataflow and conditions
3.Reduce WFnet and annotate dataflow
37 |
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
38 |
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
39 |
Bit vector update: set pos 1 to “0” set pos 2 and 3 to “1”
Bit vector check: does pos 1
have value “1”?
Tooling: Design time - Lorikeet
Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber40 |
Tooling: Runtime – POD-Viz
Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber41 |
Blockchain-as-a-Service
Motivation
• Blockchain is a relatively new technology with steep learning curve
• Gartner survey: “23 percent of [relevant surveyed] CIOs said that blockchain
requires the most new skills to implement of any technology area, while 18
percent said that blockchain skills are the most difficult to find.”
• aaS offers can bootstrap that learning phase to a degree
• Pre-made templates
• Management tools
– IDEs
– Monitoring tools
– ...
Commercial Offers
• But: some of these providers require/encourage that all nodes are
using the same provider
• Decentralization?
Ingo Weber44 |
Early-stage research: unified approach
• “uBaaS: A Unified Blockchain as a Service Platform”
• Under review
• Deployment as a service
• Includes a blockchain deployment service and a smart contract deployment
service
• Platform agnostic to avoid lock-in to specific cloud platforms
• Design patterns as a service
• Common data management services and smart contract design services
• Based on a design pattern to better leverage the unique properties of
blockchain (i.e. immutability and data integrity, transparency) and address
the limitations (i.e. privacy and scalability)
Ingo Weber45 |
Microservice Architectures and Smart
Contracts
DevOps
• Microservice Architecture – a consequence of DevOps
(but not only)
47
DevOps consequences
• Keep teams relatively small
• Amazon’s “two pizza rule”: no team should be larger than can be
fed with two pizzas
• Advantages: make decisions quickly, less coordination overhead,
more coherent units
• Team size becomes a major driver of the overall
architecture:
• Small teams develop small services → Microservices
• Coordination overhead is minimized by channeling most
interaction through service interfaces:
– Team X provides service A, which is used by teams Y and Z
– If changes are needed, they are communicated, implemented, and added to the
interface.
48
Microservice Architecture
• Used in practice by organizations that adopted (or
invented) many DevOps practices
• Amazon, LinkedIn, Google, …
• Each service provides small amount of functionality
• Total system functionality comes from composing
multiple services
49
Microservice Architecture
• Each user request is
satisfied by some
sequence of services
• Most services are not
externally available
• Each service
communicates with
other services
through service
interfaces
• Service depth may be
70, e.g., LinkedIn
50
Business Service
Microservice
Microservice
Microservice Microservice Microservice
Microservice Microservice Microservice
MicroserviceMicroservice Microservice
Smart Contracts as Services?
• Analogy:
• Smart contract code ≈ Java Class
• Deployed smart contract ≈ Java Object, but with some properties
– Defined interface
– Standard way to invoke
– Callable by anyone (who can send transactions to the blockchain)
→ Similar to Web service!
• Some design principles can apply
Ingo Weber51 |
Service-Orientation Design Principles and Smart Contracts*
• Standardized Service Contract: the public interfaces of a services make use of
contract design standards. (Contract: WSDL in WS*)
• Service Loose Coupling: to impose low burdens on service consumers (coupling
~ degree of dependency)
• Service Abstraction: “to hide as much of the underlying details of a service as
possible”
• Service Reusability: services contain agnostic logic and “can be positioned as
reusable enterprise resources”
• Service Autonomy: to provide reliable and consistent results, a service has to
have strong control over its underlying environment
• Service Statelessness: services should be “designed to remain stateful only
when required.”
• Service Discoverability: “services are supplemented with communicative meta
data by which they can be effectively discovered and interpreted.”
• Service Composability: “services are effective composition participants,
regardless of the size and complexity of the composition.”
• Fundamental requirement – interoperability of services: “...stating that
services must be interoperable is just about as evident as stating that services
must exist.”
Ingo Weber52 |
* Preliminary analysis. Content based on SOA Principles of Service Design, Thomas Erl, Prentice Hall, 2007.
Summary: I. Weber, Semantic Methods for Execution-level Business Process Modeling. Springer LNBIP Vol. 40, 2009.
Service-Orientation Design Principles and Smart Contracts*
• Standardized Service Contract: the public interfaces of a services make use of
contract design standards. (Contract: WSDL in WS*)
• Service Loose Coupling: to impose low burdens on service consumers (coupling
~ degree of dependency)
• Service Abstraction: “to hide as much of the underlying details of a service as
possible”
• Service Reusability: services contain agnostic logic and “can be positioned as
reusable enterprise resources”
• Service Autonomy: to provide reliable and consistent results, a service has to
have strong control over its underlying environment
• Service Statelessness: services should be “designed to remain stateful only
when required.”
• Service Discoverability: “services are supplemented with communicative meta
data by which they can be effectively discovered and interpreted.”
• Service Composability: “services are effective composition participants,
regardless of the size and complexity of the composition.”
• Fundamental requirement – interoperability of services: “...stating that
services must be interoperable is just about as evident as stating that services
must exist.”
Ingo Weber53 |
* Preliminary analysis. Content based on SOA Principles of Service Design, Thomas Erl, Prentice Hall, 2007.
Summary: I. Weber, Semantic Methods for Execution-level Business Process Modeling. Springer LNBIP Vol. 40, 2009.

✓

~
✓


~

Microservice Principles and Smart Contracts*
• Small, focused functionality
• Split of responsibility
• Full-stack & independently updatable without downtime
• Stateless
• While some design principles for Microservice Architectures apply,
others do not
• Updates can be independent
• But reliance on the inability of anyone to update without agreement /
governance is one source of trust in a smart contract
Ingo Weber54 |
* Preliminary analysis.
Microservice Principles and Smart Contracts*
• Small, focused functionality
• Split of responsibility
• Full-stack & independently updatable without downtime
• Stateless
• While some design principles for Microservice Architectures apply,
others do not
• Updates can be independent
• But reliance on the inability of anyone to update without agreement /
governance is one source of trust in a smart contract
Ingo Weber55 |
✓
✓
~

* Preliminary analysis.
A Pattern Collection
Xu X, Pautasso C, Zhu L, Lu Q, Weber I. et al. A pattern collection for blockchain-based applications.
In: 23rd European Conference on Pattern Languages of Programs (EuroPLoP2018)
Software Architecture and Engineering for Blockchain-based Applications | Ingo Weber56 |
Some patterns of
relevance here
Pattern 11: Contract Registry
Ingo Weber57 |
Pattern 12: Data Contract
Ingo Weber58 |
Pattern 13: Embedded Permission
Ingo Weber59 |
Summary
• Architecting and developing applications on Blockchain is
challenging
• Our research:
– Software Architecture for Blockchain-based applications
– Empirical and formal research on Blockchains
– Model-driven development of smart contracts
• Links between Services and Blockchain
• Integrating Blockchain-based Applications with Services
• Service Composition using Smart Contracts
• Blockchain-as-a-Service
• Microservice Architectures and Smart Contracts
www.csiro.au
Thank you
Ingo Weber | Principal Research Scientist & Team Leader
ingo.weber@data61.csiro.au
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/2)
1. 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
2. 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
3. AODV-based Routing for Payment Channel Networks Philipp Hoenisch and Ingo Weber ICBC’18: International Conference on Blockchain. June
30, 2018, Seattle, USA
4. 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.
5. 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.
6. On availability for blockchain-based systems, Ingo Weber, Vincent Gramoli, Mark Staples, Alex Ponomarev, Ralph Holz, An Binh Tran, and
Paul Rimba. In SRDS’17: IEEE International Symposium on Reliable Distributed Systems, Hong Kong, China, September 2017.
7. Optimized execution of business processes on blockchain, Luciano García-Bañuelos, Alexander Ponomarev, Marlon Dumas, and Ingo Weber.
15th International Conference on Business Process Management (BPM’17), Barcelona, Spain, September 2017.
8. 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: International Conference on Business Process Management, Demo track, Barcelona, Spain, September
2017.
9. 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.
References (2/2)
10. 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).
11. 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).
12. 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).
13. Blockchain Consensus, Tyler Crain, Vincent Gramoli, Michel Raynal, Mikel Larrea. Proceedings of AlgoTel 2017.
14. 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.
15. 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.
16. 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.
17. The Blockchain Anomaly, Christopher Natoli, Vincent Gramoli. Proceedings of the 15th IEEE International Symposium on Network Computing
and Applications (NCA’16), IEEE Oct 2016
18. 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
19. New kids on the block: an analysis of modern blockchains, Luke Anderson, Ralph Holz, Alexander Ponomarev, Paul Rimba, Ingo Weber.
arXiv:1606:06530, 2016
20. On the Danger of Private Blockchains, Vincent Gramoli. Workshop on Distributed Cryptocurrencies and Consensus Ledgers (DCCL’16), 2016
21. 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
22. 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

Blockchain and Services – Exploring the Links

  • 1.
    www.csiro.au Blockchain and Services– Exploring the Links Ingo Weber | Principal Research Scientist & Team Leader Architecture & Analytics Platforms (AAP) team ingo.weber@data61.csiro.au Conj. Assoc. Professor, UNSW Australia | Adj. Assoc. Professor, Swinburne University
  • 2.
    Agenda: • Blockchain Backgroundand Terminology • Blockchain Research of the AAP team, Data61 • Integrating Blockchain-based Applications with Services • Service Composition using Smart Contracts • Blockchain-as-a-Service • Microservice Architectures and Smart Contracts
  • 3.
    Blockchain Background andTerminology From our forthcoming book: Xiwei Xu, Ingo Weber, Mark Staples Architecture for Blockchain Applications Springer, (hopefully) 2018
  • 4.
    Blockchain 4 | Organization 1Organization 2 Organization 1 Organization 2 Centralized Trusted Authority Traditional trusted environment Blockchain trustless environment Blockchain network
  • 5.
    How? Blockchain Smart Contracts:Use and Application in BPM | Ingo Weber5 | • Immutable data base • Public ledger • Every node hosts a replica • Distributed consensus - No central owner of consensus • Transaction is verified by every node • Combination of knowledge from Distributed Systems, Peer-to-Peer, Cryptography, Incentive Systems and Game Theory Blockchain network
  • 6.
    Blockchain 2nd gen– Smart Contracts Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber6 | • 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
  • 7.
    Visualization of aBlockchain http://ethviewer.live Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber7 |
  • 8.
    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 Application in BPM | Ingo Weber8 |
  • 9.
    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 Application in BPM | Ingo Weber9 |
  • 10.
    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 Application in BPM | Ingo Weber10 |
  • 11.
    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 Application in BPM | Ingo Weber11 |
  • 12.
    Blockchain Research ofthe AAP team, Data61
  • 13.
    Blockchain Research atData61 • Designing Systems with Blockchain – Design Trade-offs – Model-driven development – Governance and risk management • Trustworthy Blockchain Systems – Formal – Empirical Blockchain | Data61, CSIRO13 | • Defining and Using Smart Contracts – As Legal Contracts – Business Process
  • 14.
    Designing Systems withBlockchain • 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. • Design Patterns • A pattern collection for blockchain-based applications. X. Xu, C. Pautasso, L., Q. Lu, and I. Weber, EuroPLoP 2018 • 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/DLT Projects14 |
  • 15.
    Model-driven Engineering • BusinessProcess 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, Future Generation Computer Systems (FGCS), accepted August 2017 • 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/DLT Projects15 |
  • 16.
    High and Low-levelViews • 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/DLT Projects16 | • 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
  • 17.
    Projects with AustralianTreasury • DLT Foresight – What might plausibly happen, across society & economy? • Technical Risks & Opportunities – How do needs in various use cases fit blockchain’s capabilities? Blockchain | Data61, CSIRO17 | • Funded by Australian National Innovation Science Agenda • Two reports, launched 6 June 2017 • See www.data61.csiro.au/blockchain
  • 18.
    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 > 50,000 tps with globally distributed nodes Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber18 |
  • 19.
    Blockchains are NotStand-Alone Systems Data61 : Preliminary Findings on Blockchain/DLT Projects19 | UI for humans IoT integration Auxiliary databases Legacy systems Key management private data BIG DATA Blockchain is a component
  • 20.
    Non-Functional Trade-Offs • Comparedto 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/DLT Projects20 | Security: combination of CIA properties
  • 21.
  • 22.
    Blockchain is aclosed-world system • To interact with smart contracts on blockchain, need to: • Write: create and broadcast a blockchain transaction (BCTX) for each method call • Read: monitor smart contract variable values and/or event logs to see updates • The outside world speaks Services • REST / SOAP-WSDL / JSON RPC • How to bridge between the two worlds? • Recurring problem • Our solution: a Trigger component as bridge
  • 23.
    Trigger as bridgebetween blockchain and services Blockchain Smart contract Code Variables Event log Trigger AppAppApp
  • 24.
  • 25.
  • 26.
    Service Composition usingSmart Contracts Ingo Weber, Sherry Xu, Regis Riveret, Guido Governatori, Alexander Ponomarev and Jan Mendling Untrusted business process monitoring and execution using blockchain. BPM 2016 Luciano García-Bañuelos, Alexander Ponomarev, Marlon Dumas, and Ingo Weber Optimized Execution of Business Processes on Blockchain. BPM 2017 Orlenys López-Pintado, Luciano García-Bañuelos, Marlon Dumas, and Ingo Weber. Caterpillar: A blockchain-based business process management system. BPM Demo 2017
  • 27.
    Motivation • Integration ofbusiness processes across organizations: a key driver of productivity gains • Means: service composition – orchestration and choreography • 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 Weber27 |
  • 28.
    Motivation: example Blockchain SmartContracts: Use and Application in BPM | Ingo Weber28 | Issues: - Knowing the status, tracking correct execution - Handling payments - Resolving conflicts
  • 29.
    Motivation: example Blockchain SmartContracts: Use and Application in BPM | Ingo Weber29 | Issues: - Knowing the status, tracking correct execution - Handling payments - Resolving conflicts → Trusted 3rd party ? → Blockchain! Service Interface
  • 30.
    Approach in anutshell • 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 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 Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber30 |
  • 31.
    Architecture Blockchain Smart Contracts:Use and Application in BPM | Ingo Weber31 |
  • 32.
    Runtime • Instantiation: • Newinstance 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 Weber32 |
  • 33.
    Runtime • Instantiation: • Newinstance 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 Weber33 | 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
  • 34.
    Service composition variants BlockchainSmart Contracts: Use and Application in BPM | Ingo Weber34 | Mediator (orchestration) Choreography → C-Monitor
  • 35.
    Translator 1.Translate BPMN controlflow to WFnet (proven to be safe) 35 |
  • 36.
    Translator 1.Translate BPMN controlflow to WFnet (proven to be safe) 2.Capture dataflow and conditions 36 |
  • 37.
    Translator 1.Translate BPMN controlflow to WFnet (proven to be safe) 2.Capture dataflow and conditions 3.Reduce WFnet and annotate dataflow 37 |
  • 38.
    Translator 1.Translate BPMN controlflow 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 38 |
  • 39.
    Translator 1.Translate BPMN controlflow 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 39 | Bit vector update: set pos 1 to “0” set pos 2 and 3 to “1” Bit vector check: does pos 1 have value “1”?
  • 40.
    Tooling: Design time- Lorikeet Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber40 |
  • 41.
    Tooling: Runtime –POD-Viz Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber41 |
  • 42.
  • 43.
    Motivation • Blockchain isa relatively new technology with steep learning curve • Gartner survey: “23 percent of [relevant surveyed] CIOs said that blockchain requires the most new skills to implement of any technology area, while 18 percent said that blockchain skills are the most difficult to find.” • aaS offers can bootstrap that learning phase to a degree • Pre-made templates • Management tools – IDEs – Monitoring tools – ...
  • 44.
    Commercial Offers • But:some of these providers require/encourage that all nodes are using the same provider • Decentralization? Ingo Weber44 |
  • 45.
    Early-stage research: unifiedapproach • “uBaaS: A Unified Blockchain as a Service Platform” • Under review • Deployment as a service • Includes a blockchain deployment service and a smart contract deployment service • Platform agnostic to avoid lock-in to specific cloud platforms • Design patterns as a service • Common data management services and smart contract design services • Based on a design pattern to better leverage the unique properties of blockchain (i.e. immutability and data integrity, transparency) and address the limitations (i.e. privacy and scalability) Ingo Weber45 |
  • 46.
  • 47.
    DevOps • Microservice Architecture– a consequence of DevOps (but not only) 47
  • 48.
    DevOps consequences • Keepteams relatively small • Amazon’s “two pizza rule”: no team should be larger than can be fed with two pizzas • Advantages: make decisions quickly, less coordination overhead, more coherent units • Team size becomes a major driver of the overall architecture: • Small teams develop small services → Microservices • Coordination overhead is minimized by channeling most interaction through service interfaces: – Team X provides service A, which is used by teams Y and Z – If changes are needed, they are communicated, implemented, and added to the interface. 48
  • 49.
    Microservice Architecture • Usedin practice by organizations that adopted (or invented) many DevOps practices • Amazon, LinkedIn, Google, … • Each service provides small amount of functionality • Total system functionality comes from composing multiple services 49
  • 50.
    Microservice Architecture • Eachuser request is satisfied by some sequence of services • Most services are not externally available • Each service communicates with other services through service interfaces • Service depth may be 70, e.g., LinkedIn 50 Business Service Microservice Microservice Microservice Microservice Microservice Microservice Microservice Microservice MicroserviceMicroservice Microservice
  • 51.
    Smart Contracts asServices? • Analogy: • Smart contract code ≈ Java Class • Deployed smart contract ≈ Java Object, but with some properties – Defined interface – Standard way to invoke – Callable by anyone (who can send transactions to the blockchain) → Similar to Web service! • Some design principles can apply Ingo Weber51 |
  • 52.
    Service-Orientation Design Principlesand Smart Contracts* • Standardized Service Contract: the public interfaces of a services make use of contract design standards. (Contract: WSDL in WS*) • Service Loose Coupling: to impose low burdens on service consumers (coupling ~ degree of dependency) • Service Abstraction: “to hide as much of the underlying details of a service as possible” • Service Reusability: services contain agnostic logic and “can be positioned as reusable enterprise resources” • Service Autonomy: to provide reliable and consistent results, a service has to have strong control over its underlying environment • Service Statelessness: services should be “designed to remain stateful only when required.” • Service Discoverability: “services are supplemented with communicative meta data by which they can be effectively discovered and interpreted.” • Service Composability: “services are effective composition participants, regardless of the size and complexity of the composition.” • Fundamental requirement – interoperability of services: “...stating that services must be interoperable is just about as evident as stating that services must exist.” Ingo Weber52 | * Preliminary analysis. Content based on SOA Principles of Service Design, Thomas Erl, Prentice Hall, 2007. Summary: I. Weber, Semantic Methods for Execution-level Business Process Modeling. Springer LNBIP Vol. 40, 2009.
  • 53.
    Service-Orientation Design Principlesand Smart Contracts* • Standardized Service Contract: the public interfaces of a services make use of contract design standards. (Contract: WSDL in WS*) • Service Loose Coupling: to impose low burdens on service consumers (coupling ~ degree of dependency) • Service Abstraction: “to hide as much of the underlying details of a service as possible” • Service Reusability: services contain agnostic logic and “can be positioned as reusable enterprise resources” • Service Autonomy: to provide reliable and consistent results, a service has to have strong control over its underlying environment • Service Statelessness: services should be “designed to remain stateful only when required.” • Service Discoverability: “services are supplemented with communicative meta data by which they can be effectively discovered and interpreted.” • Service Composability: “services are effective composition participants, regardless of the size and complexity of the composition.” • Fundamental requirement – interoperability of services: “...stating that services must be interoperable is just about as evident as stating that services must exist.” Ingo Weber53 | * Preliminary analysis. Content based on SOA Principles of Service Design, Thomas Erl, Prentice Hall, 2007. Summary: I. Weber, Semantic Methods for Execution-level Business Process Modeling. Springer LNBIP Vol. 40, 2009.  ✓  ~ ✓   ~ 
  • 54.
    Microservice Principles andSmart Contracts* • Small, focused functionality • Split of responsibility • Full-stack & independently updatable without downtime • Stateless • While some design principles for Microservice Architectures apply, others do not • Updates can be independent • But reliance on the inability of anyone to update without agreement / governance is one source of trust in a smart contract Ingo Weber54 | * Preliminary analysis.
  • 55.
    Microservice Principles andSmart Contracts* • Small, focused functionality • Split of responsibility • Full-stack & independently updatable without downtime • Stateless • While some design principles for Microservice Architectures apply, others do not • Updates can be independent • But reliance on the inability of anyone to update without agreement / governance is one source of trust in a smart contract Ingo Weber55 | ✓ ✓ ~  * Preliminary analysis.
  • 56.
    A Pattern Collection XuX, Pautasso C, Zhu L, Lu Q, Weber I. et al. A pattern collection for blockchain-based applications. In: 23rd European Conference on Pattern Languages of Programs (EuroPLoP2018) Software Architecture and Engineering for Blockchain-based Applications | Ingo Weber56 | Some patterns of relevance here
  • 57.
    Pattern 11: ContractRegistry Ingo Weber57 |
  • 58.
    Pattern 12: DataContract Ingo Weber58 |
  • 59.
    Pattern 13: EmbeddedPermission Ingo Weber59 |
  • 60.
    Summary • Architecting anddeveloping applications on Blockchain is challenging • Our research: – Software Architecture for Blockchain-based applications – Empirical and formal research on Blockchains – Model-driven development of smart contracts • Links between Services and Blockchain • Integrating Blockchain-based Applications with Services • Service Composition using Smart Contracts • Blockchain-as-a-Service • Microservice Architectures and Smart Contracts
  • 61.
    www.csiro.au Thank you Ingo Weber| Principal Research Scientist & Team Leader ingo.weber@data61.csiro.au 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/
  • 62.
    References (1/2) 1. Quantifyingthe 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 2. 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 3. AODV-based Routing for Payment Channel Networks Philipp Hoenisch and Ingo Weber ICBC’18: International Conference on Blockchain. June 30, 2018, Seattle, USA 4. 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. 5. 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. 6. On availability for blockchain-based systems, Ingo Weber, Vincent Gramoli, Mark Staples, Alex Ponomarev, Ralph Holz, An Binh Tran, and Paul Rimba. In SRDS’17: IEEE International Symposium on Reliable Distributed Systems, Hong Kong, China, September 2017. 7. Optimized execution of business processes on blockchain, Luciano García-Bañuelos, Alexander Ponomarev, Marlon Dumas, and Ingo Weber. 15th International Conference on Business Process Management (BPM’17), Barcelona, Spain, September 2017. 8. 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: International Conference on Business Process Management, Demo track, Barcelona, Spain, September 2017. 9. 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.
  • 63.
    References (2/2) 10. 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). 11. 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). 12. 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). 13. Blockchain Consensus, Tyler Crain, Vincent Gramoli, Michel Raynal, Mikel Larrea. Proceedings of AlgoTel 2017. 14. 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. 15. 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. 16. 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. 17. The Blockchain Anomaly, Christopher Natoli, Vincent Gramoli. Proceedings of the 15th IEEE International Symposium on Network Computing and Applications (NCA’16), IEEE Oct 2016 18. 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 19. New kids on the block: an analysis of modern blockchains, Luke Anderson, Ralph Holz, Alexander Ponomarev, Paul Rimba, Ingo Weber. arXiv:1606:06530, 2016 20. On the Danger of Private Blockchains, Vincent Gramoli. Workshop on Distributed Cryptocurrencies and Consensus Ledgers (DCCL’16), 2016 21. 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 22. 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