Xiwei Xu, Ingo Weber, Liming Zhu, Mark Staples, Jan Bosch, Len Bass, Cesare Pautasso, Paul Rimba
1st IEEE International Conference on Software Architecture (ICSA 2017), Gothenburg, Sweden
Blockchain is an emerging technology for decentralised and transactional data sharing across a large network of untrusted participants. It enables new forms of distributed software architectures, where agreement on shared states can be established without trusting a central integration point. A major difficulty for architects designing applications based on blockchain is that the technology has many configurations and variants. Since blockchains are at an early stage, there is little product data or reliable technology evaluation available to compare different blockchains. In this paper, we propose how to classify and compare blockchains and blockchain-based systems to assist with the design and assessment of their impact on software architectures. Our taxonomy captures major architectural characteristics of blockchains and the impact of their principal design decisions. This taxonomy is intended to help with important architectural considerations about the performance and quality attributes of blockchain-based systems.
PDF: ▼blockchain-icsa2017.pdf (217KB)