|Falazi, Ghareeb; Hahn, Michael; Breitenbücher, Uwe; Leymann, Frank; Yussupov, Vladimir: Process-Based Composition of Permissioned and Permissionless Blockchain Smart Contracts. |
In: Proceedings of the 2019 IEEE 23rd International Enterprise Distributed Object Computing Conference (EDOC 2019).
Universität Stuttgart, Fakultät Informatik, Elektrotechnik und Informationstechnik.
S. 77-87, englisch.
IEEE Computer Society, 30. Oktober 2019.
Artikel in Tagungsband (Konferenz-Beitrag).
Blockchains are distributed systems that facilitate the interaction of autonomous entities with limited mutual trust. Many of them support transactional applications known as smart contracts, which access and modify the shared world state. Permissionless blockchains are completely decentralized and do not require mutual trust between interacting peers, but at the expense of having low performance and limited data confidentiality capabilities. On the other hand, permissioned blockchains solve these issues, but sacrifice complete decentralization and involve more trust assumptions. Therefore, there is no single blockchain system suitable for all use-cases. However, this becomes a serious integration challenge for enterprises that need to interact with multiple permissioned and permissionless blockchains in the same context. To facilitate this, we propose an approach that enables composing smart contract functions of various permissioned and permissionless blockchain systems by providing the ability to invoke them directly from business process models using a new task type. To keep this task blockchain-agnostic, we designed a generic technique to identify smart contract functions, as well as a generic metric to describe the degree-of-confidence in the finality of blockchain transactions. Thereby, the proposed approach extends our previous work, BlockME, which provides business modeling extensions only suitable for interacting with permissionless blockchains. To validate the practical feasibility of our approach, we provide a detailed system architecture and a prototypical implementation supporting multiple blockchains.
Keywords: blockchains, business process management, permissioned blockchains, smart contract composition, blockchain access layer, BlockME2