区块链数据查询方法和装置制造方法及图纸

技术编号:37971845 阅读:13 留言:0更新日期:2023-06-30 09:47
本公开涉及区块链数据查询方法和装置,涉及区块链技术领域。其中,该方法包括:响应于查询方的区块链数据查询请求,从索引数据库中获取对应的索引数据,所述索引数据是根据区块链中的区块数据生成的;对所述索引数据进行多方签名;在对所述多方的签名验证通过以后,基于所述多方的签名得到合成签名;将携带所述合成签名的索引数据发送至所述查询方。通过以上步骤,能够使得各个业务以及去中心化应用(Dapp)通过该索引网络高效、安全地查询区块链上的数据,无需构建自己的查询服务,降低区块链系统的查询压力。的查询压力。的查询压力。

【技术实现步骤摘要】
区块链数据查询方法和装置


[0001]本公开涉及区块链
,特别涉及一种区块链数据查询方法和装置。

技术介绍

[0002]当前,越来越多的业务使用联盟链解决中心化以及数据篡改的问题。相关技术中,业务系统去区块链上检索区块内打包的交易信息,以及智能合约抛出的相关事件。
[0003]随着时间的推移,上链的数据越来越多,业务系统频繁地查询区块链会对整个区块链网络造成压力。并且,由于每个业务系统都需要构建自己的查询服务,这造成了大量的冗余工作。

技术实现思路

[0004]针对上述技术问题,本公开提出了一种解决方案,使得各个业务以及去中心化应用(Dapp)能够通过索引网络高效、安全地查询区块链上的数据,无需构建自己的查询服务,降低区块链系统的查询压力。
[0005]根据本公开的第一方面,提供了一种区块链数据查询方法,由索引网络中的索引节点执行,包括:响应于查询方的区块链数据查询请求,从索引数据库中获取对应的索引数据,所述索引数据是根据区块链中的区块数据生成的;对所述索引数据进行多方签名;在对所述多方的签名验证通过以后,基于所述多方的签名得到合成签名;将携带所述合成签名的索引数据发送至所述查询方。
[0006]在一些实施例中,对所述索引数据进行多方签名包括:在参与多方签名的每一个索引节点中,根据随机数生成第一签名参数,并对所述第一签名参数进行广播;根据生成的所述第一签名参数和接收到的来自其他方的第一签名参数,生成加密参数;根据所述索引节点的私钥和所述加密参数,对待签名的索引进行加密处理,以得到第二签名参数;根据所述第一签名参数和所述第二签名参数,得到所述索引节点对所述索引的签名。
[0007]在一些实施例中,根据所述索引节点的私钥和所述加密参数,对待签名的索引进行加密处理,以得到第二签名参数包括:根据多项式函数对所述索引节点的私钥进行处理得到第一中间结果;根据所述多项式函数对待签名的索引进行处理得到第二中间结果;根据所述加密参数和所述随机数,得到第三中间结果;根据所述第一中间结果、第二中间结果和第三中间结果,得到第二签名参数。
[0008]在一些实施例中,采用如下公式计算第二签名参数:
[0009][0010]其中,s
i
为参与多方签名的第i个索引节点生成的第二签名参数,f(x
i
)为基于多项式函数对参与多方签名的第i个索引节点的私钥x
i
进行处理得到的第一中间结果,m

为基于多项式函数对索引进行处理得到的第二中间结果,x
j
为参与多方签名的第j个索引节点
的私钥,t为参与多方签名的索引节点总数,∏为求乘积运算符,k
i
为随机数,q为安全素数,k
i
×
r mod q为第三中间结果。
[0011]在一些实施例中,采用如下公式生成第一签名参数:
[0012][0013]其中,r
i
为第一签名参数,g为有限域上的q阶生成元,mod为取模运算符,p为安全素数,k
i
为随机数。
[0014]在一些实施例中,采用如下公式生成加密参数:
[0015][0016]其中,r为加密参数,r
i
为第一签名参数,mod为取模运算符,p为安全素数。
[0017]在一些实施例中,所述索引节点为具有认证中心颁发的指定数字证书的节点。
[0018]在一些实施例中,所述索引节点为边缘节点。
[0019]在一些实施例中,从索引数据库中获取对应的索引数据包括:将所述区块链数据查询请求对应的查询语句,转换成索引数据库对应的查询语句;根据转换后的查询语句查询索引数据库,以得到对应的索引数据。
[0020]根据本公开的第二方面,提供了一种区块链数据查询装置,设置于索引网络中的索引节点,包括:获取模块,被配置为响应于查询方的区块链数据查询请求,从索引数据库中获取对应的索引数据,所述索引数据是根据区块链中的区块数据生成的;签名模块,被配置为对所述索引数据进行多方签名;合成模块,被配置为在对所述多方的签名验证通过以后,基于所述多方的签名得到合成签名;发送模块,被配置为将携带所述合成签名的索引数据发送至所述查询方。
[0021]在一些实施例中,所述签名模块被配置为:在参与多方签名的每一个索引节点中,根据随机数生成第一签名参数,并对所述第一签名参数进行广播;根据生成的所述第一签名参数和接收到的来自其他方的第一签名参数,生成加密参数;根据所述索引节点的私钥和所述加密参数,对待签名的索引进行加密处理,以得到第二签名参数;根据所述第一签名参数和所述第二签名参数,得到所述索引节点对所述索引的签名。
[0022]在一些实施例中,所述获取模块被配置为:将所述区块链数据查询请求对应的查询语句,转换成索引数据库对应的查询语句;根据转换后的查询语句查询索引数据库,以得到对应的索引数据。
[0023]根据本公开的第三方面,提供了一种区块链数据查询装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令,执行上述任一实施例所述的区块链数据查询方法。
[0024]根据本公开的第四方面,提供了一种计算机可存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上述任一实施例所述的区块链数据查询方法。
[0025]在上述实施例中,使得各个业务以及去中心化应用(Dapp)能够通过索引网络高效、安全地查询区块链上的数据,无需构建自己的查询服务,降低区块链系统的查询压力。
附图说明
[0026]构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
[0027]参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
[0028]图1是示出根据本公开一些实施例的区块链数据查询方法的流程图;
[0029]图2是示出根据本公开一些实施例的对索引数据进行多方签名的方法的流程图;
[0030]图3是示出根据本公开另一些实施例的区块链数据查询方法的流程图;
[0031]图4是示出根据本公开一些实施例的索引网络的架构示意图;
[0032]图5是示出根据本公开一些实施例的区块链数据查询装置的框图;
[0033]图6是示出根据本公开另一些实施例的区块链数据查询装置的框图;
[0034]图7是示出根据本公开再一些实施例的区块链数据查询装置的框图;
[0035]图8是示出用于实现本公开一些实施例的计算机系统的框图。
具体实施方式
[0036]现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
[0037]同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链数据查询方法,由索引网络中的索引节点执行,包括:响应于查询方的区块链数据查询请求,从索引数据库中获取对应的索引数据,所述索引数据是根据区块链中的区块数据生成的;对所述索引数据进行多方签名;在对所述多方的签名验证通过以后,基于所述多方的签名得到合成签名;将携带所述合成签名的索引数据发送至所述查询方。2.根据权利要求1所述的区块链数据查询方法,其中,对所述索引数据进行多方签名包括:在参与多方签名的每一个索引节点中,根据随机数生成第一签名参数,并对所述第一签名参数进行广播;根据生成的所述第一签名参数和接收到的来自其他方的第一签名参数,生成加密参数;根据所述索引节点的私钥和所述加密参数,对待签名的索引进行加密处理,以得到第二签名参数;根据所述第一签名参数和所述第二签名参数,得到所述索引节点对所述索引的签名。3.根据权利要求2所述的区块链数据查询方法,其中,根据所述索引节点的私钥和所述加密参数,对待签名的索引进行加密处理,以得到第二签名参数包括:根据多项式函数对所述索引节点的私钥进行处理得到第一中间结果;根据所述多项式函数对待签名的索引进行处理得到第二中间结果;根据所述加密参数和所述随机数,得到第三中间结果;根据所述第一中间结果、第二中间结果和第三中间结果,得到第二签名参数。4.根据权利要求3所述的区块链数据查询方法,其中,采用如下公式计算第二签名参数:其中,s
i
为参与多方签名的第i个索引节点生成的第二签名参数,f(x
i
)为基于多项式函数对参与多方签名的第i个索引节点的私钥x
i
进行处理得到的第一中间结果,m

为基于多项式函数对索引进行处理得到的第二中间结果,x
j
为参与多方签名的第j个索引节点的私钥,t为参与多方签名的索引节点总数,∏为求乘积运算符,k
i
为随机数,q为安全素数,k
i
×
r mod q为第三中间结果。5.根据权利要求2所述的区块链数据查询方法,其中,采用如下公式生成第一签名参数:其中,r
i
为第一签名参数,g为有限域上的q阶生成元,mod为取模运算符,p为安全...

【专利技术属性】
技术研发人员:梁燕梁伟赵君
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:

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

1