System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于CNFS协议下区块链节点存储机制的交易记录检索方法技术_技高网

基于CNFS协议下区块链节点存储机制的交易记录检索方法技术

技术编号:40809954 阅读:17 留言:0更新日期:2024-03-28 19:32
本发明专利技术提供一种基于CNFS协议下区块链节点存储机制的交易记录检索方法,属于区块链领域,所述CNFS协议下区块链存储方法包括区块存储存储设计、Merkle Bucket存储设计以及交易记录存储设计,区块存储设计在原有的区块节点新增权限标识用来减少遍历性能损耗;Merkle Bucket存储设计将数据变更记录优化为数组存储,以提高实体间数据耦合性;交易记录存储设计将不同实体间交互权限规范化,使用B+树降低检索负担。本发明专利技术提出的区块链节点存储机制的交易记录检索方法较传统的区块链交易记录查询机制方法在性能上有明显提升,对于不同版本的冷热存储机制,使得对交易记录的检索方法更具有实用性。

【技术实现步骤摘要】

本专利技术涉及区块链,涉及一种基于cnfs协议下区块链节点存储机制的交易记录检索方法。


技术介绍

1、区块链技术作为一种去中心化、透明、安全的分布式账本技术,近年来得到了广泛的关注和应用。它最初以比特币为代表,通过去中心化的共识机制,实现了数字货币的安全交易。随着时间的推移,区块链技术开始应用于更广泛的领域,如供应链管理、智能合约、物联网等。当前,区块链技术正处于快速发展的阶段。不仅仅是比特币,许多其他公有链和联盟链也在不断涌现,提供了更多的选择。同时,一些大型企业和机构也开始积极探索区块链技术的应用,以提高效率、降低成本和增强安全性。随着数据量的增大,对于相同实体的不同版本存储和权限认证也成了一个热门研究点。

2、区块链是一个分布式账本,数据被不断添加到区块中,每个区块都包含了一组交易。数据检索可以帮助用户追溯特定交易的历史记录,了解数据的来源和修改历史,确保数据的可信度和透明度。通过数据检索,可以验证特定数据是否存在于区块链中,并且可以验证数据的完整性和一致性。这对于保证数据的可信度和防止篡改非常重要。在区块链中,不同的参与者可能具有不同的权限和角色。区块权限可以帮助限制特定用户或角色对区块链数据的访问和修改权限,确保数据的安全性和保密性。区块链中的数据通常是公开的,但某些数据可能需要保护隐私。通过区块权限,可以限制特定用户或角色对敏感数据的访问权限,保护用户的隐私。

3、当前区块链技术,使用merkle树验证区块链数据的完整性,但是此技术只能存储某一版本的所有交易数据,如果对于同一实体的多种版本则显得较为死板,只能通过新增节点到区块链方式完成,对于多版本场景下,则会使区块链数据变的沉重冗余,且不能进行冷热数据分离,极大影响性能。此外,区块链的隐私性问题,目前区块链做法是对所有的交易数据进行验证,当区块链规模增大时,存储和处理的负担也会随之增加。


技术实现思路

1、针对现有技术中存在的问题,本专利技术提供了一种基于cnfs协议下区块链节点存储机制的交易记录检索方法。所述cnfs协议下区块链存储方法包括区块存储存储设计、merkle bucket存储设计以及交易记录存储设计,本专利技术的区块存储设计在原有的区块节点新增权限标识用来减少遍历性能损耗;merkle bucket存储设计将数据变更记录优化为数组存储,以提高实体间数据耦合性;交易记录存储设计将不同实体间交互权限规范化,使用b+树降低检索负担。

2、本专利技术的技术方案为:

3、基于cnfs协议下区块链节点存储机制的交易记录检索方法,所述方法包含如下步骤:

4、步骤1,查询主体发出查找请求,请求数据包括查询主体的唯一id、查询主体的权限标识符、待查询区块的唯一id、待查询区块的待查询版本哈希值;所述查找请求被发送到全节点,所述全节点用于存储区块链网络中所有区块信息;

5、所述全节点收到查找请求后进行权限检查,确认所述查询主体是否有权限访问对应的待查询区块数据和待查询区块的待查询版本数据;所述权限检查是将所述查找请求中的权限标识符和待查询区块的权限标识符进行对比,如果所述查找请求未被授权,所述全节点将拒绝访问并返回一个错误信息,如果所述查找请求被授权,所述全节点将继续按照步骤2处理查找请求;

6、步骤2,被授权的查找请求访问当前区块,返回一个存储当前区块全部版本数据的buckets数组,buckets数组中存储着不同区块版本的版本指针versionhash,每一个版本指针versionhash指向其对应版本的所有交易数据,所述所有交易数据用一个b+树存储;

7、步骤3,根据所述查找请求的待查询区块的待查询版本的哈希值在buckets数组中查找对应的版本指针versionhash,获得待查询区块的待查询版本的交易记录,遍历所述b+树以获取对应版本下的交易记录。

8、进一步地,为了实现权限验证,所述步骤1中,所述权限使用权限标识符表示,所述权限标识符使用3bit位进行存储,数字4表示查询权限,数字2表示修改权限,数字1表示传播权限。通过使用这种紧凑的存储方式,可以提高数据查询和对比的效率,降低存储空间的占用。

9、进一步地,所述步骤3中,所述遍历b+树时,将查询主体的唯一id进行hash映射,把所述查询主体的唯一id映射为顺序增长的node_id,得到所述node_id后,在b+树中查找对应版本下的交易记录。

10、进一步地,按照键的顺序遍历b+树的所有叶子节点,找到待查询区块的待查询版本的所有交易记录。

11、本专利技术的有益效果为,与现有技术相比本专利技术提供了一种基于cnfs协议下区块链节点存储机制的交易记录检索方法,在针对不同版本的实体数据存储,使用buckets存储不同版本数据,其中,每个bucket数组只包含特定版本的数据,而不是整个区块链的全部数据。将辅助信息存储在磁盘中,而不是存储在区块链中,这些辅助信息可以根据需要进行加载,从而减少了对区块链的频繁访问,实现冷热数据分离,减少区块链负荷,提高检索效率和整体系统的性能。同时引入权限标识符,提高区块链不同版本访问权限控制,提升了权限核验效率,具备一定的实用性和应用价值。

本文档来自技高网...

【技术保护点】

1.基于CNFS协议下区块链节点存储机制的交易记录检索方法,其特征在于,所述方法包含如下步骤:

2.根据权利要求1所述的基于CNFS协议下区块链节点存储机制的交易记录检索方法,其特征在于,所述步骤1中,所述权限使用权限标识符表示,所述权限标识符使用3bit位进行存储,数字4表示查询权限,数字2表示修改权限,数字1表示传播权限。

3.根据权利要求1所述的基于CNFS协议下区块链节点存储机制的交易记录检索方法,其特征在于,所述步骤3中,所述遍历B+树时,将查询主体的唯一ID进行Hash映射,把所述查询主体的唯一ID映射为顺序增长的Node_ID,得到所述Node_ID后,在B+树中查找对应版本下的交易记录。

4.根据权利要求3所述的CNFS协议下区块链节点存储方法,其特征在于,按照键的顺序遍历B+树的所有叶子节点,找到待查询区块的待查询版本的所有交易记录。

【技术特征摘要】

1.基于cnfs协议下区块链节点存储机制的交易记录检索方法,其特征在于,所述方法包含如下步骤:

2.根据权利要求1所述的基于cnfs协议下区块链节点存储机制的交易记录检索方法,其特征在于,所述步骤1中,所述权限使用权限标识符表示,所述权限标识符使用3bit位进行存储,数字4表示查询权限,数字2表示修改权限,数字1表示传播权限。

3.根据权利要求1所述的基于cnfs协议下区块...

【专利技术属性】
技术研发人员:原旭颜祎阔秦昌媛
申请(专利权)人:大连理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1