Presentation slides on the Early-Career Researchers Forum at the IEEE International Conference on Software Architecture Companion (ICSA 2018), Seattle, WA, USA, http://doi.ieeecomputersociety.org/10.1109/ICSA-C.2018.00019
For more information see https://florianblum.com/
Engineering Software Architectures of Blockchain-Oriented Applications (ICSA 2018)
1. 1
ICSA, Early Career Researchers Forum
Seattle, USA
2018-05-01
Florian Weรling
๏ฌorian.wessling@paluno.uni-due.de
University Duisburg-Essen, Germany
Prof. Dr. Volker Gruhn
Engineering Software Architectures of โจ
Blockchain-Oriented Applications
4. 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
4
โ https://medium.com/loom-network/scalability-tradeoffs-why-the-ethereum-killer-hasnt-arrived-yet-8f60a88e46c0
5. โข Consensus about world state: values of objects
โข Transactions modify the world state deterministically
5
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
}
}
Ethereum
9. โข Increasing need for building blockchain-based applications
(decentralized apps = DApps)
โข โ Increasing need for good architectures and smart contracts!
โข Deal with blockchain properties: decentral, trustless, transparent and immutable
system
โข Best practices, architectural patterns, design patterns for smart contracts
โข Main Research Question: โจ
How to determine the architecture of a blockchain-based application?
โข Concepts to support architectural design of blockchain-based applications are missing
9
Research Motivation
10. Which architectural patterns exist in
blockchain-based applications?
โข Examine architectures of existing DApps
โข A: Self-Generated Transaction
โข B: Self-Con๏ฌrmed Transaction
โข C: Delegated Transactions
โข Compare pros and cons regarding costs, trust,
complexity, user experience
10
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
DApp Architectures
[2]
11. Outlook: Overall Concept
11
B
ZY
S
X
Contractor
Construction
Supervisor
Building
Owner
Contractor Contractor
Area B
Area A
B
ZY
S
X
Contractor
Construction
Supervisor
Building
Owner
Contractor Contractor
B
ZY
S
X
Contractor
Construction
Supervisor
Building
Owner
Contractor Contractor
B
ZY
S
X
Contractor
Construction
Supervisor
Building
Owner
Contractor Contractor
Architectural Patterns
+ Best Practices
Use Case
Terms
+ Properties
Implementation as โจ
Smart Contract
+ Design Patterns
13. โข Risk: Ethereum technology lock-in
โข start with Ethereum, extend to other platforms
โข goal: generalized and technology agnostic approach
โข Next Steps
โข write down research questions and hypotheses
โข describe the research outcome/artifacts and methodology how to get there
โข Advice from ECRF mentor: Qualitative studies: (semi-)structured interviews/questionnaires
โข Examine the Architecture Tradeoff Analysis Method (ATAM): look where Blockchain aspects are not covered
โข Working on validation: Three research projects in submission (energy, building, insurance)
Next Steps and Discussion
13