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

Florian Blum
Florian BlumPhD student and Research Associate for Blockchain-oriented Software Engineering at the University of Duisburg-Essen
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
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
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.
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
• 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.
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
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
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
Thank you! 😄
Questions? 💭
@ColdDevil
Florian Blum, University of Duisburg-Essen, Germany
florian.blum@uni-due.de
1 of 9

Recommended

Triple n infotech IEEE java titles 2015 by
Triple n infotech IEEE java titles 2015Triple n infotech IEEE java titles 2015
Triple n infotech IEEE java titles 2015subhu8430
48 views2 slides
Towards Blockchain Tactics: Building Hybrid Decentralized Software Architectu... by
Towards Blockchain Tactics: Building Hybrid Decentralized Software Architectu...Towards Blockchain Tactics: Building Hybrid Decentralized Software Architectu...
Towards Blockchain Tactics: Building Hybrid Decentralized Software Architectu...Florian Blum
96 views13 slides
Data Science, Knowledge Discover, Mining and Learning by
Data Science, Knowledge Discover, Mining and LearningData Science, Knowledge Discover, Mining and Learning
Data Science, Knowledge Discover, Mining and LearningEUBrasilCloudFORUM .
89 views10 slides
Final year dotnet projects titles@ dreamweb techno solution trichy - by
Final year  dotnet projects titles@ dreamweb techno solution trichy -Final year  dotnet projects titles@ dreamweb techno solution trichy -
Final year dotnet projects titles@ dreamweb techno solution trichy -ranjith kumar
15 views3 slides
Cloud computing titles list dream web techno solutions by
Cloud computing titles list dream web techno solutionsCloud computing titles list dream web techno solutions
Cloud computing titles list dream web techno solutionsElakkiya Triplen
41 views2 slides
Dutchchain aug18 by
Dutchchain aug18Dutchchain aug18
Dutchchain aug18Michael Zargham
294 views43 slides

More Related Content

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

CLOUD CPOMPUTING SECURITY by
CLOUD CPOMPUTING SECURITYCLOUD CPOMPUTING SECURITY
CLOUD CPOMPUTING SECURITYShivananda Rai
6K views49 slides
[DSC Europe 23][DigiHealth] Muthu Ramachandran AI and Blockchain Framework fo... by
[DSC Europe 23][DigiHealth] Muthu Ramachandran AI and Blockchain Framework fo...[DSC Europe 23][DigiHealth] Muthu Ramachandran AI and Blockchain Framework fo...
[DSC Europe 23][DigiHealth] Muthu Ramachandran AI and Blockchain Framework fo...DataScienceConferenc1
9 views77 slides
AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301) by
AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301)AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301)
AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301)Amazon Web Services
17.8K views23 slides
Software Architecture and Model-driven Engineering for Blockchain Applications by
Software Architecture and Model-driven Engineering for Blockchain ApplicationsSoftware Architecture and Model-driven Engineering for Blockchain Applications
Software Architecture and Model-driven Engineering for Blockchain ApplicationsIngo Weber
1.2K views46 slides
Blockchain: Background and Data61 Research Overview by
Blockchain: Background and Data61 Research OverviewBlockchain: Background and Data61 Research Overview
Blockchain: Background and Data61 Research OverviewIngo Weber
1.2K views36 slides
Enhance Your Mobile Application with The Use of Blockchain Technology by
Enhance Your Mobile Application with The Use of Blockchain TechnologyEnhance Your Mobile Application with The Use of Blockchain Technology
Enhance Your Mobile Application with The Use of Blockchain TechnologyDivyaConsagous
64 views18 slides

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

[DSC Europe 23][DigiHealth] Muthu Ramachandran AI and Blockchain Framework fo... by DataScienceConferenc1
[DSC Europe 23][DigiHealth] Muthu Ramachandran AI and Blockchain Framework fo...[DSC Europe 23][DigiHealth] Muthu Ramachandran AI and Blockchain Framework fo...
[DSC Europe 23][DigiHealth] Muthu Ramachandran AI and Blockchain Framework fo...
AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301) by Amazon Web Services
AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301)AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301)
AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301)
Amazon Web Services17.8K views
Software Architecture and Model-driven Engineering for Blockchain Applications by Ingo Weber
Software Architecture and Model-driven Engineering for Blockchain ApplicationsSoftware Architecture and Model-driven Engineering for Blockchain Applications
Software Architecture and Model-driven Engineering for Blockchain Applications
Ingo Weber1.2K views
Blockchain: Background and Data61 Research Overview by Ingo Weber
Blockchain: Background and Data61 Research OverviewBlockchain: Background and Data61 Research Overview
Blockchain: Background and Data61 Research Overview
Ingo Weber1.2K views
Enhance Your Mobile Application with The Use of Blockchain Technology by DivyaConsagous
Enhance Your Mobile Application with The Use of Blockchain TechnologyEnhance Your Mobile Application with The Use of Blockchain Technology
Enhance Your Mobile Application with The Use of Blockchain Technology
DivyaConsagous64 views
Blockchain for Digital Transformation in Banking by Floyd DCosta
Blockchain for Digital Transformation in Banking Blockchain for Digital Transformation in Banking
Blockchain for Digital Transformation in Banking
Floyd DCosta1.1K views
Blockchain Technology and Its Application in Artificial Intelligence and Mach... by Dr. Kotrappa Sirbi
Blockchain Technology and Its Application in Artificial Intelligence and Mach...Blockchain Technology and Its Application in Artificial Intelligence and Mach...
Blockchain Technology and Its Application in Artificial Intelligence and Mach...
Dr. Kotrappa Sirbi148 views
Blockchain and Services – Exploring the Links by Ingo Weber
Blockchain and Services – Exploring the LinksBlockchain and Services – Exploring the Links
Blockchain and Services – Exploring the Links
Ingo Weber558 views
Microservices Architecture - Cloud Native Apps by Araf Karsh Hamid
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
Araf Karsh Hamid1.4K views
Capella Days 2021 | An example of model-centric engineering environment with ... by Obeo
Capella Days 2021 | An example of model-centric engineering environment with ...Capella Days 2021 | An example of model-centric engineering environment with ...
Capella Days 2021 | An example of model-centric engineering environment with ...
Obeo251 views
What is Data as a Service by T-Mobile Principle Technical PM by Product School
What is Data as a Service by T-Mobile Principle Technical PMWhat is Data as a Service by T-Mobile Principle Technical PM
What is Data as a Service by T-Mobile Principle Technical PM
Product School169 views
Insurtech, Cloud and Cybersecurity - Chartered Insurance Institute by Henrique Centieiro
Insurtech, Cloud and Cybersecurity -  Chartered Insurance InstituteInsurtech, Cloud and Cybersecurity -  Chartered Insurance Institute
Insurtech, Cloud and Cybersecurity - Chartered Insurance Institute
Henrique Centieiro106 views
Advanced Blockchain Strategies by SEOExp
Advanced Blockchain StrategiesAdvanced Blockchain Strategies
Advanced Blockchain Strategies
SEOExp3 views
02 architectures in_context by Majong DevJfu
02 architectures in_context02 architectures in_context
02 architectures in_context
Majong DevJfu1K views
Utility Applications for Blockchain by Josh Gould
Utility Applications for BlockchainUtility Applications for Blockchain
Utility Applications for Blockchain
Josh Gould1.8K views
Bridging the Gap: Analyzing Data in and Below the Cloud by Inside Analysis
Bridging the Gap: Analyzing Data in and Below the CloudBridging the Gap: Analyzing Data in and Below the Cloud
Bridging the Gap: Analyzing Data in and Below the Cloud
Inside Analysis644 views

Recently uploaded

Introduction to Gradle by
Introduction to GradleIntroduction to Gradle
Introduction to GradleJohn Valentino
5 views7 slides
MS PowerPoint.pptx by
MS PowerPoint.pptxMS PowerPoint.pptx
MS PowerPoint.pptxLitty Sylus
7 views14 slides
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium... by
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...Lisi Hocke
35 views124 slides
Flask-Python.pptx by
Flask-Python.pptxFlask-Python.pptx
Flask-Python.pptxTriloki Gupta
7 views12 slides
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports by
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsRa'Fat Al-Msie'deen
8 views49 slides
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI... by
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Marc Müller
42 views83 slides

Recently uploaded(20)

Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium... by Lisi Hocke
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Lisi Hocke35 views
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports by Ra'Fat Al-Msie'deen
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI... by Marc Müller
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Marc Müller42 views
FOSSLight Community Day 2023-11-30 by Shane Coughlan
FOSSLight Community Day 2023-11-30FOSSLight Community Day 2023-11-30
FOSSLight Community Day 2023-11-30
Shane Coughlan6 views
Fleet Management Software in India by Fleetable
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India
Fleetable12 views
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with... by sparkfabrik
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
sparkfabrik8 views
Top-5-production-devconMunich-2023.pptx by Tier1 app
Top-5-production-devconMunich-2023.pptxTop-5-production-devconMunich-2023.pptx
Top-5-production-devconMunich-2023.pptx
Tier1 app8 views
predicting-m3-devopsconMunich-2023.pptx by Tier1 app
predicting-m3-devopsconMunich-2023.pptxpredicting-m3-devopsconMunich-2023.pptx
predicting-m3-devopsconMunich-2023.pptx
Tier1 app7 views
JioEngage_Presentation.pptx by admin125455
JioEngage_Presentation.pptxJioEngage_Presentation.pptx
JioEngage_Presentation.pptx
admin1254556 views
Navigating container technology for enhanced security by Niklas Saari by Metosin Oy
Navigating container technology for enhanced security by Niklas SaariNavigating container technology for enhanced security by Niklas Saari
Navigating container technology for enhanced security by Niklas Saari
Metosin Oy14 views
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated... by TomHalpin9
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
TomHalpin96 views
360 graden fabriek by info33492
360 graden fabriek360 graden fabriek
360 graden fabriek
info33492143 views
AI and Ml presentation .pptx by FayazAli87
AI and Ml presentation .pptxAI and Ml presentation .pptx
AI and Ml presentation .pptx
FayazAli8713 views
Generic or specific? Making sensible software design decisions by Bert Jan Schrijver
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions

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.
  • 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. 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