Abstract
最近几年,随着加密货币和去中心化应用的流行,区块链技术受到了各行业极大的关注。从数据管理的角度,区块链可以视作是在一个分布式环境下众多不可信节点共同维护且不可篡改的账本。由于节点间相互不可信,区块链通过共识协议,确保数据存储的一致性,实现去中心化的数据管理。针对区块链的安全性以及共识协议,已有诸多工作进行全面的分析。将从数据管理的角度,分析区块链技术与传统数据库下数据管理技术的异同。分布式数据管理的研究已经持续数十年,涵盖了数据存储模式、事务处理机制、查询执行与验证、系统可扩展性等诸多方面,并已有诸多技术广泛应用于实际的分布式数据库中。该类工作往往假定存在中心可信节点或者节点只可能发生崩溃而不存在恶意攻击。然而在区块链环境中,系统设计需考虑不可信节点可能的攻击行为以及拜占庭容错。这给数据管理带来了新的问题与挑战。因此,将梳理并分析国内外有关区块链数据管理的文献,并展望未来的研究方向。
Blockchain technologies have gained more and more attention during the last few years. In general, blockchains are distributed ledgers in which the users do not fully trust each other. Embedded with consensus protocols and security mechanism, blockchain systems achieve several properties, such as immutability, and all the users agree on all the data records and histories of transactions. From the perspective of data management, blockchain is a distributed database, in which nodes agree with the orders of executions of all the transactions. Many works have been done to survey about the security and consensus problems for blockchains. This study aims to survey and analyze the techniques about data management for the blockchain systems. In traditional databases, it assumes that the nodes in the distributed database are trusted, and only the crash failure needs to be considered. On the other hand, as the blockchains consider the malicious nodes, it needs to consider Byzantine fault tolerance. These have brought new problems and challenges to the blockchains. Since blockchains and databases have similar architecture, many works have been done to translate the techniques from distributed databases to blockchains. Considering this, in this study, the techniques for the data management in blockchains are surveyed. Four aspects of management, including storage, transaction management, query processing, and blockchain scalability are focused on. The differences are compared and the benefits of the techniques in these areas are analyzed for blockchains.
Translated title of the contribution | Survey on Data Management in Blockchain Systems |
---|---|
Original language | Chinese (Simplified) |
Pages (from-to) | 2903-2925 |
Number of pages | 23 |
Journal | 软件学报 |
Volume | 31 |
Issue number | 9 |
DOIs | |
Publication status | Published - 1 Sept 2020 |
Scopus Subject Areas
- Software
User-Defined Keywords
- 区块链
- 数据管理
- 数据存储
- 事务执行
- 查询处理
- Blockchain
- Data management
- Data storage
- Query processing
- Transaction execution