TY - JOUR
T1 - Blockchain and Cryptocurrencies - a Classification and Comparison of Architecture Drivers
AU - Garriga, Martin
AU - Palma, Stefano Dalla
AU - Arias, Maximiliano
AU - De Renzis, Alan
AU - Pareschi, Remo
AU - Tamburri, Damian Andrew
PY - 2021/4/25
Y1 - 2021/4/25
N2 - Blockchain is a decentralized transaction and data management solution, the technological leap behind the success of Bitcoin and other cryptocurrencies. As the variety of existing blockchains and distributed ledgers continues to increase, adopters should focus on selecting the solution that best fits their needs and the requirements of their decentralized applications, rather than developing yet another blockchain from scratch. In this article we present a conceptual framework to aid software architects, developers, and decision makers to adopt the right blockchain technology. The framework exposes the interrelation between technological decisions and architectural features, capturing the knowledge from existing academic literature, industrial products, technical forums/blogs, and experts' feedback. We empirically show the applicability of our framework by dissecting the platforms behind Bitcoin and other top 10 cryptocurrencies, aided by a focus group with researchers and industry practitioners. Then, we leverage the framework together with key notions of the architectural tradeoff analysis method to analyze four real-world blockchain case studies from industry and academia. Results shown that applying our framework leads to a deeper understanding of the architectural tradeoffs, allowing to assess technologies more objectively and select the one that best fit developers' needs, ultimately cutting costs, reducing time-to-market and accelerating return on investment.
AB - Blockchain is a decentralized transaction and data management solution, the technological leap behind the success of Bitcoin and other cryptocurrencies. As the variety of existing blockchains and distributed ledgers continues to increase, adopters should focus on selecting the solution that best fits their needs and the requirements of their decentralized applications, rather than developing yet another blockchain from scratch. In this article we present a conceptual framework to aid software architects, developers, and decision makers to adopt the right blockchain technology. The framework exposes the interrelation between technological decisions and architectural features, capturing the knowledge from existing academic literature, industrial products, technical forums/blogs, and experts' feedback. We empirically show the applicability of our framework by dissecting the platforms behind Bitcoin and other top 10 cryptocurrencies, aided by a focus group with researchers and industry practitioners. Then, we leverage the framework together with key notions of the architectural tradeoff analysis method to analyze four real-world blockchain case studies from industry and academia. Results shown that applying our framework leads to a deeper understanding of the architectural tradeoffs, allowing to assess technologies more objectively and select the one that best fit developers' needs, ultimately cutting costs, reducing time-to-market and accelerating return on investment.
KW - blockchain
KW - cryptocurrencies
KW - framework
KW - software architectures
UR - http://www.scopus.com/inward/record.url?scp=85091793773&partnerID=8YFLogxK
U2 - 10.1002/cpe.5992
DO - 10.1002/cpe.5992
M3 - Article
SN - 1532-0626
VL - 33
JO - Concurrency and Computation : Practice & Experience
JF - Concurrency and Computation : Practice & Experience
IS - 8
M1 - e5992
ER -