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.

Engineering Software Architectures of Blockchain-Oriented Applications (ICSA 2018)

7 views

Published on

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/

Published in: Software
  • Be the first to comment

  • Be the first to like this

Engineering Software Architectures of Blockchain-Oriented Applications (ICSA 2018)

  1. 1. 1 ICSA, Early Career Researchers Forum Seattle, USA 2018-05-01 Florian Weßling florian.wessling@paluno.uni-due.de University Duisburg-Essen, Germany Prof. Dr. Volker Gruhn Engineering Software Architectures of 
 Blockchain-Oriented Applications
  2. 2. Overview • Blockchain Intro • Architectures of Blockchain-based Applications • Next Steps and Discussion 2
  3. 3. 3 Blockchain Intro
  4. 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. 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
  6. 6. • Each node saves the latest world state 6 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) Ethereum
  7. 7. • Receive transaction and update world state 7 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 {...} Ethereum ✅ ✅ ✅ ✅ ✅ ✅ ✅
  8. 8. 8 Architectures of Blockchain-based Applications
  9. 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. 10. Which architectural patterns exist in blockchain-based applications? • Examine architectures of existing DApps • A: Self-Generated Transaction • B: Self-Confirmed 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. 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
  12. 12. 12 Next Steps and Discussion
  13. 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
  14. 14. 14 Thank you! 😄 Questions? 💭 Discussion? 💬

×