区块链是在数字加密货币的应用基础之上发展起来的一种分布式数据库技术。区块链系统具有去中心化、不可篡改、分布共识、可溯源和最终一致性等特点,这使其可以用于解决不可信环境下数据管理问题。区块链独特的数据管理功能已经成为各领域应用中发挥区块链价值的关键。本文基于对比特币、以太坊、超级账本等代表性区块链系统的研究分析,阐述区块链系统中分布式数据管理技术。首先,深人讨论区块链系统与传统分布式数据库系统之间的异同点,从分布式部署模式、节点角色、链拓扑结构等多个方面给出区块链的分类。然后,详细分析各类区块链系统所使用的数据存储结构、分布式查询处理与优化技术及其优缺点。最后,总结区块链系统的分布式数据管理技术在各专门领域应用中所面临的挑战和发展趋势。
一、引言
在“互联网+”应用日益普及的大环境下,大量应用需要将发生的事件、行为、状态持久地记录在分布式环境中以用于日后的查询,即进行分布式记账。分布式记账已经逐渐成为互联网应用中的一项重要功能。以电子商务交易系统为例,客户需要执行提交订单、通过电子银行向商家支付货款、从物流公司收货等操作,商家需要执行接受订单、通过物流公司发货、通过电子银行收款等操作,电子银行方需要执行从客户收款、向商家付款等操作,物流公司需要执行从商家收货、收取物流款、向客户发货等操作。客户、商家、物流公司、电子银行共四方处于一个分布式环境中,在每一个环节都需要记录相关的操作和信息。由于各方之间并不存在完全信任关系,最终以哪一方记录的账目为确认信息是一个重要的问题。传统的方法采用由电子商务交易服务平台作为公正的第三方进行统一记账,所有的交易信息的查询操作全部在这个平台上进行处理,物流公司和银行的部分数据也以接人的方式添加至交易服务平台。在这种传统集中式记账方式里,主要的交易信息存储在单一的记账方,这是一种“逻辑”上的集中式存储模式,即交易数据存储在唯一的某业务参与方并由其负责管理。集中式记账方式存在的问题包括:
(1)记账方为了保证可靠性需要存储数据的多个副本,从而造成了数据存储的性能瓶颈;
(2)交易数据可能被记账方篡改且无法验证,因此各参与方需要完全信任记账方;
(3)记账方受到攻击后数据难以恢复。因此,传统集中式记账方式存在着存储效率低、可信性差、易受攻击等弊端。
为了解决以上难题,采用分布式记账方式的比特币系统(Bitcoin)在 2008 年被首次提出,并受到广泛关注。随后,区块链技术作为比特币系统所采用的底层技术逐渐引起工业界与学术界的重视,比特币系统所具有的分布共享性、共识性、不可篡改性、可溯源性和最终一致性等特点均来源于区块链技术。在基于区块链技术的分布式记账方式中,所有参与方都可以保存一份相同的完全账本,新加人的参与方可以下载完全账本并验证账本的正确性。这种方式降低了传统集中式记账方式中记账方的多副本数据维护成本,同时参与方也可以通过访问本地数据提高访问效率。此外,在区块链系统中,交易的账目采用数字签名和加密算法处理,从而提高了系统中数据的安全性,而区块之间通过哈希值串联的数据关联方式和基于共识算法确认区块的数据写人机制也使得区块链上的数据极难被篡改。
未来,区块链技术将会与其他新兴技术相结合用于各类应用之中,诸如区块链+科学、区块链+医疗、区块链+教育、区块链+能源等应用将会迅速发展。目前,区块链技术已应用于多个领域之中.在数字货币服务领域,支持支付、兑换、汇款、交易功能;在金融服务领域,支持清算、结算、安全监管、反洗钱等功能;在B2C服务领域,支持无人管理的商亭等新业务;在P2P租赁管理领域,支持无需中介的货物交换、租赁等共享经济新业务;在供应链管理领域,支持物理资产签名、物流跟踪和交付等功能;在知识产权保护领域,用于建立不可篡改的权利和拥有权;在征信管理领域,支持身份认证、日志审计和监管等;在溯源管理领域,支持数据鉴别与存证、防伪溯源等功能。
区块链技术是一种建立在多种技术之上的分布式共享账本技术,而区块链本质上是一种多方参与共同维护的分布式数据库。相对于集中式数据库管理系统,区块链系统采用去中心化或者弱中心化的数据管理模式,没有中心节点,所有参与节点均可以存储数据,而事务的持久性则依靠参与节点共同维护的不断增长的数据链和非集中式的共识机制予以实现,保证了数据在基于验证基础上的可信性。此外,相比于传统的分布式数据库和分布式数据存储系统,区块链系统的参与节点可以获得完整的数据副本,而非部分数据的副本。区块链系统的特殊数据存储机制和一致性共识机制是其不同于传统分布式数据库系统的主要原因。
区块链的数据存储结构和数据组织方式不同于其他数据存储系统.区块链将数据记录组织成区块(Block),并在每个区块的区块头中通过记录前一区块的哈希值将区块组织成链式结构。这种结构使区块链的数据存储具有不易篡改性、可溯源性和可验证性。然而,区块链的存储结构和基于密码学算法的共识机制也为数据管理带来了交易确认效率低和查询不便等诸多弊端。例如在记录交易的吞吐量方面,使用区块链技术的比特币系统仅支持每秒处理7笔交易数,并且还需要经过1小时以上时间才可以确认写到区块(相关研究表明43%的比特币交易未能在一小时内得到处理?)。此外,区块链的数据记录按时间顺序存储在区块中,这为交易数据的查询处理带来了挑战,当前很多数字货币系统的查询处理都要依赖于某种键值数据库系统。
………………
二、区块链系统的分布式数据管理
区块链系统作为一种分布式数据库管理系统,主要以解决数字:货币的货币转移、兑换和变付功能而被提出。区块链的特征主要体现在数据的公开透明、不可纂改和网络结构的去中心化等几个方面。由于区块链主要面向的是不可信数据存储环境下的记账应用,因此在数据存储上采用了去中心化、全副本的分布式方式,即所有参与方均通过P2P网络结构连接,并可以存储完整的共享账本,由此可见,区块链系统在管理交易记账上虽然使用了分布式数据管理方式,但与传统的集中式数据管理和分布式数据库系统管理数据的方式均有所差别.本嗜金要将区块链系统与传统数据管理方式迸行对比和分析,并阐述彼此间的共同点和差异性。
………………
区块链中的分布式数据管理与存储技术 PDF 完整版下载(文字可复制):
https://www.aliyundrive.com/s/kJzS7AtWP8J 提取码: 48ur