Publication:
Analysing the Design and Qualities of Blockchain-based Systems

dc.contributor.advisor Xu, Xiwei
dc.contributor.advisor Yao, Lina
dc.contributor.advisor Staples, Mark
dc.contributor.author Lo, Sin Kuang
dc.date.accessioned 2022-02-16T04:36:59Z
dc.date.available 2022-02-16T04:36:59Z
dc.date.issued 2022
dc.description.abstract Blockchain-based systems must be reliable and have high integrity because they are used for recording economically-critical and safety-critical data. Incorrect data recorded on a blockchain, from either faulty external components or inaccurate input data, can undermine the integrity or reliability of the systems. The importance of reliability and integrity for blockchains is known, but approaches to assessing them in blockchain-based systems have not been previously investigated. In a blockchain-based system, the data recorded in the system must be accurate because it will be used to verify the correctness of external states. So, systems that rely on data are also impacted by its data quality. Nonetheless, the general relationship between system quality and data quality has not previously been conceptualised systematically in the software architecture literature. This thesis aims to improve our understanding of the design of blockchain-based systems, considering both system quality and data quality. We first report studies we have conducted on using architecture-level modelling based approaches to analyse the reliability of blockchain oracles. Our analysis shows that decentralised oracles have higher reliability than centralised oracles, and that data sources can affect system reliability. Our study demonstrates the feasibility of using architecture modelling and established techniques to model and analyse the reliability of off-chain components. We have also proposed and evaluated a series of schemes to model and analyse data integrity in blockchain-based systems. Blockchains using Nakamoto Consensus cause transactions to have a probability of being reversed or reordered. This leads to difficulties in modelling and analysing how blockchains affect the integrity of data in blockchain-based systems. We report on a study conducted using the design of a real-world system, and evaluate our proposed approach. The findings show how different types of integrity threats and their designed mitigations can be identified and analysed. Finally, motivated by the work on reliability and integrity, we propose a theoretical model of the general relationship between system quality and data quality in software systems. We link this to established views about the relationship between software architecture and system quality. The general nature of the relationship between system quality and data quality has not previously been examined. We use examples from the literature to establish the face validity of our model, and discuss its possible implications for research and practice.
dc.identifier.uri http://hdl.handle.net/1959.4/100090
dc.language English
dc.language.iso en
dc.publisher UNSW, Sydney
dc.rights CC BY 4.0
dc.rights.uri https://creativecommons.org/licenses/by/4.0/
dc.subject.other Blockchain-based Systems
dc.subject.other Software Architecture
dc.subject.other Software Qualities
dc.title Analysing the Design and Qualities of Blockchain-based Systems
dc.type Thesis
dcterms.accessRights open access
dcterms.rightsHolder Lo, Sin Kuang
dspace.entity.type Publication
unsw.accessRights.uri https://purl.org/coar/access_right/c_abf2
unsw.identifier.doi https://doi.org/10.26190/unsworks/2000
unsw.relation.faculty Engineering
unsw.relation.school School of Computer Science and Engineering
unsw.relation.school School of Computer Science and Engineering
unsw.relation.school School of Computer Science and Engineering
unsw.relation.school School of Computer Science and Engineering
unsw.subject.fieldofresearchcode 46 INFORMATION AND COMPUTING SCIENCES
unsw.thesis.degreetype PhD Doctorate
Files
Original bundle
Now showing 1 - 1 of 1
Thumbnail Image
Name:
public version.pdf
Size:
3.66 MB
Format:
application/pdf
Description:
Resource type