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.
Flexible Execution of Multi-Party Business Processes on Blockchain
Corradini F.;Marcelletti A.;Morichetta A.;Polini A.;Re B.;Tiezzi F.
2022-01-01
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.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.