Visible to the public The Blockchain as a Software Connector

TitleThe Blockchain as a Software Connector
Publication TypeConference Paper
Year of Publication2016
AuthorsXu, X., Pautasso, C., Zhu, L., Gramoli, V., Ponomarev, A., Tran, A. B., Chen, S.
Conference Name2016 13th Working IEEE/IFIP Conference on Software Architecture (WICSA)
Keywordsarchitectural decision, Architecture connector, Australia, blockchain, blockchain security, Connectors, contracts, cryptography, data handling, decentralized blockchain, decentralized data sharing, Design, design trade-offs, distributed processing, distributed software architectures, Online banking, Peer-to-peer computing, pubcrawl, quality attributes, Resiliency, Scalability, Software, software architecture, software connector, software quality, Trade-off, transactional data sharing, untrusted participants

Blockchain is an emerging technology for decentralized and transactional data sharing across a large network of untrusted participants. It enables new forms of distributed software architectures, where components can find agreements on their shared states without trusting a central integration point or any particular participating components. Considering the blockchain as a software connector helps make explicitly important architectural considerations on the resulting performance and quality attributes (for example, security, privacy, scalability and sustainability) of the system. Based on our experience in several projects using blockchain, in this paper we provide rationales to support the architectural decision on whether to employ a decentralized blockchain as opposed to other software solutions, like traditional shared data storage. Additionally, we explore specific implications of using the blockchain as a software connector including design trade-offs regarding quality attributes.

Citation Keyxu_blockchain_2016