交易筛选和区块生成方法、设备和存储介质技术

技术编号:32546448 阅读:53 留言:0更新日期:2022-03-05 11:44
本发明专利技术提供一种交易筛选和区块生成方法、设备和存储介质,该方法包括:根据预配置的区块共识规则计算当前节点应当参与共识的各第一区块高度;根据与区块共识规则匹配的预配置的交易存储规则计算第一交易是否应由当前节点存储:是,则根据与区块共识规则匹配的预配置的交易打包规则计算应当打包第一交易的第二区块高度,并将第一交易存储至第二区块高度的第一待打包队列;否,则删除第一交易;响应于获得第三区块高度的第三区块的打包权,根据第三区块高度的第二待打包队列中的各第二交易生成第三区块并广播给其它区块链节点。本申请进一步提高吞吐量。进一步提高吞吐量。进一步提高吞吐量。

【技术实现步骤摘要】
交易筛选和区块生成方法、设备和存储介质


[0001]本申请涉及区块链
,具体涉及一种交易筛选和区块生成方法、设备和存储介质。

技术介绍

[0002]在申请人先前提出的专利申请(可参考CN2019106074995)中,通过交易的检查与区块的确认并行处理的方式,提高吞吐量。
[0003]在上述机制中,交易中包括的指定高度信息会使得tx1变得庞大,而一个区块的大小又是恒定的,上述机制将降低一个区块能存储的交易数量,从另一方面又降低了吞吐量。

技术实现思路

[0004]鉴于现有技术中的上述缺陷或不足,期望提供一种进一步提高吞吐量的交易筛选和区块生成方法、设备和存储介质。
[0005]第一方面,本专利技术提供一种适用于区块链节点的交易筛选和区块生成方法,包括:
[0006]根据预配置的区块共识规则计算当前节点应当参与共识的各第一区块高度;其中,区块共识规则包括当前节点的第一公开信息;
[0007]接收第一交易;
[0008]根据与区块共识规则匹配的预配置的交易存储规则计算第一交易是否应由当前节点存储:
[0009]是,则根据与区块共识规则匹配的预配置的交易打包规则计算应当打包第一交易的第二区块高度;其中,其中,交易存储规则和交易打包规则包括第一交易的第二公开信息,第一区块高度与当前区块高度之差大于第一数值;以及,
[0010]将第一交易存储至第二区块高度的第一待打包队列;
[0011]否,则删除第一交易;
[0012]响应于获得第三区块高度的第三区块的打包权,根据第三区块高度的第二待打包队列中的各第二交易生成第三区块并广播给其它区块链节点,以供其它区块链节点:
[0013]在第三区块高度为应当参与共识的区块高度时,根据区块共识规则判断第三区块高度是否为当前节点应当参与共识的区块高度:
[0014]是,则对各第二交易执行如下步骤:根据交易打包规则判断第二交易是否应当在第三区块高度被打包:否,则执行第二交易失败;
[0015]其中,接收第一交易至删除第一交易步骤,与根据第三区块高度的第二待打包队列中的各第二交易生成第三区块并广播给其它区块链节点步骤,并行执行。
[0016]第二方面,本专利技术还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本专利技术各实施例提供的交易筛选和区块生成方法。
[0017]第三方面,本专利技术还提供一种存储有计算机程序的存储介质,该计算机程序使计
算机执行根据本专利技术各实施例提供的交易筛选和区块生成方法。
[0018]本专利技术诸多实施例提供的交易筛选和区块生成方法、设备和存储介质通过根据预配置的区块共识规则计算当前节点应当参与共识的各第一区块高度;根据与区块共识规则匹配的预配置的交易存储规则计算第一交易是否应由当前节点存储:是,则根据与区块共识规则匹配的预配置的交易打包规则计算应当打包第一交易的第二区块高度,并将第一交易存储至第二区块高度的第一待打包队列;否,则删除第一交易;响应于获得第三区块高度的第三区块的打包权,根据第三区块高度的第二待打包队列中的各第二交易生成第三区块并广播给其它区块链节点的方法,进一步提高吞吐量。
附图说明
[0019]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
[0020]图1为本专利技术一实施例提供的一种交易筛选和区块生成方法的流程图。
[0021]图2为图1所示的一种优选实施方式的流程图。
[0022]图3为图1所示的另一种优选实施方式的流程图。
[0023]图4为本专利技术一实施例提供的一种设备的结构示意图。
具体实施方式
[0024]下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与专利技术相关的部分。
[0025]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0026]图1为本专利技术一实施例提供的一种交易筛选和区块生成方法的流程图。如图1所示,在本实施例中,本专利技术提供一种适用于区块链节点的交易筛选和区块生成方法,包括:
[0027]S11:根据预配置的区块共识规则计算当前节点应当参与共识的各第一区块高度;其中,区块共识规则包括当前节点的第一公开信息;
[0028]S12:接收第一交易;
[0029]S131:根据与区块共识规则匹配的预配置的交易存储规则计算第一交易是否应由当前节点存储:
[0030]是,则执行步骤S132:根据与区块共识规则匹配的预配置的交易打包规则计算应当打包第一交易的第二区块高度;其中,其中,交易存储规则和交易打包规则包括第一交易的第二公开信息,第二区块高度与当前区块高度之差大于第一数值;以及,
[0031]S133:将第一交易存储至第二区块高度的第一待打包队列;
[0032]否,则执行步骤S134:删除第一交易;
[0033]S14:响应于获得第三区块高度的第三区块的打包权,根据第三区块高度的第二待打包队列中的各第二交易生成第三区块并广播给其它区块链节点,以供其它区块链节点:
[0034]在第三区块高度为应当参与共识的区块高度时,根据区块共识规则判断第三区块高度是否为当前节点应当参与共识的区块高度:
[0035]是,则对各第二交易执行如下步骤:根据交易打包规则判断第二交易是否应当在第三区块高度被打包:否,则执行第二交易失败;
[0036]其中,接收第一交易至删除第一交易步骤,与根据第三区块高度的第二待打包队列中的各第二交易生成第三区块并广播给其它区块链节点步骤,并行执行。
[0037]具体的,以第一公开信息为当前节点的节点哈希,第二公开信息为第一交易的第一全哈希,S11包括“获取当前节点的节点哈希的第一M位,根据第一M位计算第一N进制数;将第二N进制数与第一N进制数相同的各第四区块高度确定为各第一区块高度;其中,第二N进制数的计算方法为:(h mod N^M)===>>>(x2)2,(x2)2=(x1)2,h为第四区块高度,(x1)2为第一N进制数,(x2)2为第二N进制数”;以及,S131包括“获取第一全哈希的第二M位,根据第二M位计算第三N进制数;判断第三N进制数与第一N进制数是否相同”;以及,S132包括“计算第五区块高度;其中,第五区块高度的计算方法为:min(h1)mod N^M===>>>(x3)2,min(h1)>当前区块高度+第一数值+1,min(h1)为第五区块高度,(x3)2为第三N进制数;以及,将第五区块高度确定为第二区块高度”;以及,根据区块本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种交易筛选和区块生成方法,其特征在于,适用于区块链节点,所述方法包括:根据预配置的区块共识规则计算当前节点应当参与共识的各第一区块高度;其中,所述区块共识规则包括当前节点的第一公开信息;接收第一交易;根据与所述区块共识规则匹配的预配置的交易存储规则计算所述第一交易是否应由当前节点存储:是,则根据与所述区块共识规则匹配的预配置的交易打包规则计算应当打包所述第一交易的第二区块高度;其中,其中,所述交易存储规则和所述交易打包规则包括所述第一交易的第二公开信息,所述第二区块高度与当前区块高度之差大于第一数值;以及,将所述第一交易存储至所述第二区块高度的第一待打包队列;否,则删除所述第一交易;响应于获得第三区块高度的第三区块的打包权,根据所述第三区块高度的第二待打包队列中的各第二交易生成所述第三区块并广播给其它区块链节点,以供其它区块链节点:在所述第三区块高度为应当参与共识的区块高度时,根据所述区块共识规则判断所述第三区块高度是否为当前节点应当参与共识的区块高度:是,则对各所述第二交易执行如下步骤:根据所述交易打包规则判断所述第二交易是否应当在所述第三区块高度被打包:否,则执行所述第二交易失败;其中,所述接收第一交易至所述删除所述第一交易步骤,与所述根据所述第三区块高度的第二待打包队列中的各第二交易生成所述第三区块并广播给其它区块链节点步骤,并行执行。2.根据权利要求1所述的方法,其特征在于,所述第一公开信息为当前节点的节点哈希,所述第二公开信息为所述第一交易的第一全哈希,所述根据预配置的区块共识规则计算当前节点应当参与共识的各第一区块高度包括:获取当前节点的节点哈希的第一M位,根据所述第一M位计算第一N进制数;将第二N进制数与所述第一N进制数相同的各第四区块高度确定为所述各第一区块高度;其中,所述第二N进制数的计算方法为:(h mod N^M)===>>>(x2)2,(x2)2=(x1)2,h为第四区块高度,(x1)2为第一N进制数,(x2)2为第二N进制数;所述根据与所述区块共识规则匹配的预配置的交易存储规则计算所述第一交易是否应由当前节点存储包括:获取所述第一全哈希的第二M位,根据所述第二M位计算第三N进制数;判断所述第三N进制数与所述第一N进制数是否相同;所述根据与所述区块共识规则匹配的预配置的交易打包规则计算应当打包所述第一交易的第二区块高度包括:计算第五区块高度;其中,所述第五区块高度的计算方法为:min(h1)mod N^M===>>>(x3)2,min(h1)>当前区块高度+第一数值+1,min(h1)为第五区块高度,(x3)2为第三N进制数;以及,将所述第五区块高度确定为所述第二区块高度;所述根据所述区块共识规则判断所述第三区块高度是否为当前节点应当参与共识的区块高度包括:
获取所述第一M位,并计算所述第一N进制数;计算第五N进制数;其中,所述第五N进制数的计算方法为:(h2 mod N^M)===>>>(x5)2,h2为第三区块高度,(x5)2为第五N进制数;判断所述第一N进制数与所述第五N进制数是否相同;所述根据所述交易打包规则判断所述第二交易是否应当在所述第三区块高度被打包:否,则执行所述第二交易失败包括:获取第二交易的第二全哈希的第三M位,根据所述第三M位计算第六N进制数;计算所述第三区块高度与第二数值的第二余数;将所述第二余数换算为第七N进制数;在所述第六N进制数与所述第七N进制数不同时,执行所述第二交易失败。3.根据权利要求1所述的方法,其特征在于,所述根据与所述区块共识规则匹配的预配置的交易打包规则计算应当打包所述第一交易的第二区块高度包括:根据所述第一交易的预打包标识识别所述第一交易为指定区块高度的第一类交易或为不指定区块高度的第二类交易;在所述第一交易为所述第一类交易时,根据与所述区块共识规则匹配的预配置的交易打包规则计算应当打包所述第一交易的第二区块高度;在所述第一交易为所述第二类交易时,将所述第一交易存储至即时打包队列;所述根据所述第三区块高度的第二待打包队列中的各第二交易生成所述第三区块包括:根据所述第三区块高度的第二待打包队列中的各第二交易,以及,所述即时打包队列中的若干交易生成所述第三区块。4.根据权利要求1所述的方法,其特征在于,所述根据与所述区块共识规则匹配的预配置的交易打包规则计算应当打包所述第一交易的第二区块高度包括:根据所述第一交易的第一手续费是否低于第三数值识别所述第一交易为指定区块高度的第一类交易或为不指定区块高度的第二类交易;在所述第一交易为所述第一类交易时,...

【专利技术属性】
技术研发人员:吴思进王春晖曹兢李斌
申请(专利权)人:杭州复杂美科技有限公司
类型:发明
国别省市:

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

1