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/
Optimizing AI for immediate response in Smart CCTV
Building Hybrid DApps using Blockchain Tactics - The Meta-Transaction Example (ICBC 2020)
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. 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. 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. 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. • 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.
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. 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. Thank you! 😄
Questions? 💭
@ColdDevil
Florian Blum, University of Duisburg-Essen, Germany
florian.blum@uni-due.de