F. Blum, Benedikt Severin, Michael Hettmer, Philipp Hückinghaus, V. Gruhn
{"title":"使用区块链策略构建混合dapp -元事务示例","authors":"F. Blum, Benedikt Severin, Michael Hettmer, Philipp Hückinghaus, V. Gruhn","doi":"10.1109/ICBC48266.2020.9169423","DOIUrl":null,"url":null,"abstract":"Building blockchain-based applications and deciding which elements of an architecture should employ blockchain technologies poses several challenges. Architectural design decisions have a strong impact on quality attributes such as privacy, operational cost, transparency, risk and user experience (UX). To deal with these challenges, we propose a structured approach using existing architectural concepts such as strategies, tactics and design patterns and illustrate their application using the Meta-Transaction design pattern. Meta-Transactions are cryptographically signed function calls (i.e. transactions) a user sends to a backend. The backend submits the transaction to the blockchain and pays the fees on behalf of the user. Due to the cryptographic signature, the backend is not able to manipulate the function name or its parameters, thus acting as a trustless proxy. Several other design patterns exist in the area of blockchain-oriented applications but it remains unclear how to decide which are suitable for a given use case and how quality attributes of the resulting system are affected. By using the Meta-Transaction design pattern as an example, this paper motivates why Blockchain Tactics and corresponding design patterns are necessary and help to structure best practices and common solutions for challenges of using blockchain technology.","PeriodicalId":420845,"journal":{"name":"2020 IEEE International Conference on Blockchain and Cryptocurrency (ICBC)","volume":"18 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":"{\"title\":\"Building Hybrid DApps using Blockchain Tactics -The Meta-Transaction Example\",\"authors\":\"F. Blum, Benedikt Severin, Michael Hettmer, Philipp Hückinghaus, V. Gruhn\",\"doi\":\"10.1109/ICBC48266.2020.9169423\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Building blockchain-based applications and deciding which elements of an architecture should employ blockchain technologies poses several challenges. Architectural design decisions have a strong impact on quality attributes such as privacy, operational cost, transparency, risk and user experience (UX). To deal with these challenges, we propose a structured approach using existing architectural concepts such as strategies, tactics and design patterns and illustrate their application using the Meta-Transaction design pattern. Meta-Transactions are cryptographically signed function calls (i.e. transactions) a user sends to a backend. The backend submits the transaction to the blockchain and pays the fees on behalf of the user. Due to the cryptographic signature, the backend is not able to manipulate the function name or its parameters, thus acting as a trustless proxy. Several other design patterns exist in the area of blockchain-oriented applications but it remains unclear how to decide which are suitable for a given use case and how quality attributes of the resulting system are affected. By using the Meta-Transaction design pattern as an example, this paper motivates why Blockchain Tactics and corresponding design patterns are necessary and help to structure best practices and common solutions for challenges of using blockchain technology.\",\"PeriodicalId\":420845,\"journal\":{\"name\":\"2020 IEEE International Conference on Blockchain and Cryptocurrency (ICBC)\",\"volume\":\"18 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2020-05-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"6\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2020 IEEE International Conference on Blockchain and Cryptocurrency (ICBC)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICBC48266.2020.9169423\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2020 IEEE International Conference on Blockchain and Cryptocurrency (ICBC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICBC48266.2020.9169423","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Building Hybrid DApps using Blockchain Tactics -The Meta-Transaction Example
Building blockchain-based applications and deciding which elements of an architecture should employ blockchain technologies poses several challenges. Architectural design decisions have a strong impact on quality attributes such as privacy, operational cost, transparency, risk and user experience (UX). To deal with these challenges, we propose a structured approach using existing architectural concepts such as strategies, tactics and design patterns and illustrate their application using the Meta-Transaction design pattern. Meta-Transactions are cryptographically signed function calls (i.e. transactions) a user sends to a backend. The backend submits the transaction to the blockchain and pays the fees on behalf of the user. Due to the cryptographic signature, the backend is not able to manipulate the function name or its parameters, thus acting as a trustless proxy. Several other design patterns exist in the area of blockchain-oriented applications but it remains unclear how to decide which are suitable for a given use case and how quality attributes of the resulting system are affected. By using the Meta-Transaction design pattern as an example, this paper motivates why Blockchain Tactics and corresponding design patterns are necessary and help to structure best practices and common solutions for challenges of using blockchain technology.