Affiliation:
1. Information Systems Department, King Abdulaziz University, Jeddah 21589, Saudi Arabia
2. Computer Science Department, The University of Manchester, Manchester M13 9PL, UK
Abstract
Blockchain technology has gained popularity in various applications, including finance transactions and beyond. However, developing blockchain application systems is challenging due to stringent quality requirements, such as performance, scalability, and security. Software architecture plays a critical role in realizing key quality requirements. Nonetheless, little work has been performed on software architectures for blockchain applications since blockchain application development is still a new field. This paper proposes twelve architectural patterns for blockchain application software architectures based on 400 cross-industry real-world applications available on the Internet. We determine the key components of each application guided by a blockchain application taxonomy we developed. We then identify typical architectural patterns from the interactions of these components guided by well-known software patterns, such as peer-to-peer, layered, pipe-filter, and access control. Based on the roles of these patterns, we organize them into four architectural views comprising four structural, two interactional, four transactional, and two security patterns. We describe each pattern in detail using a standard form and demonstrate the patterns through a real-world blockchain application. The use of patterns can be valuable in addressing blockchain’s unique challenges, but creativity remains essential in crafting innovative solutions. Mixing architectural patterns according to varying requirements can help developers communicate effectively.
Funder
Institutional Fund Project
Ministry of Education and King Abdulaziz University
Subject
Fluid Flow and Transfer Processes,Computer Science Applications,Process Chemistry and Technology,General Engineering,Instrumentation,General Materials Science
Reference43 articles.
1. Narayanan, A., Bonneau, J., Felten, E., Miller, A., and Goldfeder, S. (2016). Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction, Princeton University Press.
2. Nakamoto, S. (2008). Bitcoin: A peer-to-peer electronic cash system. Decentralized Bus. Rev., Available online: https://assets.pubpub.org/d8wct41f/31611263538139.pdf.
3. A Taxonomy for Characterizing Blockchain Systems;Alzhrani;IEEE Access,2022
4. A systematic literature review of blockchain-based applications: Current status, classification and open issues;Casino;Telemat. Inform.,2019
5. Blockchain for Industry 4.0: A Comprehensive Review;Bodkhe;IEEE Access,2020