Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Building Hybrid DApps using Blockchain Tactics - The Meta-Transaction Example (ICBC 2020)

53 views

Published on

Presentation slides of the paper "Building Hybrid DApps using Blockchain Tactics - The Meta-Transaction Example" at the IEEE International Conference on Blockchain and Cryptocurrency (ICBC 2020), Toronto, Canada

For more information see https://florianblum.com/

Published in: Software
  • Be the first to comment

  • Be the first to like this

Building Hybrid DApps using Blockchain Tactics - The Meta-Transaction Example (ICBC 2020)

  1. 1. 2020-05-04 Building Hybrid DApps using Blockchain Tactics The Meta-Transaction Example ICBC 2020, Virtual Conference, AoE @ColdDevil Florian Blum, University of Duisburg-Essen, Germany florian.blum@uni-due.de
  2. 2. Motivation • Take advantage of Blockchain technology: decentralized, trustless, transparent and tamper-proof app environment • Deal with disadvantages: transaction costs, block creation delay, technical complexity, difficult updates • Challenging to determine: • Which attributes are important for my use case? • Which elements of my architecture benefit from blockchain technology? • Increasing need to build good decentralized app (DApp) architectures • Best practices, architectural patterns, design patterns for smart contracts • Concepts to support architectural design of blockchain-based applications are missing 2
  3. 3. Hybrid Software Architectures • Hybrid Software Architectures: Balance between centralized and decentralized elements • How to add blockchain technology to an existing system? • How to replace an existing component with a decentralized counterpart? • Blockchain technology is still new in Software Engineering • impact of design decisions on security, maintainability, performance or cost still unknown • a new blockchain-oriented view is required • we propose blockchain tactics as a guideline and structured way for changing or building a system • Blockchain-Oriented Software Engineering (BOSE) 3 [Porru2017] S. Porru, A. Pinna, M. Marchesi, und R. Tonelli, „Blockchain-Oriented Software Engineering: Challenges and New Directions“, in 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C), Mai 2017, S. 169–171, doi: 10.1109/ICSE-C.2017.142.
  4. 4. HYDRA Engineering Process 4 [Wessling2018] F. Wessling, C. Ehmke, M. Hesenius, und V. Gruhn, „How Much Blockchain Do You Need? Towards a Concept for Building Hybrid DApp Architectures“, in WETSEB’18: IEEE/ACM 1st International Workshop on Emerging Trends in Software Engineering for Blockchain (WETSEB 2018), ICSE 2018, Mai 2018, doi: 10.1145/3194113.3194121. Hybrid DApp Requirements and Architecture Process Blockchain Tactics HYDRA Engineering Process derive new tactics by application use tactics for decision-making Strategies Tactics Design Patterns S: reduce required level of trust S: reduce centrality S: increase transparency T: use blockchain technology T: use distributed database T: accommodate UX T: accommodate privacy T: accommodate scalability DP: Meta Transactions T: off-chain computation T: off-chain storage DP: State Channels DP: IPFS DP: Swarm T: conceal information DP: Zero- Knowledge- Proofs DP: Sidechains T: wallet placement 3) Trust Relations2) Interactions Essence Essence 1) Actors and Goals 2a) Processes 2b) Data Flows objectively Incarnation 3a) Derive Trust Relations from Data Flows 4) Architectural Design 5) Implementation and Deployment subjectively 3b) Complement Trust Relations by Attack Scenarios and Annotations
  5. 5. • Inspired by "Architectural Tactics", Bass et al.: "a tactic is a design decision that influences the control of a quality attribute response" • Describes the impact of architectural decisions on quality attributes • e.g.: Modifiability Tactics 5 Blockchain Tactics L. Bass, P. Clements, and R. Kazman, Software Architecture in Practice. Addison-Wesley Professional, 2003.
  6. 6. Blockchain Tactics 6 Strategies Tactics Design Patterns S: reduce required level of trust S: reduce centrality S: increase transparency T: use blockchain technology T: use distributed database T: accommodate UX T: accommodate privacy T: accommodate scalability DP: Meta Transactions T: off-chain computation T: off-chain storage DP: State Channels DP: IPFS DP: Swarm T: conceal information DP: Zero- Knowledge- Proofs DP: Sidechains T: wallet placement
  7. 7. Blockchain Tactics 13 Architectural Design increased cost tamper-proof, transparent, good UX Design-Pattern: Meta Transactions increased cost due to higher smart contract complexity signed and tamper- proof transactions Tactic: accommodate UX Tactic: Use Blockchain Technology low UX as sending a transaction requires a fee tamper-proof, transparent Strategy: Reduce Centrality Requirements
  8. 8. Future Work • Current state • HYDRA Engineering Process = Proposal which information to collect + how to use it • awareness that careful planning of the architecture is even more important for Blockchain systems • architectural and design patterns can have a strong impact on quality attributes • Next steps: apply tactics, learn from it, refine and create new ones • build specific guidelines for selecting design patterns • evaluate guidelines in research projects • Future: architectural strategy = collection of tactics: "Towards a Blockchain Architectural Strategy" 14
  9. 9. Thank you! 😄 Questions? 💭 @ColdDevil Florian Blum, University of Duisburg-Essen, Germany florian.blum@uni-due.de

×