F. Wessling, Christopher Ehmke, Ole Meyer, V. Gruhn
{"title":"Towards Blockchain Tactics: Building Hybrid Decentralized Software Architectures","authors":"F. Wessling, Christopher Ehmke, Ole Meyer, V. Gruhn","doi":"10.1109/ICSA-C.2019.00048","DOIUrl":null,"url":null,"abstract":"Blockchain-based applications usually consist of centralized elements (e.g., web servers and back-end logic) connected to decentralized elements such as smart contracts. The engineering of such hybrid software architectures poses a challenge as it is unclear which elements should be centralized or decentralized. Furthermore the impact of this decision (or the balance between those two areas) on software quality attributes such as security, maintainability, performance or costs is currently unknown. The goal is to build a software architecture using the benefits and handling the challenges of blockchain technology while fulfilling the relevant quality attributes. While there are several approaches examining the relation between architectural decisions and quality attributes in centralized systems, research is at an early stage for decentralized elements in software architectures. This paper presents a first step towards architectural blockchain tactics. With a simplified experiment comparing two implementation variants of an Ethereum smart contract we show that software design patterns are not always beneficial and that the expected usage scenarios have a strong impact on the operational costs. We argue that further research and validation is necessary for gaining more qualitative and quantitative insights to make informed architectural design decisions when using blockchain technology and give a first outline on how to achieve this.","PeriodicalId":239999,"journal":{"name":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-03-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"15","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 IEEE International Conference on Software Architecture Companion (ICSA-C)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSA-C.2019.00048","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 15
Abstract
Blockchain-based applications usually consist of centralized elements (e.g., web servers and back-end logic) connected to decentralized elements such as smart contracts. The engineering of such hybrid software architectures poses a challenge as it is unclear which elements should be centralized or decentralized. Furthermore the impact of this decision (or the balance between those two areas) on software quality attributes such as security, maintainability, performance or costs is currently unknown. The goal is to build a software architecture using the benefits and handling the challenges of blockchain technology while fulfilling the relevant quality attributes. While there are several approaches examining the relation between architectural decisions and quality attributes in centralized systems, research is at an early stage for decentralized elements in software architectures. This paper presents a first step towards architectural blockchain tactics. With a simplified experiment comparing two implementation variants of an Ethereum smart contract we show that software design patterns are not always beneficial and that the expected usage scenarios have a strong impact on the operational costs. We argue that further research and validation is necessary for gaining more qualitative and quantitative insights to make informed architectural design decisions when using blockchain technology and give a first outline on how to achieve this.