Service-oriented integration of blockchain smart contracts
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Blockchains are distributed systems that enable autonomous entities to collaborate without mutual trust or trusted third parties. To enable this, a blockchain maintains its state in a replicated, append-only ledger that only allows changes via agreed-upon transactions approved by means of a consensus mechanism. Although early blockchains aimed to enable self-governing digital money at a global scale, modern blockchains have expanded their applicability to other domains, such as identity management, international trade, and supply chains. This is facilitated by the introduction of smart contracts, which are immutable programs deployed directly on blockchains and executed by the network nodes in a provable manner. They enable enterprises to execute the logic that governs their collaborations reliably without depending on intermediaries. The emerging blockchain business opportunities have motivated enterprises to integrate them with their processes and systems. However, specific technical challenges complicate this task. For example, the interactions between client applications and blockchains have unclear quality of service. Further, many business scenarios require integrating with services hosted across multiple blockchains. However, blockchains lack standardization, are heterogeneous, and do not readily support cross-chain transactions. To facilitate the integration of blockchains into enterprise applications, the presented thesis proposes to interpret blockchain-based services as regular services in a service-oriented architecture, which allows the adoption of existing Web services concepts to tackle the integration challenges at hand. In particular, this work presents specifications to enable the uniform description, addressing, and invocation of smart contracts. Furthermore, it analyzes the reliable messaging guarantees of blockchains and their ability to run atomic transactions that can be executed in parallel safely, and introduces a uniform approach to handle the problem of blockchain forking. Moreover, the thesis analyzes the characteristics of existing approaches that support distributed business transactions across multiple blockchains and introduces a novel approach that enables executing such transactions in an atomic and serializable manner. To enable the integration of blockchains into business processes this work introduces an approach that supports designing blockchain-aware process models and executing them using standard-compliant engines. Finally, the SOSI method combines the aforementioned contributions to enable service-oriented integration of smart contracts and other blockchain-based services. The technological support for using the SOSI method is facilitated with a comprehensive toolchain, which is implemented prototypically to prove the practical feasibility of the introduced concepts.