{"title":"Engineering Software Architectures of Blockchain-Oriented Applications","authors":"F. Wessling, V. Gruhn","doi":"10.1109/ICSA-C.2018.00019","DOIUrl":null,"url":null,"abstract":"Building blockchain-oriented applications forces developers to rethink the architecture of their software from the ground up. The use of blockchain technology poses multiple challenges as the software is operated in a decentralized, trustless, transparent and tamper-proof environment. When building decentralized apps the developers need to deal with blockchain properties such as decentralization, a certain delay in the execution of function calls of distributed code contracts and particularly need to consider how users interact with their application. We surveyed several existing decentralized apps and examined their architecture to identify multiple reoccurring architectural patterns, each with different implications regarding the trust, user experience and security. As building blockchain-oriented applications is gaining importance, models, tools and methods for blockchain-oriented software engineering have to be developed. This paper gives a first hint towards architectural patterns for blockchain-based applications and motivates why it is important to consider how the user interacts with the decentralized apps.","PeriodicalId":261962,"journal":{"name":"2018 IEEE International Conference on Software Architecture Companion (ICSA-C)","volume":"101 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"31","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 IEEE International Conference on Software Architecture Companion (ICSA-C)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSA-C.2018.00019","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 31
Abstract
Building blockchain-oriented applications forces developers to rethink the architecture of their software from the ground up. The use of blockchain technology poses multiple challenges as the software is operated in a decentralized, trustless, transparent and tamper-proof environment. When building decentralized apps the developers need to deal with blockchain properties such as decentralization, a certain delay in the execution of function calls of distributed code contracts and particularly need to consider how users interact with their application. We surveyed several existing decentralized apps and examined their architecture to identify multiple reoccurring architectural patterns, each with different implications regarding the trust, user experience and security. As building blockchain-oriented applications is gaining importance, models, tools and methods for blockchain-oriented software engineering have to be developed. This paper gives a first hint towards architectural patterns for blockchain-based applications and motivates why it is important to consider how the user interacts with the decentralized apps.