目录
引言
1 区块链技术背景
2 区块链数据可用性
2.1 区块链的存储模型
2.2 区块链存储的可扩展性
2.2.1 链下扩展方案
2.2.2 链上扩展方案
2.3 讨论
3 区块链数据可信性
3.1 基于ADS的数据可信保障技术
3.1.1 基于哈希的ADS
3.1.2 基于密码学累加器的ADS
3.1.3 小结
3.2 基于可信硬件的数据可信保障技术
3.3 讨论
4 区块链数据可流通性
4.1 主流的跨链机制
4.1.1 公证人机制
4.1.2 侧链/中继
4.1.3 哈希锁定
4.1.4 混合机制
4.2 跨链数据流通的难题
5 区块链数据可追溯性
6 结论与展望
摘要
【背景】 数据已然成为经济发展的基础性战略资源。要充分发挥数据要素作用,需要建立数据可信流通体系。【目的】 区块链作为新型可信数据管理平台,能够实现数据可信流通的基本需求。因此,本文将探讨基于区块链的数据要素可信流通技术。【方法】 从建立数据可信流通体系的角度出发,本文首先分析了构建数据要素可信流通体系的基本要求,然后分析了基于区块链实现数据可信流通的技术要点,总结了目前区块链研究领域中可用于实现上述目标的研究工作,并对未来的研究方向提出展望。【结果】 着眼于增强数据可用、可信、可流通、可追溯4个方面,本文对现有区块链系统研究中的存储模型、系统性能扩展方式、数据验证、跨链技术、溯源技术等方面进行总结分析。【结论】 现有研究成果能够基本实现数据要素可信流通体系,但在数据隐私、数据使用和数据表示方面仍存在诸多未解决的问题。
关键词: 区块链; 数据要素流通; 数据管理; 数据存储; 分片; 跨链; 溯源
引言
数据具有推动经济发展和产业变革的重大作用。从2017年到2021年,我国数据年产量从2.3ZB增长至6.6ZB,全球占比9.9%,位居世界第二[1],然而,接近70%的数据价值未被激活。2019年10月,党的十九届四中全会将数据纳入生产要素范畴,其原因在于它对推动生产力发展显现出的价值[2],是对数据价值定位不断深化的体现,强调了数据的重要性。然而,数据显著推动生产需要相应的技术和产业基础[2],并且与传统生产要素不同,数据要素流通涉及个人隐私及安全[3],且具有可复制、可共享、无限增长和供给的特点[2],对数据管理提出新的需求。国务院《关于构建数据基础制度更好发挥数据要素作用的意见》中指出:构建数据基础制度,要建立数据可信流通体系,增强数据的可用、可信、可流通、可追溯水平[4]。
区块链是一种去中心化的新型数据管理平台[5],在不可信网络中进行可信的数据存储与事务处理。传统区块链系统可以在一定程度上满足数据要素管理中的可用、可信、可流通、可追溯的要求:
(1)在数据可用性方面:区块链系统是一种由多个节点运行的冗余系统,数据被分布式地存储在众多节点上。在传统的区块链系统中(例如:比特币[6]、以太坊[7]、超级账本[8]等),系统中的每个节点都存有完整的数据副本,即使某些节点出现系统故障或网络故障,也不影响整个区块链网络的运行,保证了数据的冗余备份和可靠性。
(2)在数据可信性方面:区块链系统是一种去中心化的分布式系统,无中心控制机构,避免依赖于机构或个人的信用背书。通过共识机制,区块链网络中的每个节点都有权查看和验证区块链上的数据,数据一旦经过验证并被添加到区块中,将无法被单一或小部分恶意节点篡改和删除。这种去中心化、不可篡改、不可删除的特性保证了系统中数据的高度可信。
(3)在数据可流通方面:区块链系统可以建立在多个互不信任的参与方之间,使数据能够在不同组织和系统之间自由流通,打通了传统系统之间的信息壁垒。
(4)在数据可追溯方面:区块链将所有的交易记录按照时间顺序写入到去中心化账本中,任何参与方都可以根据账本记录追溯数据的流转途径。每笔交易都使用数字签名进行认证,从而确保交易的参与者是真实的,交易的内容是不可篡改、不可否认的。
与分布式数据库相比,区块链在安全和可流通性方面具有优势,但是区块链系统在数据管理方面仍面临诸多问题,阻碍了区块链系统成为建立数据可信流通体系的核心。幸运的是,区块链和分布式数据库系统存在很多相似的技术概念和解决方案,使双方在安全、效率和隐私方面的优势得以结合[9]。本文将从区块链系统的角度,综述用于建立数据要素可信流通体系的关键技术。本文将从数据的可用、可信、可流通、可追溯4个方面综述现有区块链系统在数据管理方面的研究工作:
(1)在数据可用性方面:传统区块链系统主要采用键-值型存储模型。数据要素场景中包含金融监管、数字存证、政务服务等多种应用场景,需要更加具有表达能力的存储和查询引擎。此外,相较于传统分布式数据库,区块链系统存储的可扩展性较差,难以面向大数据应用场景。因此,本文将针对现有区块链与数据的融合研究中用于提升区块链数据可用性的关键技术进行讨论。
(2)在数据可信性方面:现有区块链系统在数据查询验证方面主要采用两种策略。一种是基于密码学技术的方式,通过全网共识的可验证数据结构(Authenticated Data Structures, ADS)提供查询证明,另一种是基于可信硬件保证事务执行可信。本文主要针对现有系统中ADS所支持的查询种类和验证性能,以及基于可信硬件的事务执行方式进行讨论。
(3)在数据可流通方面:在实际应用中,不同的业务系统往往采用相对独立的区块链系统,因此便产生了多链环境。然而,链与链之间的共识协议并不相通,数据账本也不共享,这就产生了数据孤岛问题。区块链跨链技术可以实现不同区块链之间的安全、高效的数据传递,进一步促进了数据的交换和流通。区块链跨链技术仍然是区块链研究领域中的一个热点话题,因此本文将对目前研究领域中多种区块链跨链技术的机制和难点进行讨论。
(4)在数据可追溯方面:区块链的去中心化及保留全部历史数据的特点为数据可信追溯提供支持。然而,传统区块链系统上数据回溯的效率低,溯源结果及演变过程的真实性难以验证,溯源数据上链过程缺乏有效管理。本文将对目前区块链研究工作中用于提升溯源查询和验证效率及保证溯源信息的准确性两个方面的研究进行总结与讨论。
1 区块链技术背景
区块链的概念起源于中本聪提出的比特币[6],其本质上是一种把数据块按照时间顺序连接而成一种链式数据结构。以比特币为例,区块在网络中所有节点以一致的方式顺序连接并存储,新的区块只能被添加到链表的末尾。在此过程中,区块是区块链的基本结构单元,由包含元数据的区块头和包含事务数据的区块体组成。具体来说,区块头由区块高度、前一个区块的哈希值、时间戳、nonce、矿工签名和Merkle Tree根哈希等信息组成,而区块体可以被视为由多个事务组成的事务记录的集合。在比特币中,区块由哈希值连接,区块中数据的任何变化都会导致该区块的哈希值发生变化,进而影响到该区块之后所有区块的有效性,因此在区块链中篡改数据会随着区块链的增长而愈加困难,保证了数据存储的安全性。
随着人们对区块链的理解不断加深,目前的区块链创新融合了密码学、P2P通信、共识机制、智能合约等多种计算机前沿技术,已经发展成为利用链式数据结构来验证与存储数据、利用分布式共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式[10],具有分布存储、不可篡改、可追溯、可编程等技术特征,构建了独特的信任机制,在数据可信流通领域得到了广泛应用。
而在功能架构方面,区块链系统可以自下而上分为以下5层,为区块链的各种功能奠定基础:
(1)数据层。为了有效地组织区块链中的各种数据,数据层包含数据结构、事务模型、索引数据、状态数据和持久存储方案等元素。
(2)网络层。为了满足去中心化网络中各节点之间的通信,P2P协议在网络层起着重要的作用。节点间传输的内容主要由事务数据和区块数据组成。
(3)共识层。与中心化管理的数据库不同,区块链使用分布式共识算法来确保网络中互不信任的节点可以在同一账本上达成一致。共识算法的使用提高了区块链应对崩溃容错或拜占庭容错的能力,使区块链比传统数据库具有更高的安全性。
(4)合约层。包含各种脚本、算法和智能合约,是区块链可编程性的基础。
(5)应用层。用户可以使用区块链提供的API很容易地开发新的去中心化应用程序。
2 区块链数据可用性
区块链技术承担着数据要素可信流通过程中的存储、交易与共享等关键环节,主要支撑数据存储和查询功能。本文从区块链的存储模型和可扩展性两个方面来探讨区块链的数据可用性。存储模型是系统设计中至关重要的层次,与查询密切相关;可扩展性是系统能否面向大数据应用场景的重要技术指标。
2.1 区块链的存储模型
早期的区块链系统主要应用于加密数字货币[6-7]及金融服务领域[11],用于存储数字资产。这些系统主要使用键-值型存储模型,其优势在于:(1)键-值型存储模型足以满足以账户模型为主的数字资产存储需求;(2)键-值型存储模型通常不需要复杂的数据结构来存储数据,能够带来较高的查询处理性能。
随着区块链在数据管理领域逐渐得到人们的关注,广泛应用于金融监管、数字存证、政务服务和溯源防伪等场景中,单一的键-值型存储模型已经不能满足多样化的业务需求,存在查询语义缺失、查询能力不足等问题[12]。研究者们开始探索在区块链系统中实现数据库的存储模型。目前的研究主要分为两种方式:一种方式是不改变区块链原有的存储引擎,通过改变数据的存储格式,并引入多种索引,在区块链系统之上构建了支持各种查询功能的抽象数据库层;另一种方式是将成熟的数据库系统作为区块链的新型存储引擎,并修改区块链所提供的查询处理接口,从而使区块链系统具备数据库的查询处理能力。文章来源:https://www.toymoban.com/news/detail-840017.html
SEBDB[12,13] 属于第一种实现方式,将关系型语义添加到区块链存储中,通过重新定义区块链交易的数据格式实现了一种表格存储模式,并将每条交易作为一项数据记录。具体来说,交易包含两种属性类型:系统级属性和应用级属性。系统级属性包括交易ID、签名、时间戳、交易发送者、交易类型等,由系统自动添加,其中交易类型用于区分该条记录所属的表格。应用级属性由用户在表格创建时进行显示定义。为提升链上数据的查询效率,SEBDB定义了3种基本查询操作:(1)根据区块号、交易记录编号或时间戳来获取区块数据;(2)根据交易类型获取全部交易记录;(3)获取满足特定条件的交易记录。随后提出3种索引来优化上述查询:(1)以(block_id, first_tx_id, ts)文章来源地址https://www.toymoban.com/news/detail-840017.html
到了这里,关于基于区块链的数据要素可信流通技术综述的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!