
SERVICE PHONE
363050.com发布时间:2025-05-09 11:05:21 点击量:
1.一种基于基数估计方法的高效区块链交易查询方法,其特征在于:包括如下步骤:
S1、基于账户模型的区块链系统,对以太坊网络的Geth进行设计部署,并添加服务提供
S2、在所述链下模块部分,结合布隆过滤器技术和默克尔树结构,设计名为默克尔基数
树的数据结构和配套的验证机制;所述链上模块部分,在原有的区块头数据结构中增加默
克尔基数树根和布隆过滤器根据区块内所有交易关键字生成的哈希值这两个元素;
S3、用户通过请求节点发起查询请求,并规定查询精度,通过服务提供节点监听网络中
S4、所述服务提供节点通过布隆过滤器计算区块头中的关键字哈希元素,对区块链系
S5、在筛选得到的区块中,通过DOSE算法动态确定需要采样的MCT默克尔基数树数量,
将查询过程转到链下模块并对采样的MCT进行查询,更新参数并重新执行DOSE算法,以更新
MCT采样数量并逐步缩小数据采样范围,实现数据筛选优化;在此过程中持续对MCT进行查
询,直至算法查询的MCT数量满足DOSE算法输出的MCT采样数量,最终锁定查询数据,并执行
S6、所述服务提供节点向用户返回查询结果的查询数据集和MCT查询路径的节点值;
S7、用户接收到查询结果后,请求节点根据返回的查询数据集和MCT查询路径的节点值
进行哈希计算,得到一个根值,即根哈希;将链下模块的根哈希与链上模块的根哈希记录相
2.根据权利要求1所述的一种基于基数估计方法的高效区块链交易查询方法,其特征
S102、将私链网络的部分全节点升级为服务提供节点,包括链上数据结构改动,增加链
S104、根据打包进区块的交易,服务提供节点通过布隆过滤器计算对应区块中的所有
S105、根据打包进区块的交易,服务提供节点生成对应区块的MCT,并将MCT的子节点数
3.根据权利要求1所述的一种基于基数估计方法的高效区块链交易查询方法,其特征
S501、通过DOSE初始化算法预估需要采样的MCT数量,针对第一个MCT进行查询,得到符
S502、将得出的符合查询结果的估计值代入DOSE算法再次计算MCT采样数量,再次查询
S503、多次执行以上步骤,直至MCT已经查询的个数等于DOSE算法的输出值;
S504、利用已经查询到的MCT中的查询结果估计值,估算整个区块链系统中的数据量
4.根据权利要求1所述的一种基于基数估计方法的高效区块链交易查询方法,其特征
5.根据权利要求4所述的一种基于基数估计方法的高效区块链交易查询方法,其特征
在于:所述链上模块作为存证,方便查询请求节点进行数据的核对,防止服务提供节点作
恶;所述链下模块负责响应轻节点的查询请求,并返回验证数据,辅助查询的区块采样,提
随着web3.0时代的到来,区块链技术进入大众视野,并迅速与金融、供应链、教育、
医疗和物联网等领域融合,成为构建高安全性、透明化和去中心化互联智能社会的基石;区
块链技术的迅速发展带来了链上数据的爆发式增长,但是受制于系统内部共识机制和存储
机制的设计,无法满足大数据量基础下快速精准的查询需求,使得整体系统的查询服务质
量十分不稳定;为了解决上述问题,我们设计了一种针基于基数估计方法的高效区块链交
易查询技术,可以在保证数据安全性和完整性的前提下,提供高效的查询服务,优化查询服
块链系统中的哈希二叉树主要是快速归纳和校验区块数据的完整性,它会将区块链中的数
据分组进行哈希运算,向上不断递归运算产生新的哈希节点,最终只剩下一个默克尔根存
入区块头中,每个哈希节点总是包含两个相邻的数据块或其哈希值,在区块链系统中使用
默克尔树有两个优势:首先是极大地提高了区块链的运行效率和可扩展性,使得区块头只
需包含根哈希值而不必封装所有底层数据,这使得哈希运算可以高效地运行在智能手机甚
至物联网设备上;其次是Merkle树可支持“简化支付验证协议”(SPV),即在不运行完整区块
布隆过滤器(Bloom Filter)是一个高空间利用率的概率性数据结构,由二进制向
量,即位数组和一系列随机映射函数两部分组成,主要用于判断某个元素是否存在于某个
集合中;它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别
率(即Bloom Filter报告某一元素存在于某集合中,但是实际上该元素并不在集合中)和删
除困难,但是没有识别错误的情形(如果某个元素确实没有在该集合中,那么Bloom Filter
基数计数(Cardinality Counting)指计算一个数据集的基数,即表示一个数据集
中不同数据项的数量;基数估计是诸多业务的基本需求,基数估算算法也在不断迭代,它们
容许在一定的误差的情况下,基于统计概率进行估算,如Linear Counting算法、LogLog
基数的一个良好估计,一般只要使用少于1k的空间存储状态;这个方法和数据本身的特征
对于查询服务质量的关注。一方面,链上的复杂查询、审计和网络同步需要针对于庞大数据
量的面向查询需求的处理来提高查询服务质量,另一方面,不同的现实场景,如医疗、教育
等领域也需要基于区块链的高效数据查询来提供可信任的、准确的数据分析服务;基于此,
本发明结合已有的优势技术,设计了一种基于基数估计方法的高效区块链交易查询技术,
改善现有区块链查询技术,设计针对于交易的相关基数估计的数据结构和算法,以提高区
(1)现有区块链技术受制于系统内部共识机制和存储机制的设计,无法满足大数
据量基础下快速精准的查询需求,使得整体系统的查询服务质量十分不稳定;本发明将基
数估计方法和区块链技术结合,在保证区块链数据安全性和完整性的前提下,极大地提高
了对于区块链交易查询的效率;为了提高查询效率和查询精度,同时提高实用性,本发明创
S1、基于账户模型的区块链系统,对以太坊网络的Geth进行设计部署,并添加服务
S2、在所述链下模块部分,结合布隆过滤器技术和默克尔树结构,设计名为默克尔
基数树的数据结构和配套的验证机制;所述链上模块部分,在原有的区块头数据结构中增
加默克尔基数树根和布隆过滤器根据区块内所有交易关键字生成的哈希值这两个元素;
S3、用户通过请求节点发起查询请求,并规定查询精度,通过服务提供节点监听网
S4、所述服务提供节点通过布隆过滤器计算区块头中的关键字哈希元素,对区块
S5、在筛选得到的区块中,通过DOSE算法动态确定需要采样的MCT数量,将查询过
程转到链下模块并对采样的MCT进行查询,更新参数并重新执行DOSE算法,以更新MCT采样
数量并逐步缩小数据采样范围,实现数据筛选优化;在此过程中持续对MCT进行查询,直至
算法查询的MCT数量满足DOSE算法输出的MCT采样数量,最终锁定查询数据,并执行基数估
S6、所述服务提供节点向用户返回查询结果的查询数据集和MCT查询路径的节点
S7、用户接收到查询结果后,请求节点根据返回的查询数据集和MCT查询路径的节
点值进行哈希计算,得到一个根值,即根哈希;将链下模块的根哈希与链上模块的根哈希记
S102、将私链网络的部分全节点升级为服务提供节点,包括链上数据结构改动,增
S104、根据打包进区块的交易,服务提供节点通过布隆过滤器计算对应区块中的
S105、根据打包进区块的交易,服务提供节点生成对应区块的MCT,并将MCT的子节
S501、通过DOSE初始化算法预估需要采样的MCT数量,针对第一个MCT进行查询,得
S502、将得出的符合查询结果的估计值代入DOSE算法再次计算MCT采样数量,再次
S503、多次执行以上步骤,直至MCT已经查询的个数等于DOSE算法的输出值;
S504、利用已经查询到的MCT中的查询结果估计值,估算整个区块链系统中的数据
优选的,所述链上模块作为存证,方便查询请求节点进行数据的核对,防止服务提
供节点作恶;所述链下模块负责响应轻节点的查询请求,并返回验证数据,辅助查询的区块
(1)为了优化链上数据结构,本发明采取了区块链链上和链下结合的设计方式,提
(2)本发明将查询过程转移到链下模块进行,设计了MCT数据结构和DOSE算法,在
(3)本发明克服了区块链网络中交易查询速度慢,响应时间长的问题,将基数估计
方法和区块链技术结合,在保证区块链数据安全性和完整性的前提下,极大地提高了对于
区块链交易查询的效率;为了提高查询效率和查询精度,同时提高实用性,本发明创新的设
计了完整的查询数据结构和算法来优化现有区块链查询技术,从而保障了查询服务质量的
图2为本发明提出的一种基于基数估计方法的高效区块链交易查询技术的MCT结
整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于
本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
请参阅图1‑3,一种基于基数估计方法的高效区块链交易查询技术,包括如下步
S1、基于账户模型的区块链系统,对以太坊网络的Geth进行设计部署,并添加服务
S2、在所述链下模块部分,结合布隆过滤器技术和默克尔树结构,设计名为默克尔
基数树的数据结构和配套的验证机制;所述链上模块部分,在原有的区块头数据结构中增
加默克尔基数树根和布隆过滤器根据区块内所有交易关键字生成的哈希值这两个元素;
S3、用户通过请求节点发起查询请求,并规定查询精度,通过服务提供节点监听网
S4、所述服务提供节点通过布隆过滤器计算区块头中的关键字哈希元素,对区块
S5、在筛选得到的区块中,通过DOSE算法动态确定需要采样的MCT数量,将查询过
程转到链下模块并对采样的MCT进行查询,更新参数并重新执行DOSE算法,以更新MCT采样
数量并逐步缩小数据采样范围,实现数据筛选优化;在此过程中持续对MCT进行查询,直至
算法查询的MCT数量满足DOSE算法输出的MCT采样数量,最终锁定查询数据,并执行基数估
S6、所述服务提供节点向用户返回查询结果的查询数据集和MCT查询路径的节点
S7、用户接收到查询结果后,请求节点根据返回的查询数据集和MCT查询路径的节
点值进行哈希计算,得到一个根值,即根哈希;将链下模块的根哈希与链上模块的根哈希记
前提下,极大地提高了对于区块链交易查询的效率;为了提高查询效率和查询精度,同时提
高实用性,本发明创新的设计了完整的查询数据结构和算法来优化现有区块链查询技术。
S102、将私链网络的部分全节点升级为服务提供节点,包括链上数据结构改动,增
S104、根据打包进区块的交易,服务提供节点通过布隆过滤器计算对应区块中的
S105、根据打包进区块的交易,服务提供节点生成对应区块的MCT,并将MCT的子节
为了避免以太坊公链网络中不定因素的影响,在S101中利用和以太坊网络底层结
构相同的Geth私链作为载体来实现改进的区块链系统;由于私链网络中的参数控制相对简
单,在S104和S105中,本发明可以设计具有更高规避网络攻击风险的数据结构和算法;此
外,S104‑S105两个步骤在链下模块进行有利于减少链上模块资源的消耗,提高查询反应速
度,降低延迟;并且S104和S105这两个步骤实际上是同步进行的,通过优化服务提供节点的
硬件设备,可以进一步提高数据结构构建效率和查询效率,规避区块链网络延迟,提高查询
基于实施例1‑2又有所不同的是:S5中通过DOSE算法动态确定MCT采样数量的具体
S501、通过DOSE初始化算法预估需要采样的MCT数量,针对第一个MCT进行查询,得
S502、将得出的符合查询结果的估计值代入DOSE算法再次计算MCT采样数量,再次
S503、多次执行以上步骤,直至MCT已经查询的个数等于DOSE算法的输出值;
S504、利用已经查询到的MCT中的查询结果估计值,估算整个区块链系统中的数据
节点扮演用户的角色,只需要同步共享帐本中的区块头数据以降低自身的存储消耗,全节
点则需要存储共享账本的所有数据;所述服务提供节点同步全节点的完整数据,并且提供
作恶;所述链下模块负责响应轻节点的查询请求,并返回验证数据,辅助查询的区块采样,
的同时会将MCT查询路径的节点值一起返回到请求节点,请求节点根据查询数据集和MCT查
询路径的节点值进行哈希计算,得到根哈希,链下模块的根哈希应当与链上模块的MCT根值
相同,即链上模块用于防止链下模块作恶的存证;链上模块的根通过链下模块的MCT计算得
到,所以轻节点不需要存储MCT数据,即通过链下模块存储MCT数据,链上模块存储了根作为
块和链下模块两个模块组成,主要创新点在于将基数估计方法应用于区块链系统的交易基
数估计中,并通过MCT数据结构和DOSE算法优化整体查询效率并提供验证功能;本发明可以
优化区块链查询技术中对于查询请求的服务质量,并且以现有的成熟区块链系统为载体进
行,具有非常高的实用性,本发明的保护范围是整体系统的设计和运行以及基于基数估计
的查询方法,针对区块链交易查询方面的应用很多,基于本发明进行改造和改进的方法也
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,
任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其