摘要
传统的数据库管理系统主要由单一机构管理和维护,在多方参与者协作的场景中,因无法完全信任数据库中的数据,每方都需要单独构建一套承载自己业务数据的数据库,多方数据库间的数据差异会导致繁琐的人工对账和争议,而区块链可解决这种多方间的信任问题.区块链作为一种去中心化、不可篡改、可追溯、多方共同维护的分布式数据库,可在互不了解的多方间建立可靠的信任,在没有第三方中介机构的协调下,划时代地实现了可信的数据共享和点对点的价值传输.该文结合比特币、以太坊和Hyperledger Fabric等区块链平台,提出了区块链系统的体系架构;从区块链数据、共识机制、智能合约、可扩展性、安全性几个方面阐述了区块链的原理与技术;通过与传统数据库对比,总结了区块链的优势、劣势及发展趋势.
Traditional database management systems are controlled by a single entity,because the data in the databases cannot be fully trusted by all participants in a multi-party collaboration scenario,each participant must maintain a separate database that hosts its own business data,the discrepancies on each participant’s databases lead to slowdowns of manual reconciliation and some disputes.Blockchain can solve the problem of trust among multiple participants.Blockchain is a decentralized,trustless,tamper-proof and traceable distributed database managed by multiple participants.A blockchain also called distributed ledger,is essentially an append-only data structure maintained by a set of nodes which do not fully trust each other.Nodes in the blockchain keep replicas of the blocks,each containing an ordered set of transactions modifying the states.All nodes agree on the transactions and their order.Traditional databases assume a trusted environment.Blockchain’s key property is that it assumes nodes behave in arbitrary manner.Being able to tolerate Byzantine failure by consensus protocol,blockchain establishes a reliable trust between both parties of the transaction,and implements trusted data sharing and peer-to-peer value exchange without third-party intermediaries.The blockchain’s consensus protocol must tolerate Byzantine failures.This is not the case in traditional distributed systems,in which they use the Paxos or Raft consensus protocol.There are many variants of consensus protocols being developed for blockchains.They can be classified into two kinds.One consists of purely computation based protocols that use proof of computation to randomly select a node which decides the next block.PoW is the prime example.The other are purely communication based protocols in which nodes have equal votes and go through multiple rounds of communication to reach consensus.PBFT is the prime example.A blockchain system can be categorized as either public or consortium.In the former,any node can join and leave the system.In the latter,the blockchain enforces strict membership.There is an access control mechanism to determine who can join the system.PoW are used in public blockchains because they are fully decentralized,and PBFT are used in consortium blockchains because they assume authenticated nodes.Bitcoin is the most successful blockchain application.Ethereum is the most widely used platform in public blockchains.Hyperledger Fabric is the most widely used platform in consortium blockchains.This paper proposes an architecture model of the blockchain system based on the above three mainstream blockchain platforms.This paper then discusses the principles and technologies of blockchain according to blockchain data,consensus mechanism,smart contract,scalability and security.Specifically,blockchain data is introduced from three aspects of data structure,data model and datastore,consensus mechanism is discussed about PoW applied in public blockchains and PBFT applied in consortium blockchains,smart contract is described from three aspects of running mechanism,programing language and sandbox,blockchain scalability is analyzed about sharding and multichannel,blockchain security is discussed from digital signing and verification,and privacy preserving.This paper also analyzes the advantages,disadvantages and technology trends of blockchain by comparing with traditional databases,and gives several challenging research problems for blockchain.The development of blockchain will bring both challenges and opportunities for many industries,and result in the second generation of the digital revolution bringing us the Internet of Value.
作者
邵奇峰
金澈清
张召
钱卫宁
周傲英
SHAO Qi-Feng;JIN Che-Qing;ZHANG Zhao;QIAN Wei-Ning;ZHOU Ao-Ying(School of Data Science and Engineering,East China Normal University,Shanghai 200062;School of Software,Zhongyuan University of Technology,Zhengzhou 450007)
出处
《计算机学报》
EI
CSCD
北大核心
2018年第5期969-988,共20页
Chinese Journal of Computers
基金
国家"九七三"重点基础研究发展规划项目基金(2012CB316203)
国家自然科学基金(61432006
61370101)
河南省科技攻关计划项目(172102310714
172102210593)
河南省高等学校重点科研项目(15A520112)资助