An Architectural Pattern Language for Blockchain Application Development

Fouzia Alzhrani, Kawther Saeedi, Liping Zhao

Research output: Working paperPreprint

Abstract

Context: Blockchain technology has recently gained popularity in diverse applications far beyond finance transactions, but the development of blockchain application systems is hard, facing the stringent demand on quality requirements, such as performance, scalability, reliability, portability, interoperability, privacy, and security. Software architecture has long been recognized to be highly critical to realizing key quality requirements. However, as blockchain application development is still a new field, little work has been carried out on software architectures for blockchain applications.
Objective: This paper aims to make a contribution in blockchain application software architectures by proposing a set of interconnected architectural patterns.
Method: These patterns, which are collectively called a pattern language, are identified from 400 real-world blockchain applications. These patterns cover three aspects or viewpoints of blockchain application architectures: Structure, Interaction and Transaction. This paper describes these patterns and demonstrates their applicability by reverse-engineering three real-world blockchain applications.
Results: This paper identifies 12 interconnected architectural patterns for blockchain applications. These patterns can aid in the design of blockchain application architectures from three different
perspectives, comprising structural, international and transactional. The patterns can also be used to review and detect quality issues when designing blockchain applications.
Conclusions: This paper makes a novel contribution to blockchain application architecture research and shows the importance of architectural patterns for supporting application-specific quality requirements.
Original languageEnglish
Number of pages21
Publication statusSubmitted - 2022

Fingerprint

Dive into the research topics of 'An Architectural Pattern Language for Blockchain Application Development'. Together they form a unique fingerprint.

Cite this