区块链验签方法及相关设备与流程

文档序号:30951799发布日期:2022-07-30 07:56阅读:408来源:国知局
区块链验签方法及相关设备与流程

1.本技术涉及区块链技术领域,尤其涉及一种区块链验签方法及相关设备。


背景技术:

2.区块链技术是利用块链式数据结构验证和存储数据、利用分布式节点共识算法生成和更新数据、利用密码学的方式保证数据传输和访问的安全性、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构。
3.在区块链实际业务场景中,为了保证交易的合法性和数据的不可篡改,需要对每笔交易进行签名并且对签名进行校验(即验签)。由于区块链中存在大量的验签工作,验签的效率会对区块链的性能产生很大的影响。目前典型的区块链,例如fabric、bitcoin、ethereum等区块链中,一般是针对交易逐个校验其签名,这种方式验签效率低,验签时间长。有些区块链,例如fabric,在验签时会采用多线程的方式并发对多笔交易进行校验。然而,多线程验签方式依赖于物理资源(例如记账节点)的cpu核数,验签效率提升有限。


技术实现要素:

4.本技术实施例公开了一种区块链验签方法及相关设备,能够提升区块链网络的验签效率。
5.本技术第一方面公开了一种区块链验签方法,应用于区块链节点,所述方法包括:接收多个待验签交易,其中,每个待验签交易携带签名和交易信息,每个签名对应一个公钥;根据每个待验签交易的签名对应的公钥将所述多个待验签交易划分为至少一个交易集合,其中,每个交易集合中的待验签交易的签名对应的公钥相同;从所述至少一个交易集合中确定目标交易集合;对所述目标交易集合中的待验签交易进行批量验签,获得验签结果。
6.本技术按照交易对应的公钥将交易划分为交易集合,每个公钥对应一个交易集合,对每个交易集合执行一次批量验签,即可实现对交易集合中所有待验签交易的验签,有效提高了验签效率。
7.在一些可选的实施方式中,所述从所述至少一个交易集合中确定目标交易集合包括:
8.根据所述至少一个交易集合中的待验签交易的交易数、交易大小或验签等待时间,从所述至少一个交易集合中确定所述目标交易集合,所述目标交易集合包括一个交易集合或者多个交易集合。
9.在一些可选的实施方式中,所述区块链节点包括联盟链的记账节点和/或主节点,所述待验签交易携带所述联盟链的背书节点和/或排序服务节点的签名。
10.在一些可选的实施方式中,所述区块链节点包括组成跨链的公链中的共识/记账节点和 /或组成所述跨链的联盟链中的记账节点和/或主节点,所述待验签交易携带所述跨链的转接桥、代理人和/或公证人的签名。
11.在一些可选的实施方式中,所述区块链节点包括公链的共识/记账节点,所述待验
签交易携带所述公链其他的共识/记账节点的签名。
12.在一些可选的实施方式中,所述待验签交易的签名是采用椭圆曲线加密算法生成的。
13.在一些可选的实施方式中,所述椭圆曲线加密算法包括以下任意一种:sm2加密算法、 ecdsa加密算法、ed25519加密算法。
14.在一些可选的实施方式中,所述方法还包括:若所述目标交易集合中的待验签交易未通过批量验签,从所述目标交易集合中定位出签名有问题的交易。
15.在一些可选的实施方式中,所述目标交易集合包括n个待验签交易,n个待验签交易的签名记为sig1,sig2,

,sign,sig1=(r
1 ,s1,r1),sig2=(r 2
,s2,r2),

,sign=(rn,sn,rn),r 1
, r2,

,rn为sig1,sig2,

,sign的签名第一部分,s1,s2,

,sn为sig1,sig2,

,sign的签名第二部分,r1,r2,

,rn为sig1,sig2,

,sign的随机承诺,r1=(r
1x
,r
1y ),r2=(r
2x ,r
2y ),

, rn=(r
nx
, r
ny
),n个待验签交易的交易信息为m1,m2,

,mn,n个待验签交易对应公钥pk,sig1, sig2,

,sign的公开参数为z,所述对所述目标交易集合进行批量验签包括:
16.计算e1=hash(z,m1),t1=r1+s1;
17.e2=hash(z,m2),t2=r2+s2;
18.……
19.en=hash(z,mn),tn=r
n +sn;
20.为sig1,sig2,

,sign分别选取随机数v1,v2,

,vn,验证下列等式是否全部都成立:
21.e1+r
1x
=r 1

22.e2+r
2x
=r 2

23.……
24.en+r
nx
=rn;
[0025][0026]
其中g为所述椭圆曲线加密算法采用的椭圆曲线基点;
[0027]
若所述等式全部都成立,所述n个待验签交易通过批量验签。
[0028]
在一些可选的实施方式中,所述目标交易集合包括ik个待验签交易,ik个待验签交易的签名记为易的签名记为易的签名记为易的签名记为易的签名记为易的签名记为为的签名第一部分,为的签名第二部分,为的随机承诺,ik个待验签交易的交易信息为其中对应公钥pk1,对应公
钥pk2,,对应公钥对应公钥pkk,,的公开参数为z1,的公开参数为z2,,的公开参数为的公开参数为zk,所述对所述目标交易集合进行批量验签包括:
[0029]
计算e1=hash(z1,m1),t1=r1+s1;
[0030]
e2=hash(z1,m2),t2=r2+s2;
[0031]
……
[0032][0033][0034][0035]
……
[0036][0037]
……
[0038][0039][0040]
……
[0041][0042]
……
[0043][0044][0045]
……
[0046][0047]
为选取随机数验证下列等式是否全部都成立:
[0048]
e1+r
1x
=r1;
[0049]
e2+r
2x
=r2;
[0050]
……
[0051][0052][0053]
其中g为所述椭圆曲线加密算法采用的椭圆曲线基点;
[0054]
若所述等式全部都成立,所述ik个待验签交易通过批量验签。
[0055]
在一些可选的实施方式中,所述从所述目标交易集合中定位出签名有问题的交易包括:若e
p
+r
px
=r
p
不成立,确定sig
p
为有问题的交易,p∈{1,2,3,

,n};或者若
不成立,通过改变通过改变中i的取值范围来确定有问题的交易。
[0056]
在一些可选的实施方式中,所述从所述目标交易集合中定位出签名有问题的交易包括:若eq+r
qx
=rq不成立,确定sigq为有问题的交易,q∈{1,2,3,

,ik};或者若};或者若};或者若不成立,通过改变通过改变中j的取值范围来确定有问题的交易。
[0057]
本技术第二方面公开了一种区块链验签装置,应用于区块链节点,所述装置包括:交易分组器,用于接收多个待验签交易,根据每个待验签交易的签名对应的公钥将所述多个待验签交易划分为至少一个交易集合,其中,每个待验签交易携带签名和交易信息,每个签名对应一个公钥,每个交易集合中的待验签交易的签名对应的公钥相同;触发器,用于从所述至少一个交易集合中确定目标交易集合;批量验签器,用于对所述目标交易集合中的待验签交易进行批量验签,获得验签结果。
[0058]
在一些可选的实施方式中,所述触发器用于:
[0059]
根据所述至少一个交易集合中的待验签交易的交易数、交易大小或验签等待时间,从所述至少一个交易集合中确定所述目标交易集合,所述目标交易集合包括一个交易集合或者多个交易集合。
[0060]
在一些可选的实施方式中,所述区块链节点包括联盟链的记账节点和/或主节点,所述待验签交易携带所述联盟链的背书节点和/或排序服务节点的签名。
[0061]
在一些可选的实施方式中,所述区块链节点包括组成跨链的公链中的共识/记账节点和/或组成所述跨链的联盟链中的记账节点和/或主节点,所述待验签交易携带所述跨链的转接桥、代理人和/或公证人的签名。
[0062]
在一些可选的实施方式中,所述区块链节点包括公链的共识/记账节点,所述待验签交易携带所述公链其他的共识/记账节点的签名。
[0063]
在一些可选的实施方式中,所述待验签交易的签名是采用椭圆曲线加密算法生成的。
[0064]
在一些可选的实施方式中,所述装置还包括:失败定位器,用于若所述目标交易集合中的待验签交易未通过批量验签,从所述目标交易集合中定位出签名有问题的交易。
[0065]
本技术第三方面公开了一种计算机可读存储介质,包括计算机指令,当所述计算机指令在区块链节点上运行时,使得所述区块链节点执行如第一方面所述的区块链验签方法。
[0066]
本技术第四方面公开了一种区块链节点,所述区块链节点包括处理器和存储器,所述存储器用于存储指令,所述处理器用于调用所述存储器中的指令,使得所述区块链节点执行如第一方面所述的区块链验签方法。
[0067]
本技术第五方面公开了一种芯片系统,所述芯片系统应用于区块链节点;所述芯
片系统包括接口电路和处理器;接口电路和处理器通过线路互联;接口电路用于从区块链节点的存储器接收信号,并向处理器发送信号,信号包括存储器中存储的计算机指令;当处理器执行该计算机指令时,芯片系统执行如第一方面所述的区块链验签方法。
[0068]
应当理解地,上述提供的第二方面所述的区块链验签装置、第三方面所述的计算机可读存储介质、第四方面所述的区块链节点、第五方面所述的芯片系统均与上述第一方面的方法对应,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
附图说明
[0069]
图1是本技术实施例提供的区块链验签方法的一个应用场景示意图。
[0070]
图2是本技术实施例提供的区块链验签方法的另一应用场景示意图。
[0071]
图3是本技术实施例提供的区块链验签方法的另一应用场景示意图。
[0072]
图4是应用本技术区块链验签方法的区块链节点的软件架构图。
[0073]
图5是本技术实施例提供的一种区块链验签方法的应用场景示意图。
[0074]
图6-7是本技术实施例提供的一种区块链节点的结构示意图。
具体实施方式
[0075]
为了便于理解,示例性的给出了部分与本技术实施例相关概念的说明以供参考。
[0076]
需要说明的是,本技术中“至少一个”是指一个或者多个,“多个”是指两个或多于两个。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。本技术的说明书和权利要求书及附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不是用于描述特定的顺序或先后次序。
[0077]
为了更好地理解本技术实施例公开的区块链验签方法及相关设备,下面首先对本技术区块链验签方法的应用场景进行描述。
[0078]
图1是本技术实施例提供的区块链验签方法的一个应用场景示意图。区块链验签方法可以应用于联盟链,图1以fabric区块链网络为例进行说明。fabric区块链网络包括背书节点、记账节点、排序服务节点、主节点。背书节点、记账节点、排序服务节点、主节点可以是物理节点(例如终端设备或服务器),也可以是虚拟节点(例如虚拟机或虚拟网络设备)。
[0079]
参见图1所示,fabric区块链网络的交易流程为:101,客户端节点向背书节点提交交易提案;102,背书节点模拟执行交易提案并对执行结果进行签名背书;103,背书节点将签名背书后的执行结果返回客户端节点;104,客户端节点将签名背书和签名背书后的执行结果作为交易发送给排序服务节点;105,排序服务节点对交易排序生成区块,并对区块进行签名;106,排序服务节点将签名后的区块广播给主节点;107,主节点验证签名并保存区块;108,背书节点、记账节点、主节点之间对区块进行同步;109,记账节点验证签名并保存区块。102和105中,背书节点、排序服务节对交易进行签名,得到待验签交易。107和109中,记账节点、主节点采用本技术区块链验签方法对交易进行批量验签,以提升fabric区块链网络的验签效率。记账节点和主节点校验的签名可以包括背书节点的签名,也可以包括排序服务节点的签名。
[0080]
以企业间数据交换的应用业务为例,101中,企业客户端节点将携带数据交换请求的交易提案提交给背书节点。背书节点、记账节点、排序服务节点、主节点按照图1所示交易流程进行处理,实现对携带数据交换请求的交易的验签。
[0081]
图2是本技术实施例提供的区块链验签方法的另一应用场景示意图。如图2所示,所述区块链验签方法可以应用于公链。公链包括多个共识/记账节点,每个共识/记账节点具有记账和共识的功能(即每个共识/记账节点即是记账节点,又是共识节点)。共识/记账节点之间对交易/区块进行同步。当执行共识功能时,共识/记账节点对交易进行校验后打包成区块并签名。当执行记账功能时,共识/记账节点采用本技术区块链验签方法对交易进行批量验签,以提升公链的验签效率。
[0082]
图3是本技术实施例提供的区块链验签方法的另一应用场景示意图。区块链验签方法可以应用于跨链,图3以公证人机制异构链跨链为例进行说明。图3包括区块链网络 a和区块链网络b,区块链网络a和区块链网络b之间通过公证人(其他类型跨链可以通过转接桥、代理人等)进行跨链操作。其中,区块链网络a是公链,其中各个共识/记账节点的功能参阅图2相关描述。区块链网络b是联盟链,其中各个共识/记账节点(即背书节点、记账节点、排序服务节点、主节点)的功能参阅图1相关描述。公证人对交易进行签名,得到待验签交易,将待验签交易在区块链网络之间同步。区块链网络a中的共识/记账节点和区块链网络b中的记账节点与主节点采用本技术区块链验签方法对来自于公证人的待验签交易进行批量验签,以提升跨链的验签效率。
[0083]
待验签交易的签名可以采用任意的加密算法生成。
[0084]
在本技术的一个实施例中,待验签交易的签名可以采用椭圆曲线加密算法生成。例如,联盟链中,背书节点、排序服务节点采用椭圆曲线加密算法对交易进行签名,得到待验签交易。
[0085]
在本技术的一个实施例中,所述椭圆曲线加密算法可以是sm2加密算法、ecdsa加密算法、ed25519加密算法中的任意一种。
[0086]
应用本技术区块链验签方法的区块链节点(例如记账节点)可以是手机、平板电脑、桌上型计算机、笔记本、掌上电脑、云端服务器等。
[0087]
图4是应用本技术区块链验签方法的区块链节点的软件架构图。
[0088]
参阅图4所示,区块链节点40(例如联盟链中的记账节点)包括交易分组器401、触发器402、批量验签器403和失败定位器404。分组器401、触发器402、批量验签器 403和失败定位器404组成区块链验签装置(图上未示出)。
[0089]
交易分组器401用于接收多个待验签交易,将多个待验签交易划分为至少一个交易集合,将公钥相同的待验签交易划分到同一个交易集合。
[0090]
触发器402用于从交易集合中确定目标交易集合,以触发批量验签。
[0091]
批量验签器403用于对目标交易集合进行批量验签。
[0092]
失败定位器404用于当目标交易集合中的待验签交易未通过批量验签时,从目标交易集合中定位出签名有问题的交易。
[0093]
各个模块的具体功能将在图5中进行详细描述。
[0094]
图5是本技术实施例公开的区块链验签方法的流程图。所述区块链验签方法应用于区块链节点,所述区块链节点包括交易分组器、触发器、批量验签器和失败定位器(参阅
图4所示)。
[0095]
501,交易分组器接收多个待验签交易。
[0096]
在本技术的一个实施例中,区块链验签方法应用于联盟链的记账节点和主节点,主节点接收排序服务节点广播的多个待验签交易,记账节点接收背书节点和主节点同步过来的多个待验签交易。
[0097]
在本技术的另一个实施例中,区块链验签方法应用于公链的记账/共识节点,记账/共识节点从公链其他的记账/共识节点接收多个待验签交易。
[0098]
在本技术的另一个实施例中,区块链验签方法应用于跨链,跨链包括联盟链和公链,区块链验签方法应用于联盟链的记账节点和主节点以及公链的记账/共识节点,记账/共识节点从跨链的转接桥、代理人和/或公证人接收多个待验签交易,记账节点和主节点接收背书节点同步过来的多个待验签交易。背书节点从跨链的转接桥、代理人和/或公证人接收到多个待验签交易后,将多个待验签交易同步给记账节点和主节点。
[0099]
每个待验签交易携带有签名和交易信息,每个签名对应一个公钥。
[0100]
502,交易分组器根据每个待验签交易对应的公钥将多个待验签交易划分为至少一个交易集合,将公钥相同的待验签交易划分到同一个交易集合。
[0101]
交易中携带签名者的信息,包括签名者的公钥。
[0102]
待验签交易的公钥相同,表示待验签交易的签名来自于同一个签名者。
[0103]
划分的交易集合可以是一个,也可以是多个。若划分的交易集合是一个,表明所有的待验签交易携带同一个签名者的签名。若划分的交易集合是多个,表明待验签交易携带不同签名者的签名。
[0104]
例如,联盟链包括一个背书节点和一个排序服务节点中,记账节点接收的待验签交易携带背书节点的签名或者携带排序服务节点的签名,记账节点将接收的待验签交易划分为两个交易集合,一个交易集合对应背书节点,一个交易集合对应排序服务节点。
[0105]
又如,组成跨链的联盟链中,记账节点接收的待验签交易携带同一个公证人的签名,记账节点将接收的待验签交易划分为一个交易集合。
[0106]
再如,公链中,记账/共识节点接收到公链中其他两个记账/共识节点的待验签交易,记账/共识节点将接收的待验签交易划分为两个交易集合,分别对应其他两个记账/共识节点。
[0107]
503,触发器从交易集合中确定目标交易集合。
[0108]
触发器确定的目标交易集合可以是一个也可以是多个。
[0109]
触发器可以统计单个交易集合的交易信息,根据单个集合的交易信息确定目标交易集合。具体地,触发器可以判断交易集合中单个交易集合的交易数是否大于或等于第一预设交易数,或者判断单个交易集合的交易大小是否大于或等于第一交易大小,或者判断单个交易集合的验签等待时间是否大于或等于第一等待时间。若交易集合中单个交易集合的交易数大于或等于第一预设交易数,或者单个交易集合的交易大小大于或等于第一交易大小,或者单个交易集合的验签等待时间大于或等于第一等待时间,则将单个交易集合确定为目标交易集合。
[0110]
或者,触发器可以统计所有交易集合的交易信息,根据所有交易集合的交易信息确定目标交易集合。具体地,触发器可以判断所有交易集合的总交易数是否大于或等于第
二预设交易数,或者判断所有交易集合的总交易大小是否大于或等于第二交易大小,或者判断所有交易集合的总验签等待时间是否大于或等于第二等待时间。若所有交易集合的总交易数大于或等于第二预设交易数,或者所有交易集合的总交易大小大于或等于第二交易大小,或者所有交易集合的总验签等待时间大于或等于第二等待时间,将所有交易集合确定为目标交易集合。
[0111]
504,批量验签器对目标交易集合进行批量验签。
[0112]
在本技术的一个实施例中,待验签交易的签名是采用椭圆曲线加密算法生成的,批量验签器基于签名采用的椭圆曲线加密算法对目标交易集合进行批量验签。
[0113]
以下分别对目标交易集合为一个,对应一个公钥和对目标交易集合为多个,对应多个公钥两种情况进行说明。
[0114]
批量验签方式一:目标交易集合为一个,对应一个公钥。
[0115]
待验签的交易集合包括n个待验签交易,n个待验签交易的签名记为sig1,sig2,

,sign, sig1=(r 1
,s1,r1),sig2=(r2,s2,r2),

,sign=(rn,sn,rn),r1,r2,

,rn为sig1,sig2,

, sign的签名第一部分,s1,s2,

,sn为sig1,sig2,

,sign的签名第二部分,r1,r2,

,rn为sig1,sig2,

,sign的随机承诺,r1=(r
1x
,r
1y
),r2=(r
2x
,r
2y
),

,rn=(r
nx
,r
ny
),n个待验签交易的交易信息为m1,m2,

,mn,n个待验签交易对应公钥pk,sig1,sig2,

,sign的公开参数为z,对所述目标交易集合进行批量验签包括:
[0116]
计算e1=hash(z,m1),t1=r1+s1;
[0117]
e2=hash(z,m2),t2=r2+s2;
[0118]
……
[0119]en
=hash(z,mn),tn=rn+sn;
[0120]
为sig1,sig2,

,sign分别选取随机数v1,v2,

,vn,验证下列等式是否全部都成立:
[0121]
e1+r
1x
=r1;
[0122]
e2+r
2x
=r2;
[0123]
……
[0124]en
+r
nx
=rn;
[0125][0126]
其中g为椭圆曲线加密算法采用的椭圆曲线基点。
[0127]
若等式全部都成立,n个待验签交易通过批量验签。
[0128]
批量验签方式二:目标交易集合为多个,对应多个公钥。
[0129]
目标交易集合包括ik个待验签交易,ik个待验签交易的签名记为个待验签交易的签名记为个待验签交易的签名记为个待验签交易的签名记为个待验签交易的签名记为个待验签交易的签名记为为
的签名第一部分,为的签名第二部分,为的随机承诺,ik个待验签交易的交易信息为其中对应公钥pk1,,对应公钥pk2,对应公钥对应公钥对应公钥pkk,的公开参数为z1,,的公开参数为z2,的公开参数为的公开参数为的公开参数为zk,所述对所述目标交易集合进行批量验签包括:
[0130]
计算e1=hash(z1,m1),t1=r1+s1;
[0131]
e2=hash(z1,m2),t2=r2+s2;
[0132]
……
[0133][0134][0135][0136]
……
[0137][0138]
……
[0139][0140][0141]
……
[0142][0143]
……
[0144][0145][0146]
……
[0147][0148]
为选取随机数验证下列等式是否全部都成立:
[0149]
e1+r
1x
=r1;
[0150]
e2+r
2x
=r2;
[0151]
……
[0152][0153]
[0154]
其中g为所述椭圆曲线加密算法采用的椭圆曲线基点。
[0155]
若等式全部都成立,ik个待验签交易通过批量验签。
[0156]
需要说明的是,若目标交易集合为多个,对应多个公钥,可以针对每个目标交易集合采用批量验签方式一进行批量验签。
[0157]
505,若目标交易集合中的待验签交易未通过批量验签,失败定位器从目标交易集合中定位出签名有问题的交易。
[0158]
采用批量验签方式一,若待验签交易未通过验签,失败定位器可以采用以下方法从目标交易集合中定位出签名有问题的交易:
[0159]
(1)若e
p
+r
px
=r
p
不成立,确定sig
p
为有问题的交易,p∈{1,2,3,

,n}。
[0160]
例如,若e5+r5=r5不成立,确定sig5为有问题的交易。
[0161]
(2)若不成立,通过改变不成立,通过改变中i的取值范围来确定有问题的交易。
[0162]
例如,若不成立,则将n个签名sig1, sig2,

,sign分为sig1,sig2,

,sig
n/2
和两部分(假设n为偶数),分别对sig1,sig2,

,sig
n/2
和验证证和是否成立,通过逐步缩小验证范围,可以确定有问题的交易。
[0163]
采用批量验签方式二,若待验签交易未通过验签,失败定位器可以采用以下方法从目标交易集合中定位出签名有问题的交易:
[0164]
(1)若eq+r
qx
=rq不成立,sigq为有问题的交易,q∈{1,2,3,

,ik}。
[0165]
例如,若e8+r8=r8不成立,确定sig8为有问题的交易。
[0166]
(2)若(2)若不成立,通过改变通过改变中j的取值范围来确定有问题的交易。
[0167]
通过改变通过改变中j的取值范围来确定有问题的交易可以参见通过改变中i的取值范围来确定有问题的交易
的描述,此处不再赘述。
[0168]
目前典型的区块链,例如fabric、bitcoin、ethereum等区块链中,一般是针对交易逐个校验其签名,这种方式验签效率低,验签时间长。有些区块链,例如fabric,在验签时会采用多线程的方式并发对多笔交易进行校验。然而,多线程验签方式依赖于物理资源(例如记账节点)的cpu核数,验签效率提升有限。
[0169]
本技术实施例提供的区块链验签方法按照交易对应的公钥将交易划分为交易集合,每个公钥对应一个交易集合,对每个交易集合执行一次批量验签,即可实现对集合中所有交易的验签,有效提高了验签效率。
[0170]
在本技术的一个实施例中,在交易分组器接收多个待验签交易之前,所述方法还包括:
[0171]
对所述待验签交易进行区块头校验、交易哈希校验、交易格式校验。
[0172]
对所述待验签交易进行区块头校验、交易哈希校验、交易格式校验可以参考现有技术,此处不再赘述。
[0173]
本技术还提供如图6所示的计算设备(即区块链节点)60。所述计算设备60包括总线601、处理器602、通信接口603和存储器604。处理器602、存储器604和通信接口 603之间通过总线601通信。
[0174]
其中,处理器602可以为中央处理器(central processing unit,cpu)。存储器604可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,ram)。存储器604还可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-onlymemory,rom),快闪存储器,hdd或ssd。存储器中存储有可执行代码,处理器602 执行该可执行代码以执行前述图5所描述的方法。存储器604中还可以包括操作系统等其他运行进程所需的软件模块(如图4中交易分组器401、触发器402、批量验签器403 和失败定位器404)。操作系统可以为linux
tm
,unix
tm
,windows
tm
等。
[0175]
本技术还提供一种计算设备系统,所述计算设备系统包括至少一个如图7所示的计算设备(即区块链节点)70。所述计算设备70包括总线701、处理器702、通信接口703 和存储器704。处理器702、存储器704和通信接口703之间通过总线701通信。所述计算设备系统中的至少一个计算设备70之间通过通信通路进行通信。
[0176]
其中,处理器702可以为cpu。存储器704可以包括易失性存储器,例如随机存取存储器。存储器704还可以包括非易失性存储器,例如只读存储器,快闪存储器,hdd 或ssd。存储器704中存储有可执行代码,处理器702执行该可执行代码以执行前述图 5描述的方法中的任意部分或全部。存储器中还可以包括操作系统等其他运行进程所需的软件模块。操作系统可以为linux
tm
,unix
tm
,windows
tm
等。
[0177]
所述计算设备系统中的至少一个计算设备70之间通过通信网络互相建立通信,每个计算设备70上运行如图4中交易分组器401、触发器402、批量验签器403和失败定位器404中的任意一个或者任意多个模块。
[0178]
上述各个附图对应的流程的描述各有侧重,某个流程中没有详述的部分,可以参见其他流程的相关描述。
[0179]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品
包括计算机程序指令,在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。
[0180]
所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线,例如同轴电缆、光纤、数字用户线或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如ssd)。
[0181]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1