IEEE Access · 2019 · 211 citations · 31 references
Blockchain DataEngineeringTypical Software SystemCloud ComputingBlockchain ProtocolLarger Software SystemData IntegrationFrom ArchitectureDistributed LedgerGovernance (Data Management)Blockchain-based SystemsData GovernanceBlockchain ScalabilityData ManagementBlockchainData SecurityBig Data
In blockchain-based systems, data storage and consensus across distributed nodes underpin trustless multi‑party transactions, and understanding how data are stored and manipulated determines utility, performance, and cost, while the technology offers transparency, immutability, and consistency but also introduces new data‑management challenges. The paper aims to deepen understanding of blockchain as a data store and promote a methodical approach for integrating it into large software systems. The authors analyze blockchain architecture by mapping typical software data‑store layers to blockchain terms, examining data placement and flow, administration, analytics, and governance issues such as privacy and quality assurance.
In a blockchain-based system, data and the consensus-based process of recording and updating them over distributed nodes are central to enabling the trustless multi-party transactions. Thus, properly understanding what and how the data are stored and manipulated ultimately determines the degree of utility, performance, and cost of a blockchain-based application. While blockchains enhance the quality of the data by providing a transparent, immutable, and consistent data store, the technology also brings new challenges from a data management perspective. In this paper, we analyse blockchains from the viewpoint of a developer to highlight important concepts and considerations when incorporating a blockchain into a larger software system as a data store. The work aims to increase the level of understanding of blockchain technology as a data store and to promote a methodical approach in applying it to large software systems. First, we identify the common architectural layers of a typical software system with data stores and conceptualise each layer in blockchain terms. Second, we examine the placement and flow of data in blockchain-based applications. Third, we explore data administration aspects for blockchains, especially as a distributed data store. Fourth, we discuss the analytics of blockchain data and trustable data analytics enabled by blockchain. Lastly, we examine the data governance issues in blockchains in terms of privacy and quality assurance.
31
Bitcoin: A Peer-to-Peer Electronic Cash System
Dr Craig S Wright · SSRN Electronic Journal · 2008 · 14.3K citations · Full text
Decentralizing Privacy: Using Blockchain to Protect Personal Data
Guy Zyskind, Oz Nathan, Alex Pentland · 2015 · 2.5K citations · Full text
Tien Tuan Anh Dinh, Ji Wang, Gang Chen et al. · 2017 · 773 citations
A Taxonomy of Blockchain-Based Systems for Architecture Design
Xiwei Xu, Ingo Weber, Mark Staples et al. · 2017 · 725 citations