区块链的共识方法、装置、计算机可读介质及电子设备与流程

文档序号:37013439发布日期:2024-02-09 13:03阅读:15来源:国知局
区块链的共识方法、装置、计算机可读介质及电子设备与流程

本技术涉及计算机及通信,具体而言,涉及一种区块链的共识方法、装置、计算机可读介质及电子设备。


背景技术:

1、在区块链技术中,共识机制是保证区块链系统正常运行的基础。所谓共识即是达成一致的意思,区块链系统中的每个节点设备各自存储有一份分布式账本(即区块链),区块链系统的共识过程就是让各个节点设备之间的分布式账本保持一致的过程。在区块链系统中,所有共识节点都是对等的,且都可以打包任意交易信息至待共识的区块中,为了保证不重复打包某些交易信息,相关技术中提出的打包流程通常是在确定前一个区块之后再打包下一个区块,以此将已打包至区块中的交易信息过滤掉,避免对重复的交易信息进行打包。但是,这种串行的打包处理机制导致出块速率较慢,影响了区块链系统的共识性能。


技术实现思路

1、本技术的实施例提供了一种区块链的共识方法、装置、计算机可读介质及电子设备,进而可以通过对交易分组避免了对交易信息进行重复打包,并且可以提高区块链的出块速率,有利于提升区块链系统的共识性能。

2、本技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本技术的实践而习得。

3、根据本技术实施例的一个方面,提供了一种区块链的共识方法,包括:根据区块链网络中的共识节点数量对本地交易池中的交易信息进行分组,得到与所述区块链网络中的各个共识节点相对应的交易分组;根据当前共识节点对应的交易分组生成临时区块;若获取到所述临时区块的前序区块的信息,则根据所述前序区块的信息和所述临时区块生成提案区块;将所述提案区块广播至所述区块链网络中进行共识处理。

4、根据本技术实施例的一个方面,提供了一种区块链的共识装置,包括:分组单元,配置为根据区块链网络中的共识节点数量对本地交易池中的交易信息进行分组,得到与所述区块链网络中的各个共识节点相对应的交易分组;第一生成单元,配置为根据当前共识节点对应的交易分组生成临时区块;第二生成单元,配置为若获取到所述临时区块的前序区块的信息,则根据所述前序区块的信息和所述临时区块生成提案区块;共识单元,配置为将所述提案区块广播至所述区块链网络中进行共识处理。

5、在本技术的一些实施例中,基于前述方案,所述分组单元配置为:计算所述本地交易池中的交易信息所对应的交易哈希;根据所述交易哈希与所述共识节点数量进行取余运算,并根据所述取余运算的结果对所述交易信息进行分组。

6、在本技术的一些实施例中,基于前述方案,所述第一生成单元配置为:在所述当前共识节点作为提案节点之前,根据所述当前共识节点对应的交易分组生成临时区块;所述第二生成单元配置为:在所述当前共识节点接收到其它共识节点发送的所述前序区块时,确定获取到所述临时区块的前序区块的信息。

7、在本技术的一些实施例中,基于前述方案,所述第二生成单元配置为:若所述当前共识节点作为提案节点时的出块数量为多个,则在所述当前共识节点生成一个提案区块之后,将生成的提案区块作为所述前序区块,并确定获取到所述临时区块的前序区块的信息。

8、在本技术的一些实施例中,基于前述方案,所述区块链的共识装置还包括:检测单元,配置为在所述本地交易池中,检测其它共识节点对应的交易分组中所包含的交易信息的数量;所述第一生成单元还配置为:若检测到指定共识节点对应的交易分组中所包含的交易信息的数量超过设定阈值,则对所述指定共识节点对应的交易分组中所包含的交易信息进行打包,生成所述临时区块。

9、在本技术的一些实施例中,基于前述方案,所述第一生成单元对所述指定共识节点对应的交易分组中所包含的交易信息进行打包的过程,包括:从所述指定共识节点对应的交易分组中选择交易信息打包为至少一个临时区块,直至所述指定共识节点对应的交易分组中所包含的交易信息的数量小于所述设定阈值。

10、在本技术的一些实施例中,基于前述方案,所述第一生成单元对所述指定共识节点对应的交易分组中所包含的交易信息进行打包的过程,包括:从所述指定共识节点对应的交易分组中选择交易信息打包为至少一个临时区块,直至所述指定共识节点对应的交易分组中所包含的交易信息的数量为0。

11、在本技术的一些实施例中,基于前述方案,所述区块链的共识装置还包括:检测单元,配置为检测其它共识节点广播的提案区块中是否包含有所述当前共识节点所对应交易分组中的交易信息;清除单元,配置为若所述其它共识节点广播的提案区块中包含有所述当前共识节点所对应交易分组中的交易信息,则清除所述当前共识节点生成的所有临时区块。

12、在本技术的一些实施例中,基于前述方案,所述分组单元还配置为:在清除所述当前共识节点生成的所有临时区块之后,重新对所述当前共识节点的本地交易池中的交易信息进行分组,以使所述第一生成单元根据当前共识节点对应的交易分组生成所述临时区块。

13、在本技术的一些实施例中,基于前述方案,所述第一生成单元配置为:根据每个区块容纳的交易信息的数量,从所述当前共识节点对应的交易分组中选择相应数量的交易信息进行打包,以生成所述临时区块;其中,所述临时区块中的区块高度字段、区块哈希字段和前序区块哈希字段为空值。

14、在本技术的一些实施例中,基于前述方案,所述第二生成单元配置为:根据所述前序区块的信息确定所述前序区块哈希值、下一区块的区块高度和所述下一区块的区块哈希值;根据所述前序区块哈希值更新所述临时区块中的前序区块哈希字段、根据所述下一区块的区块高度更新所述临时区块中的区块高度字段,并根据所述下一区块的区块哈希值更新所述临时区块中的区块哈希字段,以生成所述提案区块。

15、在本技术的一些实施例中,基于前述方案,所述第一生成单元还配置为:在生成所述临时区块之后、且在生成所述提案区块之前,根据区块链账本中记录的交易信息对所述临时区块中包含的交易信息进行验重处理,并对所述临时区块中的交易信息列表进行序列化处理。

16、根据本技术实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的区块链的共识方法。

17、根据本技术实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个计算机程序,当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述电子设备实现如上述实施例中所述的区块链的共识方法。

18、根据本技术实施例的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取并执行该计算机程序,使得该电子设备执行上述各种可选实施例中提供的区块链的共识方法。

19、在本技术的一些实施例所提供的技术方案中,通过根据区块链网络中的共识节点数量对本地交易池中的交易信息进行分组,得到与各个共识节点相对应的交易分组,然后根据当前共识节点对应的交易分组生成临时区块,以在获取到临时区块的前序区块的信息之后,根据前序区块的信息和临时区块生成提案区块,使得可以提前对共识节点本地交易池中的交易信息进行分组,且每个共识节点都可以根据分组结果提前对交易信息进行打包,进而可以在通过分组避免对交易信息进行重复打包的前提下,提高了区块链的出块速率,有利于提升区块链系统的共识性能。

20、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1