SlideShare a Scribd company logo
1 of 13
Download to read offline
Florian Weßling, florian.wessling@uni-due.de
University Duisburg-Essen, Germany
ICSA, New and Emerging Ideas Track (NEMI)
Hamburg, Germany
2019-03-27
Towards Blockchain Tactics: Building Hybrid
Decentralized Software Architectures
Florian Wessling, Christopher Ehmke, Ole Meyer, Volker Gruhn
Blockchain Technology
• Goal: Saving information
• "A blockchain is a database that can be shared between a group of non-trusting
individuals, without needing a central party to maintain the state of the database."
• Avoid centralization (Server) – Trend towards decentralization (P2P)
• Save information and create consensus (distributed ledger)
• No trust necessary towards a central authority
• Trust towards a self-sustaining protocol using certain incentives to validate transactions
2
– https://medium.com/loom-network/scalability-tradeoffs-why-the-ethereum-killer-hasnt-arrived-yet-8f60a88e46c0
• Consensus about world state: values of objects
• Transactions modify the world state deterministically
3
Contract 0x123
{insuranceId: 0x485,
premium: 851241,
trigger: 0x791,
setPremium: func(a) {
this.premium = a
}
} Transaction 0x8682934
To: 0x123
Call: setPremium(1500)
Contract 0x123
{insuranceId: 0x485,
premium: 1500,
trigger: 0x791,
setPremium: func(a) {
this.premium = a
}
}
Blockchain Technology
Ethereum
Each node saves the latest world state
4
Transaction
0x8682934
setPremium(1500)
Node #74
Contract 0x123
{insuranceId: 0x485,
premium: 851241,
trigger: 0x791,
setPremium: func(a) }
Contract 0x815
{...}
Node #74
Contract 0x123
{insuranceId: 0x485,
premium: 851241,
trigger: 0x791,
setPremium: func(a) }
Contract 0x815
{...}
Node #74
Contract 0x123
{insuranceId: 0x485,
premium: 851241,
trigger: 0x791,
setPremium: func(a) }
Contract 0x815
{...}
Transaction
0x8682934
setPremium(1500)
Transaction
0x8682934
setPremium(1500)
Blockchain Technology
Ethereum
Receive transaction and update world state
5
Node #74
Contract 0x123
{insuranceId: 0x485,
premium: 1500,
trigger: 0x791,
setPremium: func(a) }
Contract 0x815
{...}
Node #74
Contract 0x123
{insuranceId: 0x485,
premium: 1500,
trigger: 0x791,
setPremium: func(a) }
Contract 0x815
{...}
Node #74
Contract 0x123
{insuranceId: 0x485,
premium: 1500,
trigger: 0x791,
setPremium: func(a) }
Contract 0x815
{...}
✅
✅
✅
✅
✅
✅
✅
Blockchain Technology
Ethereum
Motivation
• Take advantage of Blockchain technology:

decentralized, trustless, transparent and tamper-proof app environment
• Deal with disadvantages:

transaction costs, blocktime 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
6
DApp Architectures
• Which architectural patterns exist in blockchain-based
applications?
• A: Self-Generated Transaction
• B: Self-Confirmed Transaction
• C: Delegated Transactions
• Compare pros and cons regarding costs, trust,
complexity, user experience
7
Browser
MetaMask
/ Wallet
Private or Public Blockchain Node
MyEtherWallet
Blockchain
/ EDCC
A
Browser
MetaMask
/ Wallet
DApp-Website
Private or Public
Blockchain
Node
Blockchain
/ EDCC B
Browser
DApp-
Website
DApp-Server/Backend
REST
Private or
Public
Blockchain
Node
DApp
Backend
Logic
Transactions
Private or
Public
Blockchain
Node
Websocket
Blockchain
/ EDCC C
Florian Wessling, Volker Gruhn. 2018. "Engineering Software Architectures of Blockchain-Oriented Applications". 

Early Career Researcher Forum, ICSA 2018, Seattle, USA. IEEE.
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?
• Changing a system is a challenging task...
• Blockchain technology is still new: impact of design decisions on software quality attributes such as
security, maintainability, performance or cost is still unknown
• We argue that a new blockchain-oriented view is required
• We propose blockchain tactics as a guideline and structured way for changing a system
• Which elements should be decentralized? Which are better kept centralized?
8
• 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
9
Blockchain Tactics
L. Bass, P. Clements, and R. Kazman, Software Architecture in Practice. Addison-Wesley Professional, 2003.
• Structure and support architectural and implementation level decisions
• motivate the need for certain information (participants, trust relations, interactions)
• examine influence on quality attributes (e.g. operational costs using a gas cost
simulation for Ethereum)
• Identify and make informed decisions about best practices and design patterns
Intention to
reduce required
trust and centrality
Extending or replacing
elements with
Blockchain technology
Blockchain Tactics
Derive Architectural Design Create Implementation
Wessling et al. [6]
· Examine Participants
· Examine Trust Relations
· Examine Interactions
· Determine Usage Scenarios
· Simulate Operational Costs
· Select Design Patterns
10
[6] F. Wessling, C. Ehmke, M. Hesenius, and 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, 2018.
• Four step approach:
• 1. Identify participants
• 2. Identify trust relations between participants
• 3. Identify interactions between participants
• 4. Derive an architectural draft
• Usage
• Adding blockchain technology to existing systems
• Assessing use cases for implementing a new system
11
B
ZY
S
X
Contractor
Construction
Supervisor
Building
Owner
Contractor Contractor
1. Participants
B
ZY
S
X
Contractor
Construction
Supervisor
Building
Owner
Contractor Contractor
2. Trust Relations
B
ZY
S
X
Contractor
Construction
Supervisor
Building
Owner
Contractor Contractor
3. Interactions
Area B
Area A
B
ZY
S
X
Contractor
Construction
Supervisor
Building
Owner
Contractor Contractor
4. Architectural Draft
[2]
Future Work
• Current state: Proposal about which information to collect + how to use it
• Next steps: Apply tactics, learn from it, refine and create new ones
• build specific guidelines for selecting design patterns
• work-in-progress: using meta transactions as a design pattern to
improve UX
• evaluate guidelines in research projects: action research
• Future: architectural strategy = collection of tactics: 

"Towards a Blockchain Architectural Strategy"

12
Thank you! 😄
Questions? 💭
Florian Wessling
E-Mail: florian.wessling@uni-due.de
Twitter: @ColdDevil

More Related Content

What's hot

OpenStack Summit 2013 Presentation
OpenStack Summit 2013 PresentationOpenStack Summit 2013 Presentation
OpenStack Summit 2013 Presentation
Madhulima Pandey
 

What's hot (20)

SARoNGS project (Jens Jensen)
SARoNGS project (Jens Jensen)SARoNGS project (Jens Jensen)
SARoNGS project (Jens Jensen)
 
International Journal of Network Security & Its Applications (IJNSA) - Curren...
International Journal of Network Security & Its Applications (IJNSA) - Curren...International Journal of Network Security & Its Applications (IJNSA) - Curren...
International Journal of Network Security & Its Applications (IJNSA) - Curren...
 
Icsa2018 blockchain tutorial
Icsa2018 blockchain tutorialIcsa2018 blockchain tutorial
Icsa2018 blockchain tutorial
 
Blockchain
BlockchainBlockchain
Blockchain
 
Distributed Ledger Technology
Distributed Ledger TechnologyDistributed Ledger Technology
Distributed Ledger Technology
 
Distributed Systems for Blockchain using Cloud
Distributed  Systems for Blockchain  using CloudDistributed  Systems for Blockchain  using Cloud
Distributed Systems for Blockchain using Cloud
 
Introduction to blockchains
Introduction to blockchainsIntroduction to blockchains
Introduction to blockchains
 
Blockchain in Healthcare
Blockchain in HealthcareBlockchain in Healthcare
Blockchain in Healthcare
 
48
4848
48
 
Prague data management meetup 2016-01-12 pub
Prague data management meetup 2016-01-12 pubPrague data management meetup 2016-01-12 pub
Prague data management meetup 2016-01-12 pub
 
Blockchain 101
Blockchain 101Blockchain 101
Blockchain 101
 
Blockchain ecosystem and evolution
Blockchain ecosystem and evolutionBlockchain ecosystem and evolution
Blockchain ecosystem and evolution
 
OpenStack Summit 2013 Presentation
OpenStack Summit 2013 PresentationOpenStack Summit 2013 Presentation
OpenStack Summit 2013 Presentation
 
Blockchain Ecosystem
Blockchain EcosystemBlockchain Ecosystem
Blockchain Ecosystem
 
Why Blockchain Matters to Big Data - Big Data London Meetup - Nov 3, 2016
Why Blockchain Matters to Big Data - Big Data London Meetup - Nov 3, 2016Why Blockchain Matters to Big Data - Big Data London Meetup - Nov 3, 2016
Why Blockchain Matters to Big Data - Big Data London Meetup - Nov 3, 2016
 
2019 tokens tokens everywhere tokens
2019  tokens tokens everywhere tokens2019  tokens tokens everywhere tokens
2019 tokens tokens everywhere tokens
 
Understanding Blockchain and why it's so popular?
Understanding Blockchain and why it's so popular? Understanding Blockchain and why it's so popular?
Understanding Blockchain and why it's so popular?
 
Few thoughts about Future of Blockchain
Few thoughts about Future of BlockchainFew thoughts about Future of Blockchain
Few thoughts about Future of Blockchain
 
Dutchchain aug18
Dutchchain aug18Dutchchain aug18
Dutchchain aug18
 
The “obsession” with checksums by Helen Hockx-Yu
The “obsession” with checksums by Helen Hockx-YuThe “obsession” with checksums by Helen Hockx-Yu
The “obsession” with checksums by Helen Hockx-Yu
 

Similar to Towards Blockchain Tactics: Building Hybrid Decentralized Software Architectures (ICSA 2019)

SenseChain: A Blockchain-based Crowdsensing Framework For Multiple Requesters...
SenseChain: A Blockchain-based Crowdsensing Framework For Multiple Requesters...SenseChain: A Blockchain-based Crowdsensing Framework For Multiple Requesters...
SenseChain: A Blockchain-based Crowdsensing Framework For Multiple Requesters...
Maha Kadadha
 
[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...
[DSC Europe 23][DigiHealth] Muthu Ramachandran AI and Blockchain Framework fo...
DataScienceConferenc1
 

Similar to Towards Blockchain Tactics: Building Hybrid Decentralized Software Architectures (ICSA 2019) (20)

Blockchain and Services – Exploring the Links
Blockchain and Services – Exploring the LinksBlockchain and Services – Exploring the Links
Blockchain and Services – Exploring the Links
 
Software Architecture and Model-driven Engineering for Blockchain Applications
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
 
Blockchain for Digital Transformation in Banking
Blockchain for Digital Transformation in Banking Blockchain for Digital Transformation in Banking
Blockchain for Digital Transformation in Banking
 
Blockchain for Digital Transformation in Banking
Blockchain for Digital Transformation in Banking Blockchain for Digital Transformation in Banking
Blockchain for Digital Transformation in Banking
 
Webjet Blockchain DDD 2017
Webjet Blockchain DDD 2017Webjet Blockchain DDD 2017
Webjet Blockchain DDD 2017
 
BCT.pptx
BCT.pptxBCT.pptx
BCT.pptx
 
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)
AWS re:Invent 2016: Blockchain on AWS: Disrupting the Norm (GPST301)
 
Blockchain: Background and Data61 Research Overview
Blockchain: Background and Data61 Research OverviewBlockchain: Background and Data61 Research Overview
Blockchain: Background and Data61 Research Overview
 
University of Borås-full talk-2023-12-09.pptx
University of Borås-full talk-2023-12-09.pptxUniversity of Borås-full talk-2023-12-09.pptx
University of Borås-full talk-2023-12-09.pptx
 
The Blockchain as a Software Connector
The Blockchain as a Software ConnectorThe Blockchain as a Software Connector
The Blockchain as a Software Connector
 
Blockchain - a platform for Digital Transformation
Blockchain - a platform for Digital TransformationBlockchain - a platform for Digital Transformation
Blockchain - a platform for Digital Transformation
 
Utility Applications for Blockchain
Utility Applications for BlockchainUtility Applications for Blockchain
Utility Applications for Blockchain
 
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...
Blockchain Technology and Its Application in Artificial Intelligence and Mach...
 
SenseChain: A Blockchain-based Crowdsensing Framework For Multiple Requesters...
SenseChain: A Blockchain-based Crowdsensing Framework For Multiple Requesters...SenseChain: A Blockchain-based Crowdsensing Framework For Multiple Requesters...
SenseChain: A Blockchain-based Crowdsensing Framework For Multiple Requesters...
 
Blockchain - a platform for Digital Transformation in Finance
Blockchain - a platform for Digital Transformation in FinanceBlockchain - a platform for Digital Transformation in Finance
Blockchain - a platform for Digital Transformation in Finance
 
[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...
[DSC Europe 23][DigiHealth] Muthu Ramachandran AI and Blockchain Framework fo...
 
Blockchain in FinTech
Blockchain in FinTechBlockchain in FinTech
Blockchain in FinTech
 
Blockchain Security and Privacy
Blockchain Security and PrivacyBlockchain Security and Privacy
Blockchain Security and Privacy
 
Blockchain for Business
Blockchain for BusinessBlockchain for Business
Blockchain for Business
 
Blockchain and its impact on Data Science and Financial Services
Blockchain and its impact on Data Science and Financial ServicesBlockchain and its impact on Data Science and Financial Services
Blockchain and its impact on Data Science and Financial Services
 

Recently uploaded

Recently uploaded (20)

From Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIFrom Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST API
 
Abortion Pill Prices Turfloop ](+27832195400*)[ 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Turfloop ](+27832195400*)[ 🏥 Women's Abortion Clinic in ...Abortion Pill Prices Turfloop ](+27832195400*)[ 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Turfloop ](+27832195400*)[ 🏥 Women's Abortion Clinic in ...
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
 
GraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with GraphGraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with Graph
 
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4jGraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
 
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAOpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
 
Your Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | EvmuxYour Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | Evmux
 
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
 
Software Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements EngineeringSoftware Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements Engineering
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdf
 
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
 
BusinessGPT - Security and Governance for Generative AI
BusinessGPT  - Security and Governance for Generative AIBusinessGPT  - Security and Governance for Generative AI
BusinessGPT - Security and Governance for Generative AI
 
Test Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfTest Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdf
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 
Abortion Clinic In Pongola ](+27832195400*)[ 🏥 Safe Abortion Pills In Pongola...
Abortion Clinic In Pongola ](+27832195400*)[ 🏥 Safe Abortion Pills In Pongola...Abortion Clinic In Pongola ](+27832195400*)[ 🏥 Safe Abortion Pills In Pongola...
Abortion Clinic In Pongola ](+27832195400*)[ 🏥 Safe Abortion Pills In Pongola...
 
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
 
Microsoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMicrosoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdf
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
 

Towards Blockchain Tactics: Building Hybrid Decentralized Software Architectures (ICSA 2019)

  • 1. Florian Weßling, florian.wessling@uni-due.de University Duisburg-Essen, Germany ICSA, New and Emerging Ideas Track (NEMI) Hamburg, Germany 2019-03-27 Towards Blockchain Tactics: Building Hybrid Decentralized Software Architectures Florian Wessling, Christopher Ehmke, Ole Meyer, Volker Gruhn
  • 2. Blockchain Technology • Goal: Saving information • "A blockchain is a database that can be shared between a group of non-trusting individuals, without needing a central party to maintain the state of the database." • Avoid centralization (Server) – Trend towards decentralization (P2P) • Save information and create consensus (distributed ledger) • No trust necessary towards a central authority • Trust towards a self-sustaining protocol using certain incentives to validate transactions 2 – https://medium.com/loom-network/scalability-tradeoffs-why-the-ethereum-killer-hasnt-arrived-yet-8f60a88e46c0
  • 3. • Consensus about world state: values of objects • Transactions modify the world state deterministically 3 Contract 0x123 {insuranceId: 0x485, premium: 851241, trigger: 0x791, setPremium: func(a) { this.premium = a } } Transaction 0x8682934 To: 0x123 Call: setPremium(1500) Contract 0x123 {insuranceId: 0x485, premium: 1500, trigger: 0x791, setPremium: func(a) { this.premium = a } } Blockchain Technology Ethereum
  • 4. Each node saves the latest world state 4 Transaction 0x8682934 setPremium(1500) Node #74 Contract 0x123 {insuranceId: 0x485, premium: 851241, trigger: 0x791, setPremium: func(a) } Contract 0x815 {...} Node #74 Contract 0x123 {insuranceId: 0x485, premium: 851241, trigger: 0x791, setPremium: func(a) } Contract 0x815 {...} Node #74 Contract 0x123 {insuranceId: 0x485, premium: 851241, trigger: 0x791, setPremium: func(a) } Contract 0x815 {...} Transaction 0x8682934 setPremium(1500) Transaction 0x8682934 setPremium(1500) Blockchain Technology Ethereum
  • 5. Receive transaction and update world state 5 Node #74 Contract 0x123 {insuranceId: 0x485, premium: 1500, trigger: 0x791, setPremium: func(a) } Contract 0x815 {...} Node #74 Contract 0x123 {insuranceId: 0x485, premium: 1500, trigger: 0x791, setPremium: func(a) } Contract 0x815 {...} Node #74 Contract 0x123 {insuranceId: 0x485, premium: 1500, trigger: 0x791, setPremium: func(a) } Contract 0x815 {...} ✅ ✅ ✅ ✅ ✅ ✅ ✅ Blockchain Technology Ethereum
  • 6. Motivation • Take advantage of Blockchain technology:
 decentralized, trustless, transparent and tamper-proof app environment • Deal with disadvantages:
 transaction costs, blocktime 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 6
  • 7. DApp Architectures • Which architectural patterns exist in blockchain-based applications? • A: Self-Generated Transaction • B: Self-Confirmed Transaction • C: Delegated Transactions • Compare pros and cons regarding costs, trust, complexity, user experience 7 Browser MetaMask / Wallet Private or Public Blockchain Node MyEtherWallet Blockchain / EDCC A Browser MetaMask / Wallet DApp-Website Private or Public Blockchain Node Blockchain / EDCC B Browser DApp- Website DApp-Server/Backend REST Private or Public Blockchain Node DApp Backend Logic Transactions Private or Public Blockchain Node Websocket Blockchain / EDCC C Florian Wessling, Volker Gruhn. 2018. "Engineering Software Architectures of Blockchain-Oriented Applications". 
 Early Career Researcher Forum, ICSA 2018, Seattle, USA. IEEE.
  • 8. 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? • Changing a system is a challenging task... • Blockchain technology is still new: impact of design decisions on software quality attributes such as security, maintainability, performance or cost is still unknown • We argue that a new blockchain-oriented view is required • We propose blockchain tactics as a guideline and structured way for changing a system • Which elements should be decentralized? Which are better kept centralized? 8
  • 9. • 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 9 Blockchain Tactics L. Bass, P. Clements, and R. Kazman, Software Architecture in Practice. Addison-Wesley Professional, 2003.
  • 10. • Structure and support architectural and implementation level decisions • motivate the need for certain information (participants, trust relations, interactions) • examine influence on quality attributes (e.g. operational costs using a gas cost simulation for Ethereum) • Identify and make informed decisions about best practices and design patterns Intention to reduce required trust and centrality Extending or replacing elements with Blockchain technology Blockchain Tactics Derive Architectural Design Create Implementation Wessling et al. [6] · Examine Participants · Examine Trust Relations · Examine Interactions · Determine Usage Scenarios · Simulate Operational Costs · Select Design Patterns 10 [6] F. Wessling, C. Ehmke, M. Hesenius, and 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, 2018.
  • 11. • Four step approach: • 1. Identify participants • 2. Identify trust relations between participants • 3. Identify interactions between participants • 4. Derive an architectural draft • Usage • Adding blockchain technology to existing systems • Assessing use cases for implementing a new system 11 B ZY S X Contractor Construction Supervisor Building Owner Contractor Contractor 1. Participants B ZY S X Contractor Construction Supervisor Building Owner Contractor Contractor 2. Trust Relations B ZY S X Contractor Construction Supervisor Building Owner Contractor Contractor 3. Interactions Area B Area A B ZY S X Contractor Construction Supervisor Building Owner Contractor Contractor 4. Architectural Draft [2]
  • 12. Future Work • Current state: Proposal about which information to collect + how to use it • Next steps: Apply tactics, learn from it, refine and create new ones • build specific guidelines for selecting design patterns • work-in-progress: using meta transactions as a design pattern to improve UX • evaluate guidelines in research projects: action research • Future: architectural strategy = collection of tactics: 
 "Towards a Blockchain Architectural Strategy"
 12
  • 13. Thank you! 😄 Questions? 💭 Florian Wessling E-Mail: florian.wessling@uni-due.de Twitter: @ColdDevil