区块链共识方法及电子设备与流程

文档序号:37467832发布日期:2024-03-28 18:50阅读:15来源:国知局
区块链共识方法及电子设备与流程

本技术属于区块链,具体涉及一种区块链共识方法及电子设备。


背景技术:

1、区块链共识机制是指区块链网络中的各个节点通过节点投票的方式使得各个节点达成一致意见。

2、目前,在区块链网络中,节点的身份具有明确的划分,一般包括提议者、接受者和学习者,提议者是能够发起提案的节点,接受者是对提议者发起的提案进行投票以达成共识结果的节点,学习者一般是被动接受共识结果,不参与提案的投票过程。基于身份的明确划分,只有提议者节点才能够发起提案,这就导致只有提议者节点才能够进行区块链网络的写操作,而为了避免提案混乱,通常只设定一个提议者节点,对于写操作要求较高的场景,这就使得区块链网络的共识效率低下,难以应用到高频写操作场景。


技术实现思路

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、根据所述提案节点发起的提案信息中的当前提议值和所述目标依赖信息生成初始共识结果。

39、在本技术的一个实施例中,共识模块具体用于:

40、将提案节点发起的提案信息中的依赖信息的历史提议值和所述提案应答信息中其他节点本地存储的历史提议值的并集作为本次提案的历史提议值;

41、将所述本次提案的历史提议值中的最大提议值标识作为本次提案的目标提议值标识;

42、根据所述本次提案的历史提议值和本次提案的目标提议值标识生成目标依赖信息。

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

44、根据本技术实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器执行所述可执行指令使得所述电子设备执行如以上技术方案中的区块链共识方法。

45、根据本技术实施例的一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上技术方案中的区块链共识方法。

46、在本技术实施例提供的技术方案中,通过获取提案节点发起的提案信息,提案节点为区块链网络中的任一节点;然后基于提案节点发起的提案信息在提案节点所在局部网络进行共识操作,以使局部网络中的各个节点形成初始共识结果;其中,局部网络是由区块链网络中的部分节点所组成的网络;进而根据设定周期内的多次共识操作对应的多个初始共识结果形成依赖关系图,依赖关系图中的元素包括多个初始共识结果对应的提案信息;最后对依赖关系图中的元素进行排序,得到目标共识结果,目标共识结果指示多个初始共识结果对应的提案信息的执行顺序;一方面,使区块链网络中任一节点作为提案节点发起共识操作,解除了区块链网络中传统共识操作对节点的身份限制,有效提高了区块链共识的效率,可以使区块链应用于更高频的写场景;另一方面,通过构建依赖关系图并据此排序得到最终的目标共识结果,使得各个提案信息能够按照顺序准确执行,保证了区块链共识操作的准确性。

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

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