本技术涉及区块链,具体涉及一种网络节点共识处理方法、装置、设备及存储介质。
背景技术:
1、联盟链是一种由多个机构或企业组成的区块链网络,其中参与者需要获得某个实体组织的授权方可加入该联盟链系统。共识协议是区块链技术的基础和核心,确保网络中所有参与者能够就数据状态达成一致的机制。与公有链不同,联盟链中存储的账本数据只对部分节点开放,且共识过程由指定的节点完成。
2、相关技术中,通过实用拜占庭容错算法(practical byzantine faulttolerance,pbft)实现共识,即使在存在拜占庭故障的情况下也能保证系统的正常运行。在pbft算法中,主节点的选取采用在所有节点中轮询的方式,节点会通过交换消息来提议和选择新的主节点,这些消息可能包含节点的投票、对候选主节点的支持等,当超过一定数量的节点对某个候选主节点达成共识时,该节点就被选定为新的主节点。一旦主节点被选定,它就开始负责处理客户端的请求,并与其他节点进行共识。
3、然而,现有技术无法保证节点的可靠性,网络系统的安全性和稳定性差。
技术实现思路
1、本技术提供一种网络节点共识处理方法、装置、设备及存储介质,从而解决现有技术无法保证节点的可靠性,网络系统的安全性和稳定性差的问题。
2、第一方面,本技术提供一种网络节点共识处理方法,包括:
3、获取联盟链中各节点的服务信誉值;
4、根据各节点的服务信誉值,在所述节点中进行筛选,以得到多个临时共识节点,并确定所述多个临时共识节点为一个临时共识组;
5、基于所述临时共识组,运行一次共识过程;
6、在所述共识过程完成之后,获取各临时共识节点的服务信誉值和共识信誉值;
7、根据各临时共识节点的服务信誉值和共识信誉值,在所述临时共识节点中进行筛选,以得到多个候选共识节点,并确定所述多个候选共识节点为一个候选共识组;
8、基于所述候选共识组,迭代运行e-1次共识过程,并在每次共识过程完成之后,更新候选共识组,直至迭代完成得到目标共识组,其中,e为共识过程的总数量。
9、本技术提供了一种安全可靠的网络节点共识处理方法,针对联盟链中的节点,通过服务信誉值和共识信誉值两个维度的行为来评估节点的可靠性,进而选择可靠的节点参与共识,以有效降低故障节点在共识节点中的占比,在节点的选择过程中,通过多次共识过程的循环迭代以及节点的筛选,提高了节点筛选的准确性,进一步地提高了节点的可靠性,提高了网络系统的安全性和稳定性。
10、可选地,所述获取各临时共识节点的服务信誉值和共识信誉值,包括:
11、获取各临时共识节点在共识过程的平均延时;根据预设奖惩策略,对各临时共识节点的平均延时进行计算处理,以得到各临时共识节点的服务信誉值;获取各临时共识节点在共识过程的共识次数、正确回复次数和错误回复次数;根据所述共识次数、正确回复次数和错误回复次数,确定各临时共识节点的共识信誉值。
12、这里,本技术将响应时间即节点的平均延时作为服务评价指标,节点的服务信誉值根据节点的平均延时更新,节点的响应时间能够准确评估节点的可靠性,不同的响应时间反映着节点的不同性能,平均响应时间越短,节点的性能和可靠性越好,进一步地,为了避免出现节点信誉增长过快的问题且保证节点提供较差服务时服务信誉的迅速下降,本技术提出了奖惩策略,提高了节点服务信誉值确定的准确性,提高了共识节点的可靠性。本技术还通过各临时共识节点在共识过程的共识次数、正确回复次数和错误回复次数来确定各临时共识节点的共识信誉值,能准确评估共识质量,提高了共识节点的可靠性。
13、可选地,所述预设奖惩策略包括:根据各临时共识节点的平均延时,确定对各临时共识节点进行奖励处理还是惩罚处理;若确定对所述临时共识节点进行奖励处理,则根据所述平均延时和预设奖励算法,计算得到奖励参数,并根据所述奖励参数和所述临时共识节点在所述共识过程运行之前的服务信誉值进行计算,以得到所述临时共识节点的服务信誉值;若确定对所述临时共识节点进行惩罚处理,则根据所述平均延时和预设奖惩罚算法,计算得到惩罚参数,并根据所述惩罚参数和所述临时共识节点在所述共识过程运行之前的服务信誉值进行计算,以得到所述临时共识节点的服务信誉值。
14、其中,本技术根据平均延时和预设奖励算法来计算得到奖励参数,根据当前的服务信誉值和奖励参数,可以得到更新后的服务信誉值,还能够根据平均延时和预设奖惩罚算法计算得到惩罚参数,进而结合当前的服务信誉值得到更新后的服务信誉值。通过以上奖惩策略,当具有高服务信誉的节点继续提供更好的服务时,其信誉值的增长速度将变缓,避免出现节点信誉增长过快的问题,且当它提供较差服务时,服务信誉则迅速下降,另一方面,还便于节点的服务信誉计算,降低了计算成本。
15、可选地,所述根据各临时共识节点的服务信誉值和共识信誉值,在所述临时共识节点中进行筛选,以得到多个候选共识节点,包括:根据各临时共识节点的服务信誉值和共识信誉值,计算得到各临时共识节点的综合信誉值;根据各临时共识节点的综合信誉值,在所述临时共识节点中进行筛选,以得到多个候选共识节点。
16、其中,本技术结合服务信誉值和共识信誉值,计算得到综合信誉值,综合信誉值能够准确反映节点在服务和共识两个行为维度的性能,因此在筛选过程中,能够将综合信誉值排在最后几位的节点剔除,以得到多个候选共识节点,候选共识节点的综合信誉值较高,因此节点的可靠性也高,提高了节点的可靠性以及联盟链网络的安全性,且将服务和共识两个行为维度合并为一个综合信誉值,便于对节点进行筛选,提高了计算性能,降低了计算复杂度。
17、可选地,所述在每次共识过程完成之后,更新候选共识组,直至迭代完成得到目标共识组,包括:在每次共识过程完成之后,获取各候选共识节点的服务信誉值和共识信誉值;根据各候选共识节点的服务信誉值和共识信誉值,在所述候选共识节点中进行筛选,以迭代更新所述候选共识组;将e-1次共识过程完成后筛选得到的候选共识组确定为目标共识组。
18、这里,本技术在候选共识组的迭代共识过程中,在每次结束共识过程之后,都从服务和共识两种行为,来筛选节点,进而更新候选共识组,以得到可靠性满足要求的多个候选共识节点,并在经过多次循环迭代过后,最终形成目标共识组,目标共识组中的节点均能够满足可靠性的要求,提高了网络系统的稳定性和安全性。
19、可选地,所述基于所述候选共识组,迭代运行e-1次共识过程,包括:
20、在每次共识过程中,根据各候选共识节点的服务信誉值和共识信誉值确定主节点,将除主节点之外的其他候选共识节点确定为副本节点;根据所述主节点和所述副本节点,建立星型广播结构;基于所述星型广播结构,执行共识信息的传输;循环上述根据各候选共识节点的服务信誉值和共识信誉值确定主节点至执行共识信息的传输的过程,直至运行至e-1次共识过程。
21、可选地,所述基于所述临时共识组,运行一次共识过程,包括:将服务信誉值最高的临时共识节点确定为主节点,将其他临时共识节点确定为副本节点;根据所述主节点和所述副本节点,建立星型广播结构;基于所述星型广播结构,执行共识信息的传输。
22、在pbft算法中,通过共识实现一致性,但其需要进行两轮节点间相互通信,将占用大量带宽资源,随着网络中节点数量增加,通信次数也随之快速增加,导致共识效率下降,不利于网络节点规模的扩展。因此本技术提出了新的共识方法,将信誉值最高的节点作为主节点,以防止主节点故障影响共识效率,并采用星型结构替代全网广播结构策略,优化共识网络的通信结构,降低了通信复杂度以及网络成本。
23、第二方面,本技术提供了一种网络节点共识处理装置,包括:
24、第一获取模块,用于获取联盟链中各节点的服务信誉值;
25、第一处理模块,用于根据各节点的服务信誉值,在所述节点中进行筛选,以得到多个临时共识节点,并确定所述多个临时共识节点为一个临时共识组;
26、运行模块,用于基于所述临时共识组,运行一次共识过程;
27、第二获取模块,用于在所述共识过程完成之后,获取各临时共识节点的服务信誉值和共识信誉值;
28、第二处理模块,用于根据各临时共识节点的服务信誉值和共识信誉值,在所述临时共识节点中进行筛选,以得到多个候选共识节点,并确定所述多个候选共识节点为一个候选共识组;
29、第三处理模块,用于基于所述候选共识组,迭代运行e-1次共识过程,并在每次共识过程完成之后,更新候选共识组,直至迭代完成得到目标共识组,其中,e为共识过程的总数量。
30、可选地,所述第二获取模块具体用于:
31、获取各临时共识节点在共识过程的平均延时;根据预设奖惩策略,对各临时共识节点的平均延时进行计算处理,以得到各临时共识节点的服务信誉值;获取各临时共识节点在共识过程的共识次数、正确回复次数和错误回复次数;根据所述共识次数、正确回复次数和错误回复次数,确定各临时共识节点的共识信誉值。
32、可选地,所述预设奖惩策略包括:
33、根据各临时共识节点的平均延时,确定对各临时共识节点进行奖励处理还是惩罚处理;若确定对所述临时共识节点进行奖励处理,则根据所述平均延时和预设奖励算法,计算得到奖励参数,并根据所述奖励参数和所述临时共识节点在所述共识过程运行之前的服务信誉值进行计算,以得到所述临时共识节点的服务信誉值;若确定对所述临时共识节点进行惩罚处理,则根据所述平均延时和预设奖惩罚算法,计算得到惩罚参数,并根据所述惩罚参数和所述临时共识节点在所述共识过程运行之前的服务信誉值进行计算,以得到所述临时共识节点的服务信誉值。
34、可选地,所述第二处理模块具体用于:
35、根据各临时共识节点的服务信誉值和共识信誉值,计算得到各临时共识节点的综合信誉值;根据各临时共识节点的综合信誉值,在所述临时共识节点中进行筛选,以得到多个候选共识节点。
36、可选地,所述第三处理模块具体用于:
37、在每次共识过程完成之后,获取各候选共识节点的服务信誉值和共识信誉值;根据各候选共识节点的服务信誉值和共识信誉值,在所述候选共识节点中进行筛选,以迭代更新所述候选共识组;将e-1次共识过程完成后筛选得到的候选共识组确定为目标共识组。
38、可选地,所述第三处理模块还具体用于:
39、在每次共识过程中,根据各候选共识节点的服务信誉值和共识信誉值确定主节点,将除主节点之外的其他候选共识节点确定为副本节点;根据所述主节点和所述副本节点,建立星型广播结构;基于所述星型广播结构,执行共识信息的传输;循环上述根据各候选共识节点的服务信誉值和共识信誉值确定主节点至执行共识信息的传输的过程,直至运行至e-1次共识过程。
40、可选地,所述运行模块具体用于:
41、将服务信誉值最高的临时共识节点确定为主节点,将其他临时共识节点确定为副本节点;根据所述主节点和所述副本节点,建立星型广播结构;基于所述星型广播结构,执行共识信息的传输。
42、第三方面,本技术提供一种网络节点共识处理设备,包括:至少一个处理器和存储器;
43、所述存储器存储计算机执行指令;
44、所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的网络节点共识处理方法。
45、第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的网络节点共识处理方法。
46、第五方面,本发明提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上第一方面以及第一方面各种可能的设计所述的网络节点共识处理方法。
47、本技术提供的网络节点共识处理方法、装置、设备及存储介质,其中该方法针对联盟链中的节点,通过服务信誉值和共识信誉值两个维度的行为来评估节点的可靠性,进而选择可靠的节点参与共识,以有效降低故障节点在共识节点中的占比,在节点的选择过程中,通过多次共识过程的循环迭代以及节点的筛选,提高了节点筛选的准确性,进一步地提高了节点的可靠性,提高了网络系统的安全性和稳定性。