SlideShare a Scribd company logo
1 of 14
Download to read offline
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
Overview
โ€ข Blockchain Intro
โ€ข Architectures of Blockchain-based Applications
โ€ข Next Steps and Discussion
2
3
Blockchain Intro
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
โ€ข 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
โ€ข 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
โ€ข 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
Architectures of
Blockchain-based
Applications
โ€ข 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
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]
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
Next Steps
and
Discussion
โ€ข 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
Thank you! ๐Ÿ˜„
Questions? ๐Ÿ’ญ
Discussion? ๐Ÿ’ฌ

More Related Content

Recently uploaded

CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female service
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female serviceCALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female service
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female service
anilsa9823
ย 
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
ย 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
bodapatigopi8531
ย 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
ย 
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kakori Lucknow best sexual service Online โ˜‚๏ธ
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kakori Lucknow best sexual service Online  โ˜‚๏ธCALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kakori Lucknow best sexual service Online  โ˜‚๏ธ
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kakori Lucknow best sexual service Online โ˜‚๏ธ
anilsa9823
ย 

Recently uploaded (20)

Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
ย 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
ย 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
ย 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
ย 
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female service
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female serviceCALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female service
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Badshah Nagar Lucknow best Female service
ย 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
ย 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
ย 
call girls in Vaishali (Ghaziabad) ๐Ÿ” >เผ’8448380779 ๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
call girls in Vaishali (Ghaziabad) ๐Ÿ” >เผ’8448380779 ๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธcall girls in Vaishali (Ghaziabad) ๐Ÿ” >เผ’8448380779 ๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
call girls in Vaishali (Ghaziabad) ๐Ÿ” >เผ’8448380779 ๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
ย 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
ย 
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )๐Ÿ” 9953056974๐Ÿ”(=)/CALL GIRLS SERVICE
ย 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
ย 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
ย 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
ย 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
ย 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
ย 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
ย 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
ย 
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kakori Lucknow best sexual service Online โ˜‚๏ธ
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kakori Lucknow best sexual service Online  โ˜‚๏ธCALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kakori Lucknow best sexual service Online  โ˜‚๏ธ
CALL ON โžฅ8923113531 ๐Ÿ”Call Girls Kakori Lucknow best sexual service Online โ˜‚๏ธ
ย 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
ย 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
ย 

Featured

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
ย 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
ย 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
Alireza Esmikhani
ย 

Featured (20)

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ย 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
ย 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
ย 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
ย 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
ย 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
ย 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
ย 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
ย 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
ย 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
ย 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
ย 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
ย 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
ย 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
ย 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
ย 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
ย 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
ย 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
ย 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
ย 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
ย 

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
  • 2. Overview โ€ข Blockchain Intro โ€ข Architectures of Blockchain-based Applications โ€ข Next Steps and Discussion 2
  • 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
  • 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. โ€ข 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 โœ… โœ… โœ… โœ… โœ… โœ… โœ…
  • 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
  • 14. 14 Thank you! ๐Ÿ˜„ Questions? ๐Ÿ’ญ Discussion? ๐Ÿ’ฌ