학술논문

Flexible Execution of Multi-Party Business Processes on Blockchain
Document Type
Conference
Source
2022 IEEE/ACM 5th International Workshop on Emerging Trends in Software Engineering for Blockchain (WETSEB) WETSEB Emerging Trends in Software Engineering for Blockchain (WETSEB), 2022 IEEE/ACM 5th International Workshop on. :25-32 May, 2022
Subject
Computing and Processing
Engineering profession
Conferences
Smart contracts
Market research
Blockchains
Rigidity
Faces
BPMN
choreography
blockchain
flexibility
Language
Abstract
The execution of multi-party business processes on blockchains has been more and more used in the last years in those contexts where trust among the involved parties is a crucial requirement that cannot be assumed by default. The immutability, transparency, and decentralised characteristics of the blockchain ensure the parties' responsibility in case of controversial actions. However, if on the one hand, the immutable nature of the blockchain brings many benefits from the trust perspective, on the other hand such rigidity leads to a lack of flexibility in the execution of blockchain-based business processes. In this paper, we face the challenge of making flexible the execution of multi-party business processes based on blockchain. We propose an approach that exploits the BPMN choreography model to describe a multi-party business process. From the model it is produced an on-chain smart contract storing the current state of the execution, and an off-chain rule-based program implementing the choreography logic. The decoupling of the execution state from the choreography logic allows achieving the flexibility of the multi-party interactions. We provide an implementation of the approach, the FlexChain framework, that relies on the Ethereum permissionless blockchain, hence on Solidity smart contracts, and on Drools as an off-chain rules engine. We assess the feasibility and effectiveness of the proposed solution through a case study representing the procedure for a career upgrade, whose experiments have been conducted on the Rinkeby Ethereum Testnet.