验证节点分配方法、装置、设备及存储介质与流程

文档序号:30076097发布日期:2022-05-18 03:19阅读:96来源:国知局
验证节点分配方法、装置、设备及存储介质与流程

1.本发明涉及区块链技术领域,尤其涉及一种验证节点分配方法、装置、设备及存储介质。


背景技术:

2.现有技术中,区块链的验证(共识)节点被分配到各条子链上,以与进入到的那条子链参与共识,但是这种方式存在一定风险。假设当验证节点的总数量恒定,随着子链数量的增加,分配到单条子链参与共识的验证节点的数量是会减少的,验证节点数量的减少则容易造成区块链整体的安全性受到威胁。


技术实现要素:

3.本发明实施例通过提供一种验证节点分配方法、装置、设备及存储介质,旨在解决区块链的验证节点数量有限,子链数量的增加容易造成区块链整体的安全性受到威胁的技术问题。
4.本发明实施例提供了一种验证节点分配方法,所述验证节点分配方法,包括:
5.获取第一节点列表和子链集合,所述第一节点列表包括多个验证节点,所述子链集合包括多条子链;
6.对所述第一节点列表中的验证节点的排序顺序进行混洗,以生成第二节点列表,所述第二节点列表中验证节点的排列顺序与所述第一节点列表中验证节点的排列顺序不相同;
7.采用所述第二节点列表中的验证节点与所述子链集合中的每条子链进行共识。
8.在一实施例中,所述对所述第一节点列表中的验证节点的排序顺序进行混洗,以生成第二节点列表的步骤包括:
9.从每条所述子链中获取目标区块,并获取所述目标区块对应的目标随机种子;
10.根据所述目标随机种子获取混洗步长;
11.按照所述混洗步长调换所述第一节点列表中验证节点的排列顺序;
12.将调换排列顺序后的所述验证节点组成的列表,作为所述第二节点列表。
13.在一实施例中,所述目标区块为每条所述子链中的首个区块,所述获取所述目标区块对应的目标随机种子的步骤包括:
14.获取所述首个区块的哈希值,并对所述首个区块的哈希值进行签名;
15.对所述哈希值和签名后的所述哈希值进行哈希计算,得到所述目标随机种子。
16.在一实施例中,所述目标区块不为每条所述子链中的首个区块,所述获取所述目标区块对应的目标随机种子的步骤包括:
17.获取所述目标区块的哈希值以及所述目标区块的前一个区块对应的随机种子;
18.对所述随机种子进行签名;
19.根据签名后的所述随机种子和所述哈希值,生成所述目标随机种子。
20.在一实施例中,所述根据签名后的所述随机种子和所述哈希值,生成所述目标随机种子的步骤包括:
21.将签名后的所述随机种子和所述哈希值进行组合,生成组合数据;
22.对所述组合数据进行哈希运算,得到所述目标随机种子。
23.在一实施例中,所述根据所述目标随机种子获取混洗步长的步骤包括:
24.从所述目标随机种子中选取预设数量个的字节;
25.对所述预设数量个的字节的字节长度进行求余运算,得到所述混洗步长。
26.在一实施例中,所述采用所述第二节点列表中的验证节点与所述子链集合中的每条子链进行共识的步骤包括:
27.获取所述验证节点的第一数量以及所述子链的第二数量,并根据所述第一数量和所述第二数量确定节点选取数量;
28.基于预设顺序,每次从所述第二节点列表中选取所述节点选取数量个的所述验证节点;
29.采用选取的所述验证节点与所述子链集合中对应的子链进行共识。
30.此外,为实现上述目的,本发明还提供了一种验证节点分配装置,所述验证节点分配装置包括:
31.节点获取模块,用于获取第一节点列表和子链集合,所述第一节点列表包括多个验证节点,所述子链集合包括多条子链;
32.节点混洗模块,用于对所述第一节点列表中的验证节点的排序顺序进行混洗,以生成第二节点列表,所述第二节点列表中验证节点的排列顺序与所述第一节点列表中验证节点的排列顺序不相同;
33.节点分配模块,用于采用所述第二节点列表中的验证节点与所述子链集合中的每条子链进行共识。
34.此外,为实现上述目的,本发明还提供了一种终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的验证节点分配程序,所述验证节点分配程序被所述处理器执行时实现上述的验证节点分配方法的步骤。
35.此外,为实现上述目的,本发明还提供了一种存储介质,其上存储有验证节点分配程序,所述验证节点分配程序被处理器执行时实现上述的验证节点分配方法的步骤。
36.本发明实施例中提供的一种验证节点分配方法、装置、设备及存储介质的技术方案,至少具有如下技术效果或优点:
37.由于获取第一节点列表和子链集合,对第一节点列表中的验证节点的排序顺序进行混洗,以生成第二节点列表,使得第二节点列表中验证节点的排列顺序与第一节点列表中验证节点的排列顺序不相同,然后采用第二节点列表中的验证节点与子链集合中的每条子链进行共识的技术方案,解决了区块链的验证节点数量有限,子链数量的增加容易造成区块链整体的安全性受到威胁的技术问题,实现了在验证节点的数量有限的情况下,即使子链的数量众多,也可以为每条子链上的公平、合理的分配到验证节点,使得验证节点参与与子链的共识,有效提高了整个分布式账本系统的一致性和可靠性。
附图说明
38.图1为本发明验证节点分配方法一实施例的流程示意图;
39.图2为验证节点分配示意图;
40.图3为本发明验证节点分配方法中步骤s220的具体流程示意图;
41.图4为本发明验证节点分配方法中步骤s230的具体流程示意图;
42.图5为本发明实施例方案涉及的硬件运行环境的结构示意图;
43.图6为本发明验证节点分配装置的功能模块图。
具体实施方式
44.为了更好的理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
45.本发明实施例提供了验证节点分配方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,该验证节点分配方法应用于区块链,具体可以用于区块链单链结构,也可以满足多链、跨链等场景,本技术以多条子链进行说明。
46.如图1所示,在本发明的第一实施例中,本发明的验证节点分配方法,包括以下步骤:
47.步骤s210:获取第一节点列表和子链集合。
48.本实施例中,可以理解是,第一节点列表是指存储验证节点的原始列表,该列表中包括多个验证节点,所有验证节点按照一定的顺序排列。例如,第一节点列表中有30个验证节点,其中第一节点列表中的第1个验证节点为排列顺序的起始位置,然后依次是第2个验证节点、第3个验证节点、...、第30个验证节点。子链集合中包括多条子链,多条子链中存在一条主链和其他子链。其中,验证节点也称为共识节点,用于与子链集合中的子链进行共识,从而提高整个分布式账本系统的一致性和可靠性。验证节点个数需要设置在合理的范围,由于子链的数量不是固定的,而是基于实际需求动态变化的,所以验证节点的数量设置在一定范围之内,例如该范围为在[5,50]。
[0049]
步骤s220:对所述第一节点列表中的验证节点的排序顺序进行混洗,以生成第二节点列表。
[0050]
本实施例中,获取到第一节点列表之后,可以进一步得到第一节点列表中的各个验证节点以及各个验证节点的排列顺序,然后基于第一节点列表中各个验证节点的排列顺序,对各个验证节点的排列顺序进行混洗,从而对各个验证节点的排列顺序进行更新,即各个验证节点更新后的排列顺序与混洗之前的排列顺序是不同的,各个验证节点按照更新后的排列顺序重新排列,从而形成了一个新的排列列表,也就是新的节点列表,新的节点列表就是所述的第二节点列表,即第二节点列表中验证节点的排列顺序与所述第一节点列表中验证节点的排列顺序不相同。
[0051]
其中,所述的混洗是指将第一节点列表中的各个验证节点的排序顺序打乱,以形成新的排列顺序,各个节点按照新的排列顺序进行排列,所形成的列表就是所述第二列表。
例如,第一节点列表中的验证节点有7个,分别是验证节点1-验证节点7,原始排列顺序表示为(第1位是节点1、第2位是节点2、第3位是节点3、第4位是节点4、第5位是节点5、第6位是节点6、第7位是节点7),对第一节点列表中的各个验证节点的排序顺序混洗之后,第二节点列表中的各个验证节点的排序顺序表示为(第1位是节点7、第2位是节点6、第3位是节点5、第4位是节点4、第5位是节点3、第6位是节点2、第7位是节点1),或为(第1位是节点1、第2位是节点2、第3位是节点5、第4位是节点4、第5位是节点3、第6位是节点6、第7位是节点7),等等。
[0052]
步骤s230:采用所述第二节点列表中的验证节点与所述子链集合中的每条子链进行共识。
[0053]
本实施例中,对第一节点列表中的验证节点的排序顺序进行混洗之后,得到的第二节点列表。如图2所示。图中,左侧的图为环形列表,v-1至v-k均表示一个验证节点,即有k个验证节点,右侧的图表示各条子链。第二节点列表中的所有验证节点按照对应的排列顺序排列之后,形成了一个首尾相连的环形列表,第二节点列表中的验证节点的排序顺序已经随机且无法预测,然后采用第二节点列表中的验证节点与子链集合中的每条子链进行共识,也就是将第二节点列表中的所有验证节点公平的分配给每条子链,每条子链分配的验证节点的数量相同。如此可以实现在验证节点的数量有限的情况下,即使子链的数量不断增加,导致子链的数量众多,通过对有限数量的验证节点的排列顺序进行不断的混洗,以形成新的节点列表,实现了节点列表中验证节点的排列顺序的动态调整,然后基于新的节点列表实现验证节点在每条子链上的公平、合理的分配,从而参与与子链的共识,以有效的提高整个分布式账本系统的一致性和可靠性。其中,所述分配是指采用第二节点列表中验证节点的参与与子链的共识,并不是将第二节点列表中验证节点给子链,第二节点列表中验证节点的数量不发生变化。
[0054]
本实施例根据上述技术方案,由于采用了获取第一节点列表和子链集合,对第一节点列表中的验证节点的排序顺序进行混洗,以生成第二节点列表,使得第二节点列表中验证节点的排列顺序与第一节点列表中验证节点的排列顺序不相同,然后采用第二节点列表中的验证节点与子链集合中的每条子链进行共识的技术方案,实现了在验证节点的数量有限的情况下,即使子链的数量众多,也可以为每条子链上的公平、合理的分配到验证节点,使得验证节点参与与子链的共识,有效提高了整个分布式账本系统的一致性和可靠性。
[0055]
如图3所示,步骤s220包括以下步骤:
[0056]
步骤s221:从每条所述子链中获取目标区块,并获取所述目标区块对应的目标随机种子。
[0057]
具体的,每条子链一般包括多个区块,所述目标区块是指子链中的某一个区块,所述目标区块具体是子链中的哪个区块可以根据实际需求预先指定。随机种子是指随机数,随机种子由随机函数生成。目标区块对应的目标随机种子具有唯一性,目标随机种子用于对第一节点列表中验证节点的排列顺序进行混洗。
[0058]
进一步的,目标区块为每条子链中的首个区块,步骤s221包括以下步骤:
[0059]
获取所述首个区块的哈希值,并对所述首个区块的哈希值进行签名;
[0060]
对所述哈希值和签名后的所述哈希值进行哈希计算,得到所述目标随机种子。
[0061]
在区块链的主链中,主链的首个区块,也就是第一个区块,也称为创世区块。由于创世区块的熵源是已知的,即可以将创世区块的熵源作为创世区块的哈希值,然后将创世
区块的哈希值作为vrf(verifiable random function)可验证随机函数的输入值,可验证随机函数输出创世区块对应的目标随机种子,即首个区块对应的目标随机种子。具体的是,先对首个区块的哈希值采用bls阈值签名算法进行签名,然后对哈希值和签名后的哈希值进行哈希计算,得到目标随机种子。qr表示是第r区块的随机种子,h(x)表示对x取hash,bls_sign(qr-1)表示对qr-1采用bls算法进行签名的结果,br_h表示第r区块的区块hash,qr的计算公式如下:qr=h(bls_sign(qr-1),br_h))。首个区块是第1区块,首个区块的哈希值是b1_h,目标随机种子为q1,q1的生成过程为:b1_h

bls_sign(b1_h)

q1=h(bls_sign(b1_h),b1_h))。
[0062]
进一步的,目标区块不为每条子链中的首个区块,步骤s221包括以下步骤:
[0063]
获取所述目标区块的哈希值以及所述目标区块的前一个区块对应的随机种子;
[0064]
对所述随机种子进行签名;
[0065]
根据签名后的所述随机种子和所述哈希值,生成所述目标随机种子。
[0066]
在区块链中,由于各条子链中各个区块的哈希值已知,主链中创世区块的哈希值也是已知的,创世区块的下一个区块,即第2区块对应的随机种子也可以计算得到,同样第2区块的下一个区块对应的随机种子也可以计算得到。
[0067]
具体的,目标区块不为每条子链中的首个区块,由于创世区块对应的随机种子可以计算得到,即是已知的,那么基于创世区块对应的随机种子,可以计算得到创世区块的下一个区块、再下一个区块、等后续其他区块对应的随机种子。目标区块对应目标随机种子计算方式为:对目标区块的前一个区块对应的随机种子采用bls阈值签名算法进行签名,然后根据签名后的随机种子和哈希值,生成目标随机种子。根据签名后的随机种子和哈希值,生成目标随机种子具体是指:将签名后的随机种子和哈希值进行组合,生成组合数据,对组合数据进行哈希运算,得到所述目标随机种子。其中,所述哈希值是目标区块的哈希值,所述将签名后的随机种子和哈希值进行组合可以是将签名后的随机种子和哈希值合并在一起,或者是将签名后的随机种子放在哈希值的头部或者尾部,等等。
[0068]
假设每条子链(包含主链)中有5个区块,目标区块与创世区块属于同一条链,目标区块为该条链中的第5个区块,即第5区块,该目标区块对应的目标随机种子表示为q5,其余第1区块、第2区块、第3区块以及第4区块对应的随机种子表示为q2、q3以及q4。q1已经得到,q1-q5的生成过程分别为:
[0069]
b1_h

bls_sign(b1_h)

q1=h(bls_sign(b1_h),b1_h));
[0070]
q1

bls_sign(q1)

q2=h(bls_sign(q1),b2_h));
[0071]
q2

bls_sign(q2)

q3=h(bls_sign(q2),b3_h));
[0072]
q3

bls_sign(q3)

q4=h(bls_sign(q3),b4_h));
[0073]
q4

bls_sign(q4)

q5=h(bls_sign(q4),b5_h))。
[0074]
步骤s222:根据所述目标随机种子获取混洗步长。
[0075]
得到目标随机种子之后,根据目标随机种子的字节长度确定混洗步长,所述混洗步长可以理解为在调换第一节点列表中验证节点的排列顺序时,每间隔多个验证节点进行排列顺序调换,例如混洗步长为2,则在调换第一节点列表中验证节点的排列顺序时,每间隔2个验证节点进行排列顺序调换。
[0076]
具体的,步骤s222包括以下步骤:
[0077]
从所述目标随机种子中选取预设数量个的字节;
[0078]
对所述预设数量个的字节的字节长度进行求余运算,得到所述混洗步长。
[0079]
其中,所述预设数量个的字节可以是目标随机种子的头部前三个字节、也可以是目标随机种子中间的任意三个字节,也可以是目标随机种子尾部的倒数三个字节。以预设数量个的字节是目标随机种子的头部前三个字节为例,获取到目标随机种子的头部前三个字节之后,计算出这三个字节的字节长度,然后将计算得到的字节长度与32进行求余运算,从而得到混洗步长。假设目标随机种子的头部前三个字节的字节长度为x,求余运算函数为mod,求余运算表示的结果为y,y=mod(x,32),那么混洗步长就是y。
[0080]
步骤s223:按照所述混洗步长调换所述第一节点列表中验证节点的排列顺序。
[0081]
步骤s224:将调换排列顺序后的所述验证节点组成的列表,作为所述第二节点列表。
[0082]
得到混洗步长之后,采用预设混洗方式对第一节点列表中验证节点的排列顺序进行调换,对第一节点列表中验证节点的排列顺序调换之后,调换排列顺序后的验证节点组成新的列表,该新的列表就是所述第二节点列表,第二节点列表中验证节点的排列顺序与所述第一节点列表中验证节点的排列顺序不相同。其中,预设混洗方式是一种伪代码,该伪代码具体如下:
[0083][0084][0085]
该代码中,validator_list_size表示验证节点的数量,rand_size表示混洗步长。
[0086]
假设,第一节点列表中的验证节点有7个,分别是验证节点1-验证节点7,原始排列顺序表示为(第1位是节点1、第2位是节点2、第3位是节点3、第4位是节点4、第5位是节点5、第6位是节点6、第7位是节点7),混洗步长是1,对第一节点列表中验证节点的排列顺序调换之后,第二节点列表中的各个验证节点的排序顺序表示为(第1位是节点7、第2位是节点6、第3位是节点5、第4位是节点4、第5位是节点3、第6位是节点2、第7位是节点1)。
[0087]
本实施例根据上述技术方案,由于采用了从每条子链中获取目标区块,并获取目标区块对应的目标随机种子,根据目标随机种子获取混洗步长,按照混洗步长调换第一节点列表中验证节点的排列顺序,将调换排列顺序后的验证节点组成的列表,作为第二节点列表的技术方案,可以对第一节点列表中的验证节点的排序顺序的进行充分的混洗,使得
第二节点列表的验证节点的排序顺序更加可以体现随机性,且无法预测。
[0088]
如图4所示,步骤s230包括以下步骤:
[0089]
步骤s231:获取所述验证节点的第一数量以及所述子链的第二数量,并根据所述第一数量和所述第二数量确定节点选取数量;
[0090]
步骤s232:基于预设顺序,每次从所述第二节点列表中选取所述节点选取数量个的所述验证节点;
[0091]
步骤s233采用选取的所述验证节点与所述子链集合中对应的子链进行共识。
[0092]
具体的,获取到第一节点列表和子链集合之后,验证节点的数量以及子链集合中子链的数量也可以获取到,即称验证节点的数量为第一数量以及子链的数量为第二数量,第一节点列表中验证节点的数量与第二节点列表中验证节点的数量是相同的。在验证节点数量有限的情况下,如果子链的数量确定,则需要将第一数量的验证节点公平的分配给每条子链,即验证节点分配到的验证节点的数量是相同的。采用第一数量除以第二数量,得到的结果就是节点选取数量。假设验证节点有9个,子链有3条,节点选取数量为3,则每条子链公平分配到3个验证节点。
[0093]
如图2所示,图中有k个验证节点,n条子链,第二节点列表是首尾相连的环形列表。预设顺序是预先设置的选取验证节点顺序,即从第二节点列表中具体哪个位置为起始位置,每选取节点选取数量个验证节点,将所选取的节点选取数量个验证节点分配给对应子链,以参与与对应子链的共识。例如,图中所示的节点选取数量为3,按照子链的编号,将第二节点列表中第1位-第三3位的验证节点分配给子链1,第4位-第6位的验证节点分配给子链2,...,第k位、第1位以及第2位的验证节点分配给子链n。子链1-子链n分配验证节点的结果如下:
[0094]
子链1:{v-1,v-2,v-3};
[0095]
子链2:{v-4,v-5,v-6};
[0096]
···

[0097]
子链n:{v-k,v-1,v-2}。
[0098]
本实施例根据上述技术方案,由于采用了获取验证节点的第一数量以及子链的第二数量,并根据第一数量和第二数量确定节点选取数量,基于预设顺序,每次从第二节点列表中选取节点选取数量个的验证节点,采用选取的验证节点与子链集合中对应的子链进行共识的技术方案,实现了向每条子链公平合理的分配验证节点,使得验证节点参与与子链的共识,有效提高了整个分布式账本系统的一致性和可靠性。
[0099]
进一步的,如图5所示,图5为本发明实施例方案涉及的硬件运行环境的结构示意图。
[0100]
需要说明的是,图5即可为终端设备的硬件运行环境的结构示意图。
[0101]
如图5所示,该终端设备可以包括:处理器1001,例如cpu,存储器1005,用户接口1003,网络接口1004,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器
1001的存储装置。
[0102]
本领域技术人员可以理解,图5中示出的终端设备结构并不构成对终端设备限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0103]
如图5所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及验证节点分配程序。其中,操作系统是管理和控制终端设备硬件和软件资源的程序,验证节点分配程序以及其它软件或程序的运行。
[0104]
在图5所示的终端设备中,用户接口1003主要用于连接终端,与终端进行数据通信;网络接口1004主要用于后台服务器,与后台服务器进行数据通信;处理器1001可以用于调用存储器1005中存储的验证节点分配程序。
[0105]
在本实施例中,终端设备包括:存储器1005、处理器1001及存储在所述存储器1005上并可在所述处理器上运行的验证节点分配程序,其中:
[0106]
处理器1001调用存储器1005中存储的验证节点分配程序时,执行以下操作:
[0107]
获取第一节点列表和子链集合,所述第一节点列表包括多个验证节点,所述子链集合包括多条子链;
[0108]
对所述第一节点列表中的验证节点的排序顺序进行混洗,以生成第二节点列表,所述第二节点列表中验证节点的排列顺序与所述第一节点列表中验证节点的排列顺序不相同;
[0109]
采用所述第二节点列表中的验证节点与所述子链集合中的每条子链进行共识。
[0110]
处理器1001调用存储器1005中存储的验证节点分配程序时,还执行以下操作:
[0111]
从每条所述子链中获取目标区块,并获取所述目标区块对应的目标随机种子;
[0112]
根据所述目标随机种子获取混洗步长;
[0113]
按照所述混洗步长调换所述第一节点列表中验证节点的排列顺序;
[0114]
将调换排列顺序后的所述验证节点组成的列表,作为所述第二节点列表。
[0115]
处理器1001调用存储器1005中存储的验证节点分配程序时,还执行以下操作:
[0116]
获取所述首个区块的哈希值,并对所述首个区块的哈希值进行签名;
[0117]
对所述哈希值和签名后的所述哈希值进行哈希计算,得到所述目标随机种子。
[0118]
处理器1001调用存储器1005中存储的验证节点分配程序时,还执行以下操作:
[0119]
获取所述目标区块的哈希值以及所述目标区块的前一个区块对应的随机种子;
[0120]
对所述随机种子进行签名;
[0121]
根据签名后的所述随机种子和所述哈希值,生成所述目标随机种子。
[0122]
处理器1001调用存储器1005中存储的验证节点分配程序时,还执行以下操作:
[0123]
将签名后的所述随机种子和所述哈希值进行组合,生成组合数据;
[0124]
对所述组合数据进行哈希运算,得到所述目标随机种子。
[0125]
处理器1001调用存储器1005中存储的验证节点分配程序时,还执行以下操作:
[0126]
从所述目标随机种子中选取预设数量个的字节;
[0127]
对所述预设数量个的字节的字节长度进行求余运算,得到所述混洗步长。
[0128]
处理器1001调用存储器1005中存储的验证节点分配程序时,还执行以下操作:
[0129]
获取所述验证节点的第一数量以及所述子链的第二数量,并根据所述第一数量和所述第二数量确定节点选取数量;
[0130]
基于预设顺序,每次从所述第二节点列表中选取所述节点选取数量个的所述验证节点;
[0131]
采用选取的所述验证节点与所述子链集合中对应的子链进行共识。
[0132]
进一步的,如图6所示,本发明提供的一种验证节点分配装置,所述验证节点分配装置包括:
[0133]
节点获取模块310,用于获取第一节点列表和子链集合,所述第一节点列表包括多个验证节点,所述子链集合包括多条子链;
[0134]
节点混洗模块320,用于对所述第一节点列表中的验证节点的排序顺序进行混洗,以生成第二节点列表,所述第二节点列表中验证节点的排列顺序与所述第一节点列表中验证节点的排列顺序不相同;
[0135]
节点分配模块330,用于采用所述第二节点列表中的验证节点与所述子链集合中的每条子链进行共识。
[0136]
本发明验证节点分配装置具体实施方式与上述验证节点分配方法各实施例基本相同,在此不再赘述。
[0137]
进一步的,本发明还提供了一种终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的验证节点分配程序,所述验证节点分配程序被所述处理器执行时实现上述的验证节点分配方法的步骤。
[0138]
进一步的,本发明还提供了一种存储介质,其上存储有验证节点分配程序,所述验证节点分配程序被处理器执行时实现上述的验证节点分配方法的步骤。
[0139]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0140]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0141]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0142]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0143]
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权
利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0144]
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0145]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1