Software Architecture and Engineering for Blockchain- based Applications Ingo Weber | Principal Research Scientist & Team Leader ingo.weber@data61.csiro.au Conj. Assoc. Professor, UNSW Australia | Adj. Assoc. Professor, Swinburne University www.csiro.au
What does a Blockchain look like? http:/ / ethviewer.live 2 | Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber
What blockchain do you need (if any)? Source: IEEE Spectrum Oct 2017 3 | Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber
Blockchain Research at Data61
Blockchain Research at Data61 • Designing Systems • Trustworthy • Defining and Using with Blockchain Blockchain Systems Smart Contracts – Design Trade-offs – Formal – As Legal Contracts – M odel-driven development – Empirical – Business Process – Governance and risk management 5 | Blockchain | Data61, CSIRO
Designing Systems with Blockchain • Design Process • A taxonomy of blockchain-based systems for architecture design, X. Xu, I. Weber, M. Staples et al., ICSA2017. • The blockchain as a software connector, X. Xu, C. Pautasso, L. Zhu et al., WICSA2016. • Quality Analysis • Quantifying the cost of distrust: Comparing blockchain and cloud services for business process execution. P. Rimba, A. B. Tran, I. Weber et al., accepted by Scalable Computing and Communications (SCAC) journal, 2017 • Comparing blockchain and cloud services for business process execution, P. Rimba, A. B. Tran, I. Weber et al., ICSA2017. • Predicting latency of blockchain-based systems using architectural modelling and simulation , R. Yasaweerasinghelage, M. Staples and I. Weber, ICSA2017. • M odel-Driven • Regerator: a Registry Generator for Blockchain, A. B. Tran, X. Xu, I. Weber, CAISE2017. • From business process models, see next slide • Integration with other systems • EthDrive: A Peer-to-Peer Data Storage with Provenance, X. L. Yu, X. Xu, B. Liu, CAISE2017. • Governance and risk management • Risks and Opportunities for Systems Using Blockchain and Smart Contracts, Treasury report 6 | Data61 : Preliminary Findings on Blockchain/ DLT Projects
Defining and Using Smart Contracts • Business Process • Untrusted business process monitoring and execution using blockchain , I. Weber, X. Xu, R. Riveret et al., BPM 2016 • Optimized Execution of Business Processes on Blockchain , L. García-Bañuelos, A. Ponomarev, M . Dumas, Ingo Weber, BPM 2017 • Caterpillar: A blockchain-based business process management system, O. López-Pintado, L. García-Bañuelos, M . Dumas, and I. Weber, BPM 2017 Demo • Runtime verification for business processes utilizing the Bitcoin blockchain, C. Prybila, S. Schulte, C. Hochreiner, and I. Weber, Future Generation Computer Systems (FGCS), accepted August 2017 • Legal vs. Smart Contracts • Evaluation of Logic-Based Smart Contracts for Blockchain Systems , F . Idelberg, G. Governatori, R. Riveret et al., RuleM L2016 7 | Data61 : Preliminary Findings on Blockchain/ DLT Projects
Trustworthy Blockchain Systems • Formal • The Blockchain Anomaly, C. Natoli, V. Gramoli , NCA 2016 • On the Danger of Private Blockchains, V. Gramoli , DCCL 2016 • (Leader/ Randomization/ Signature)-free Byzantine Consensus for Consortium Blockchains, T. Crain, V. Gramoli, M . Larrea, M . Raynal, arXiv:1702.03068, 2016 • Empirical • On availability for blockchain- based systems, I. Weber, V. Gramoli et al., SRDS 2017 • New kids on the block: an analysis of modern blockchains , L. Anderson, R. Holz, A. Ponomarev et al., arXiv:1606:06530, 2016 8 | Data61 : Preliminary Findings on Blockchain/ DLT Projects
Projects with Australian Treasury • Funded by Australian National Innovation Science Agenda • Two reports, launched 6 June 2017 • See www.data61.csiro.au/ blockchain • DL • Technical Risks & Opportunities T Foresight – What might plausibly happen, – How do needs in various use cases across society & economy? fit blockchain’s capabilities? 9 | Blockchain | Data61, CSIRO
Red Belly Blockchain (with USyd) • New technology particularly for private / consortium blockchain • In lab experiment achieved 660,000 tps with 300 nodes in one DC, and > 50,000 tps with globally distributed nodes 10 | Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber
Architecting Applications on Blockchain A taxonomy of blockchain-based systems for architecture design, X. Xu, I. Weber, M . Staples et al., ICSA2017. Comparing blockchain and cloud services for business process execution, P . Rimba, A. B. Tran, I. Weber et al., ICSA2017, short paper. Predicting latency of blockchain-based systems using architectural modelling and simulation, R. Yasaweerasinghelage, M . Staples and I. Weber, ICSA2017, short paper. On availability for blockchain-based systems, I. Weber, V. Gramoli et al., SRDS 2017
Overview • M any interesting applications for Blockchain • Basically of interest in most lack-of-trust settings where a distributed application can coordinate multiple parties • Examples: – Supply chains – Handling of titles, e.g., land, water, vehicles – Identity • M any startups and initiatives from enterprises / governments • ... but also many challenges • When to use blockchain • Trade-offs in architecture – Downsides: cost, latency, confidentiality – What to handle on-chain, what off-chain? 12 | Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber
Our work – AAP team • Architecting applications on Blockchain: • Taxonomy and design process • “ Cost of Distrust” : how much more expensive is blockchain? • Availability analysis from viewpoint of DApss • Latency: simulation under changes • M odel-driven development of smart contracts • Business process execution • M odel-based generation of registries and UIs 13 | Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber
Blockchains are Not Stand-Alone Systems UI for humans Legacy systems Key management Blockchain is a component BIG DATA IoT Auxiliary private integration databases data 14 | Data61 : Preliminary Findings on Blockchain/ DLT Projects
Non-Functional Trade-Offs • Compared to conventional database & script engines, blockchains have: (-) Confidentiality, Privacy Security: combination of (+) Integrity, Non-repudiation CIA properties (+ read/ - write) Availability (-) M odifiability (-) Throughput / Scalability / Big Data (+ read/ - write) Latency 15 | Data61 : Preliminary Findings on Blockchain/ DLT Projects
Design process 16 | Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber
Taxonomy Blockchain-related design decisions regarding (de)centralisation, with an indication of their relative impact on quality properties Legend: ⊕ : Less favourable, ⊕⊕ : Neutral, ⊕⊕⊕ : M ore favourable 17 | Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber
Taxonomy Blockchain-related design decisions regarding storage and computation, with an indication of their relative impact on quality properties 18 | Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber
Taxonomy Blockchain-related design decisions regarding blockchain configuration 19 | Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber
Cost of Distrust • RQ: How much more expensive is blockchain over Cloud services? • Lens: business process execution • AWS S WF vs. Ethereum public blockchain – In both cases: pay per instruction • Experiments on two use cases: – Incident management (literature) – 32 instances on public Ethereum vs. 1000 runs on S WF – Invoicing (industry, 5316 log traces, 65K events) – Full log replayed on S WF and private Ethereum • Result: • 2 orders of magnitude more expensive to use blockchain – exchange rate: 1 Ether = US$ 11.32 (26/ 8/ 2016) • ~US$ 0.35 per process instance on public blockchain – outweighed by cost of escrow (if needed) for about US$ 10 of value 20 | Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber
Availability • Availability: the system‘s readiness for correct service • Blockchain as component: read: +++ ; write: ? • Ethereum: 12 blocks confirmation is accepted, said to take 3 mins • M easurements: 21 | Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber
Availability • Potential issue: block gas limit • Gas limit is set by miners through “ voting” • The sum of Gas of all transactions in a block must be less than the limit • Response to DDoS attack: lower block gas limit 22 | Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber
Availability • Potential issue: block gas limit • Gas limit is set by miners through “ voting” • The sum of Gas of all transactions in a block must be less than the limit • Response to DDoS attack: lower block gas limit • Who would be affected by that? 23 | Blockchain Smart Contracts: Use and Application in BPM | Ingo Weber
Recommend
More recommend