一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于基数估计方法的高效区块链交易查询技术

2022-08-11 07:21:42 来源:中国专利 TAG:


1.本发明属于计算机科学与技术领域,具体涉及一种基于基数估计方法的高效区块链交易查询技术。


背景技术:

2.随着web3.0时代的到来,区块链技术进入大众视野,并迅速与金融、供应链、教育、医疗和物联网等领域融合,成为构建高安全性、透明化和去中心化互联智能社会的基石;区块链技术的迅速发展带来了链上数据的爆发式增长,但是受制于系统内部共识机制和存储机制的设计,无法满足大数据量基础下快速精准的查询需求,使得整体系统的查询服务质量十分不稳定;为了解决上述问题,我们设计了一种针基于基数估计方法的高效区块链交易查询技术,可以在保证数据安全性和完整性的前提下,提供高效的查询服务,优化查询服务质量。涉及到的技术主要有默克尔树(merkle tree),布隆过滤器(bloom filter),基数计数(cardinality counting),相关技术介绍如下:
3.默克尔树(merkel tree,mt),是一种哈希二叉树,1979年由ralph merkel发明。区块链系统中的哈希二叉树主要是快速归纳和校验区块数据的完整性,它会将区块链中的数据分组进行哈希运算,向上不断递归运算产生新的哈希节点,最终只剩下一个默克尔根存入区块头中,每个哈希节点总是包含两个相邻的数据块或其哈希值,在区块链系统中使用默克尔树有两个优势:首先是极大地提高了区块链的运行效率和可扩展性,使得区块头只需包含根哈希值而不必封装所有底层数据,这使得哈希运算可以高效地运行在智能手机甚至物联网设备上;其次是merkle树可支持“简化支付验证协议”(spv),即在不运行完整区块链网络节点的情况下,也能够对交易数据进行检验。
4.布隆过滤器(bloom filter)是一个高空间利用率的概率性数据结构,由二进制向量,即位数组和一系列随机映射函数两部分组成,主要用于判断某个元素是否存在于某个集合中;它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率(即bloom filter报告某一元素存在于某集合中,但是实际上该元素并不在集合中)和删除困难,但是没有识别错误的情形(如果某个元素确实没有在该集合中,那么bloom filter是不会报告该元素存在于集合中的,所以不会漏报)。
5.基数计数(cardinality counting)指计算一个数据集的基数,即表示一个数据集中不同数据项的数量;基数估计是诸多业务的基本需求,基数估算算法也在不断迭代,它们容许在一定的误差的情况下,基于统计概率进行估算,如linear counting算法、loglog counting算法、hyperloglog counting算法等,基数估计算法使用很少的资源给出数据集基数的一个良好估计,一般只要使用少于1k的空间存储状态;这个方法和数据本身的特征无关,而且可以高效的进行分布式并行计算。
6.现有的和区块链交易查询相关的工作基本集中于链上精准查询和审计方向,缺少对于查询服务质量的关注。一方面,链上的复杂查询、审计和网络同步需要针对于庞大数据量的面向查询需求的处理来提高查询服务质量,另一方面,不同的现实场景,如医疗、教育
等领域也需要基于区块链的高效数据查询来提供可信任的、准确的数据分析服务;基于此,本发明结合已有的优势技术,设计了一种基于基数估计方法的高效区块链交易查询技术,改善现有区块链查询技术,设计针对于交易的相关基数估计的数据结构和算法,以提高区块链链上交易数据查询和链下数据应用的服务质量,从而提供高效的查询服务。


技术实现要素:

7.(一)本发明要解决的技术问题:
8.(1)现有区块链技术受制于系统内部共识机制和存储机制的设计,无法满足大数据量基础下快速精准的查询需求,使得整体系统的查询服务质量十分不稳定;本发明将基数估计方法和区块链技术结合,在保证区块链数据安全性和完整性的前提下,极大地提高了对于区块链交易查询的效率;为了提高查询效率和查询精度,同时提高实用性,本发明创新的设计了完整的查询数据结构和算法来优化现有区块链查询技术。
9.(二)为了实现上述目的,本发明采用了如下技术方案:
10.一种基于基数估计方法的高效区块链交易查询技术,包括如下步骤:
11.s1、基于账户模型的区块链系统,对以太坊网络的geth进行设计部署,并添加服务提供节点的角色,所述服务提供节点由链上模块和链下模块组成;
12.s2、在所述链下模块部分,结合布隆过滤器技术和默克尔树结构,设计名为默克尔基数树的数据结构和配套的验证机制;所述链上模块部分,在原有的区块头数据结构中增加默克尔基数树根和布隆过滤器根据区块内所有交易关键字生成的哈希值这两个元素;
13.s3、用户通过请求节点发起查询请求,并规定查询精度,通过服务提供节点监听网络中的查询请求;
14.s4、所述服务提供节点通过布隆过滤器计算区块头中的关键字哈希元素,对区块链系统中符合查询需求的区块进行过滤,进而筛选出可能查询数据的区块;
15.s5、在筛选得到的区块中,通过dose算法动态确定需要采样的mct数量,将查询过程转到链下模块并对采样的mct进行查询,更新参数并重新执行dose算法,以更新mct采样数量并逐步缩小数据采样范围,实现数据筛选优化;在此过程中持续对mct进行查询,直至算法查询的mct数量满足dose算法输出的mct采样数量,最终锁定查询数据,并执行基数估计;
16.s6、所述服务提供节点向用户返回查询结果的查询数据集和mct查询路径的节点值;
17.s7、用户接收到查询结果后,请求节点根据返回的查询数据集和mct查询路径的节点值进行哈希计算,得到一个根值,即根哈希;将链下模块的根哈希与链上模块的根哈希记录相比较,核对服务提供节点所提供数据的正确性和完整性。
18.优选的,s1中所述的具体部署步骤如下:
19.s101、编译部署geth,搭建一个多节点的私链网络;
20.s102、将私链网络的部分全节点升级为服务提供节点,包括链上数据结构改动,增加链下机制和增加面向轻节点的查询接口;
21.s103、在私链网络中进行交易,并启动全节点挖矿;
22.s104、根据打包进区块的交易,服务提供节点通过布隆过滤器计算对应区块中的
所有交易的关键字哈希值,并存储到区块头中;
23.s105、根据打包进区块的交易,服务提供节点生成对应区块的mct,并将mct的子节点数据存储在本地,根节点数据存储在区块头中。
24.优选的,s5中通过dose算法动态确定mct采样数量的具体步骤如下:
25.s501、通过dose初始化算法预估需要采样的mct数量,针对第一个mct进行查询,得到符合查询结果的估计值;
26.s502、将得出的符合查询结果的估计值代入dose算法再次计算mct采样数量,再次查询mct;
27.s503、多次执行以上步骤,直至mct已经查询的个数等于dose算法的输出值;
28.s504、利用已经查询到的mct中的查询结果估计值,估算整个区块链系统中的数据量级。
29.优选的,所述服务提供节点同步全节点的完整数据,并且提供快速的查询服务。
30.优选的,所述链上模块作为存证,方便查询请求节点进行数据的核对,防止服务提供节点作恶;所述链下模块负责响应轻节点的查询请求,并返回验证数据,辅助查询的区块采样,提高查询效率。
31.(三)本发明的有益效果包括以下三点:
32.(1)为了优化链上数据结构,本发明采取了区块链链上和链下结合的设计方式,提高了本发明对于区块链基础的应用场景的适配性。
33.(2)本发明将查询过程转移到链下模块进行,设计了mct数据结构和dose算法,在保证数据可验证性的前提下,极大地提高了查询效率。
34.(3)本发明克服了区块链网络中交易查询速度慢,响应时间长的问题,将基数估计方法和区块链技术结合,在保证区块链数据安全性和完整性的前提下,极大地提高了对于区块链交易查询的效率;为了提高查询效率和查询精度,同时提高实用性,本发明创新的设计了完整的查询数据结构和算法来优化现有区块链查询技术,从而保障了查询服务质量的稳定性。
附图说明
35.图1为本发明提出的一种基于基数估计方法的高效区块链交易查询技术的系统模块图;
36.图2为本发明提出的一种基于基数估计方法的高效区块链交易查询技术的mct结构图;
37.图3为本发明提出的一种基于基数估计方法的高效区块链交易查询技术的查询验证图。
具体实施方式
38.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
39.实施例1:
40.请参阅图1-3,一种基于基数估计方法的高效区块链交易查询技术,包括如下步骤:
41.s1、基于账户模型的区块链系统,对以太坊网络的geth进行设计部署,并添加服务提供节点的角色,所述服务提供节点由链上模块和链下模块组成;
42.s2、在所述链下模块部分,结合布隆过滤器技术和默克尔树结构,设计名为默克尔基数树的数据结构和配套的验证机制;所述链上模块部分,在原有的区块头数据结构中增加默克尔基数树根和布隆过滤器根据区块内所有交易关键字生成的哈希值这两个元素;
43.s3、用户通过请求节点发起查询请求,并规定查询精度,通过服务提供节点监听网络中的查询请求;
44.s4、所述服务提供节点通过布隆过滤器计算区块头中的关键字哈希元素,对区块链系统中符合查询需求的区块进行过滤,进而筛选出可能查询数据的区块;
45.s5、在筛选得到的区块中,通过dose算法动态确定需要采样的mct数量,将查询过程转到链下模块并对采样的mct进行查询,更新参数并重新执行dose算法,以更新mct采样数量并逐步缩小数据采样范围,实现数据筛选优化;在此过程中持续对mct进行查询,直至算法查询的mct数量满足dose算法输出的mct采样数量,最终锁定查询数据,并执行基数估计;
46.s6、所述服务提供节点向用户返回查询结果的查询数据集和mct查询路径的节点值;
47.s7、用户接收到查询结果后,请求节点根据返回的查询数据集和mct查询路径的节点值进行哈希计算,得到一个根值,即根哈希;将链下模块的根哈希与链上模块的根哈希记录相比较,核对服务提供节点所提供数据的正确性和完整性;
48.本发明将基数估计方法和区块链技术结合,在保证区块链数据安全性和完整性的前提下,极大地提高了对于区块链交易查询的效率;为了提高查询效率和查询精度,同时提高实用性,本发明创新的设计了完整的查询数据结构和算法来优化现有区块链查询技术。
49.实施例2:
50.基于实施例1又有所不同的是:s1中所述的具体部署步骤如下:
51.s101、编译部署geth,搭建一个多节点的私链网络;
52.s102、将私链网络的部分全节点升级为服务提供节点,包括链上数据结构改动,增加链下机制和增加面向轻节点的查询接口;
53.s103、在私链网络中进行交易,并启动全节点挖矿;
54.s104、根据打包进区块的交易,服务提供节点通过布隆过滤器计算对应区块中的所有交易的关键字哈希值,并存储到区块头中;
55.s105、根据打包进区块的交易,服务提供节点生成对应区块的mct,并将mct的子节点数据存储在本地,根节点数据存储在区块头中;
56.为了避免以太坊公链网络中不定因素的影响,在s101中利用和以太坊网络底层结构相同的geth私链作为载体来实现改进的区块链系统;由于私链网络中的参数控制相对简单,在s104和s105中,本发明可以设计具有更高规避网络攻击风险的数据结构和算法;此外,s104-s105两个步骤在链下模块进行有利于减少链上模块资源的消耗,提高查询反应速
度,降低延迟;并且s104和s105这两个步骤实际上是同步进行的,通过优化服务提供节点的硬件设备,可以进一步提高数据结构构建效率和查询效率,规避区块链网络延迟,提高查询的服务质量。
57.实施例3:
58.基于实施例1-2又有所不同的是:s5中通过dose算法动态确定mct采样数量的具体步骤如下:
59.s501、通过dose初始化算法预估需要采样的mct数量,针对第一个mct进行查询,得到符合查询结果的估计值;
60.s502、将得出的符合查询结果的估计值代入dose算法再次计算mct采样数量,再次查询mct;
61.s503、多次执行以上步骤,直至mct已经查询的个数等于dose算法的输出值;
62.s504、利用已经查询到的mct中的查询结果估计值,估算整个区块链系统中的数据量级,所获得的最终数据量级保障精度符合用户或场景精度需求;
63.以太坊网络中拥有两种角色:轻节点(light node)和全节点(full node),其中轻节点扮演用户的角色,只需要同步共享帐本中的区块头数据以降低自身的存储消耗,全节点则需要存储共享账本的所有数据;所述服务提供节点同步全节点的完整数据,并且提供快速的查询服务;
64.所述链上模块作为存证,方便查询请求节点进行数据的核对,防止服务提供节点作恶;所述链下模块负责响应轻节点的查询请求,并返回验证数据,辅助查询的区块采样,提高查询效率;
65.链下模块还具有生成证明的功能,即服务提供节点在返回查询结果的查询数据集的同时会将mct查询路径的节点值一起返回到请求节点,请求节点根据查询数据集和mct查询路径的节点值进行哈希计算,得到根哈希,链下模块的根哈希应当与链上模块的mct根值相同,即链上模块用于防止链下模块作恶的存证;链上模块的根通过链下模块的mct计算得到,所以轻节点不需要存储mct数据,即通过链下模块存储mct数据,链上模块存储了根作为验证凭证;
66.本发明展示了一种基于基数估计的区块链查询技术,依托的区块链系统由链上模块和链下模块两个模块组成,主要创新点在于将基数估计方法应用于区块链系统的交易基数估计中,并通过mct数据结构和dose算法优化整体查询效率并提供验证功能;本发明可以优化区块链查询技术中对于查询请求的服务质量,并且以现有的成熟区块链系统为载体进行,具有非常高的实用性,本发明的保护范围是整体系统的设计和运行以及基于基数估计的查询方法,针对区块链交易查询方面的应用很多,基于本发明进行改造和改进的方法也属于本发明保护的范围。
67.以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其改进构思加以等同替换或改变,都应涵盖在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献