CN113807850B - 一种共识节点的状况评估方法、装置及电子设备 - Google Patents

一种共识节点的状况评估方法、装置及电子设备 Download PDF

Info

Publication number
CN113807850B
CN113807850B CN202111158191.0A CN202111158191A CN113807850B CN 113807850 B CN113807850 B CN 113807850B CN 202111158191 A CN202111158191 A CN 202111158191A CN 113807850 B CN113807850 B CN 113807850B
Authority
CN
China
Prior art keywords
consensus
block
node
target node
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111158191.0A
Other languages
English (en)
Other versions
CN113807850A (zh
Inventor
胡靖宇
李月秋
赵贞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Youpin Sanyue Technology Development Co ltd
Original Assignee
Beijing Youpin Sanyue Technology Development Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Youpin Sanyue Technology Development Co ltd filed Critical Beijing Youpin Sanyue Technology Development Co ltd
Priority to CN202111158191.0A priority Critical patent/CN113807850B/zh
Publication of CN113807850A publication Critical patent/CN113807850A/zh
Application granted granted Critical
Publication of CN113807850B publication Critical patent/CN113807850B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management

Abstract

本发明公开了一种参与共识的节点的状况评估方法、装置及电子设备,包括:当前区块在执行当前共识交易之前,先对上一个区块的共识交易进行解析,确定是否存在处于离线状态或恶意不参与共识的状态的共识节点,若目标节点的状态信息为离线状态或者为恶意不参与共识的状态,则剔除目标节点,得到共识节点集合,之后基于该共识节点集合,执行当前区块的共识交易。由此通过对上一个区块的共识交易信息进行解析的方式,确定了是否存在离线状态或恶意不参与共识的状态的共识节点,从而剔除离线状态或恶意不参与共识的状态的共识节点,由此,避免了离线状态或恶意不参与共识的状态的共识节点对当前区块的共识阶段的影响,提升了共识阶段的安全性和可靠性。

Description

一种共识节点的状况评估方法、装置及电子设备
技术领域
本发明涉及区块链技术领域,尤其涉及一种共识节点的状况评估方法、装置及电子设备。
背景技术
区块链技术在近些年有着突飞猛进的发展,但是也有着许许多多的局限性。由于参与区块链的节点并不都是可靠节点,也存在着节点恶意攻击区块链的可能,所以为了减小这种可能,区块链一般会使用“网络共识”的方式去避免恶意节点去篡改区块,网络共识是区块链系统的重要组成部分,共识机制的设计直接关系着区块链系统的性能和安全。当前基于VRF算法的区块链共识机制,具有良好的安全性,它的安全性来自于VRF算法的优秀的可验证性、伪随机性和唯一性,因此被广泛的应用。
VRF算法的共识算法无法预测每一轮共识过程中的出块节点和投票节点,从而无法有效得对共识过程进行攻击,保证了共识的整体安全性,但是同时也丢失了全局可知的选举人信息,无法直接对选举人的本轮共识参与过程进行监控和管理。
发明内容
有鉴于此,本发明实施例公开了一种参与共识的节点的状况评估方法、装置及电子设备,解决了现有技术中无法对共识过程中的节点进行监控和管理的问题。
本发明实施例公开了一种参与共识的节点的状况评估方法,包括:
接收上一个区块的共识交易信息;
解析所述上一个区块的共识交易信息,确定是否存在处于离线状态或恶意不参与共识的状态的共识节点;
若目标节点的状态信息为离线状态或者为恶意不参与共识的状态,则剔除所述目标节点,得到共识节点集合;所述目标节点为所述共识交易信息中参与共识的节点中的任意一个;
基于所述共识节点集合,执行当前区块的共识交易。
可选的,所述解析所述上一个区块的共识交易信息,确定是否存在处于离线状态或恶意不参与共识的状态的共识节点,包括:
确定目标节点从第一区块到第二区块的参与共识的情况信息;所述第一区块为预设的初始区块,所述第二区块的区块号大于所述第一区块的区块号;
基于目标节点从所述第一区块到所述第二区块的参与共识的情况信息,预测目标节点从所述第二区块到第三区块的参与共识的次数,得到第一预测值;所述第三区块的区块号大于所述第二区块的区块号;
统计所述目标节点从所述第二区块到所述第三区块的期望参与共识的次数,得到第一期望值,统计所述目标节点从所述第二区块到所述第三区块的实际参与共识的次数,得到第一实际值;
若所述第一期望值、第一实际值和第一预测值的关系满足预设的第一条件,则表示所述目标节点处于离线状态。
可选的,基于目标节点从第一区块到第二区块的参与共识的情况信息,预测目标节点从所述第二区块到所述第三区块的参与共识的次数,得到第一预测值,包括:
基于目标节点从所述第一区块到所述第二区块的期望参与共识的次数和实际参与共识的次数、以及预设的第一阈值,预测目标节点从第一区块到第三区块的参与共识的次数,得到第二预测值;
依据所述第二预测值和所述目标节点从第一区块到第二区块的实际参与共识的次数,计算第一预测值。
可选的,所述第一条件,包括:
第一期望值大于等于第一预测值,且所述第一实际值等于零。
可选的,所述解析所述上一个区块的共识交易信息,确定是否存在处于离线状态或恶意不参与共识的状态的共识节点,包括:
若目标轮次的共识阶段的共识失败,统计在目标轮次的共识阶段被选中为选举人的节点的数量,并计算多个节点被选中为选举人的概率;所述多个节点的数量与被选中为选举人的节点的数量一致;
计算所述多个节点被选中为选举人的概率的期望;
获取第二阈值,若被选中为选举人的节点的数量、所述多个节点被选中为选举人的概率的期望和第二阈值之间的关系满足预设的第二条件,则表示本轮次的共识阶段存在恶意不参与共识的共识节点;
从目标节点加入共识的第一轮次开始,对目标节点每个轮次的选举人的概率进行累加,得到第一累加值;
从目标节点加入共识的第一轮次开始,对目标节点每个轮次选中的次数进行累加,得到第二累加值;
基于第一累加值和第二累加值的差与预设的第三阈值的关系,确定所述目标节点是否为嫌疑节点;
从嫌疑节点中选取作恶节点。
可选的,所述获取第二阈值,包括:
计算多个节点被选中为选举人的标准差;
依据所述多个节点被选中为选举人的标准差计算第二阈值。
可选的,所述预设的第二条件包括:
所述被选中为选举人的节点的数量小于所述多个节点被选中为选举人的概率的期望和第二阈值的差。
可选的,所述从嫌疑节点中选取作恶节点,包括:
若嫌疑节点的第一累加值和第二累加值的差大于预设的第四阈值,则表示所述嫌疑节点为作恶节点;所述预设的第四阈值大于预设的第三阈值。
可选的,所述从嫌疑节点中选取作恶节点,包括:
计算每个嫌疑节点连续未选中直至被选中的概率;
根据每个嫌疑节点连续未选中直至被选中的概率确定作恶节点。
可选的,还包括:
响应于节点加入共识的指令,在当前区块的共识交易之前,在所述共识节点集合中加入节点。
本发明实施例公开了一种参与共识的节点的状态评估装置,包括:
接收单元,用于接收上一个区块的共识交易信息;
解析单元,用于解析所述上一个区块的共识交易信息,确定是否存在处于离线状态或恶意不参与共识的状态的共识节点;
剔除单元,用于若目标节点的状态信息为离线状态或者为恶意不参与共识的状态,则剔除所述目标节点,得到共识节点集合;所述目标节点为所述共识交易信息中参与共识的节点中的任意一个;
共识交易执行单元,用于基于所述共识节点集合,执行当前区块的共识交易。
本发明实施例公开了一种电子设备,包括:
存储器和处理器;
所述存储器用于存储程序,所述处理器用于在执行所述存储器存储的程序时,执行上述所述的一种参与共识的节点的状况评估方法。
本发明实施例公开了一种参与共识的节点的状况评估方法、装置及电子设备,包括:当前区块在执行当前共识交易之前,先对上一个区块的共识交易进行解析,确定是否存在处于离线状态或恶意不参与共识的状态的共识节点,若目标节点的状态信息为离线状态或者为恶意不参与共识的状态,则剔除目标节点,得到共识节点集合,之后基于该共识节点集合,执行当前区块的共识交易。由此通过对上一个区块的共识交易信息进行解析的方式,确定了是否存在离线状态或恶意不参与共识的状态的共识节点,从而剔除离线状态或恶意不参与共识的状态的共识节点,由此,避免了离线状态或恶意不参与共识的状态的共识节点对后续共识阶段的影响,提升了共识阶段的安全性和可靠性。
进一步的,本发明实施例能够在执行当前区块的共识交易过程中剔除有问题的节点,并得到剔除了有问题节点的共识节点集合,从而让新得到的共识节点集合来执行下一个区块的共识交易,保证下一个区块的共识过程的安全性和可靠性。由此,避免了现有技术中基于VRF算法的共识机制必须引入时间纪元的逻辑,也就避免了只能在一个时间纪元后才能执行节点剔除或者加入的操作逻辑,进而避免了存在问题的共识节点在时间纪元内对共识过程产生的持续影响,提升了共识阶段的安全性和可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本发明实施例1提供的一种参与共识的节点的状况评估方法的流程示意图;
图2示出了目标节点参与共识的情况的示意图;
图3示出了本发明实施例2提供的一种共识节点的状况评估方法的流程示意图;
图4示出了本发明实施例3提供的一种共识节点的状况评估方法的流程示意图;
图5示出了本发明实施例提供的一种参与共识的节点的状态评估装置的结构示意图;
图6示出了本发明实施例公开的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
申请人发现,基于VRF算法的共识过程很难对发生如下两种情况的共识节点进行识别:
情况一:难以识别共识节点是否已经处于离线状态;
情况二:难以识别恶意不参与共识的节点。
下文中的实施例1和实施例2分别介绍了对上述两种情况的解决办法,本实施例中不再赘述。
实施例1
需要知道的是,参与共识的节点中处于离线状态的共识节点会降低系统的共识效率,本实施例中提供了一种识别离线状态的参与共识的节点的解决方案,参考图1示出了本发明实施例1提供的一种参与共识的节点的状况评估方法的流程示意图,在本实施例中,该方法包括:
S101:确定目标节点从第一区块到第二区块的参与共识的情况,所述第一区块表示预设的初始区块,所述第二区块的区块号大于所述第一区块的区块号;
本实施例中,假设第二区块的区块号为i+m,第二区块为区块链上产生的任意一个区块,或者也可以为目标节点最后一次参与共识的区块。第一区块为开始统计的区块,区块号可以表示为i。
其中,目标节点从第一区块到第二区块的参与共识的情况信息包括:目标节点从第一区块到第二区块的期望参与共识的次数,目标节点从第一区块到第二区块的实际参与共识的次数。
S102:基于目标节点从第一区块到第二区块的参与共识的情况信息,预测目标节点从第二区块到第三区块的参与共识的次数,得到第一预测值;所述第三区块产生在所述第二区块之后;
本实施例中,假设第二区块的区块号为区块i+m,第三区块的区块号为i+m+n,其中,n与预设的第一阈值有关,预设的第一阈值越大,则n越大,即预设的第一阈值越大,则表示第三区块的区块号越大。
本实施例中,第一预测值与目标节点从第一区块到第二区块的参与共识的情况有关,其中,基于目标节点从第一区块到第二区块的参与共识的情况信息,预测目标节点从第二区块到第三区块的参与共识的次数的方法可以包括多种,优选的,本实施例中公开了如下的方法:
基于目标节点从第一区块到第二区块的期望参与共识的次数和实际参与共识的次数、以及预设的第一阈值,预测目标节点从第一区块到第三区块的参与共识的次数,得到第二预测值;
依据所述第二预测值和所述目标节点从第一区块到第二区块的实际参与共识的次数,计算第一预测值。
举例说明:假设目标节点从第一区块到第二区块的期望参与共识的次数表示为expm,实际参与共识的次数表示为actm,预设的第一阈值表示为Toffline,则第二预测值可以通过如下的公式2)计算:
exp`m+n=MAX(expm,actm)+Toffline 1);
其中,exp`m+n表示第二预测值;
第一预测值可以通过如下的公式2)计算:
exp`n=exp`m+n-expm 2);
其中,exp`n表示第一预测值。
除此之外,还可以通过其它的方式预测目标节点从第一区块到第二区块的期望参与共识的次数,例如可以通过预设的统计模型进行预测,该模型的预测能力与目标节点从第一区块到第二区块的参与共识的情况信息有关。
S103:统计目标节点从第二区块到第三区块的期望参与共识的次数,得到第一期望值,统计目标节点从第二区块到第三区块的实际参与共识的次数,得到第一实际值;
S104:若所述第一期望值、第一实际值和第一预测值的关系满足预设的第一条件,则表示所述目标节点处于离线状态。
本实施例中第一条件可以为:第一期望值大于等于第一预测值,且所述第一实际值等于零。
举例说明:假设第一期望值表示为expn,第一实际值表示为actn,第一预测值表示为exp`n,则第一条件表示为:expn≥exp`n并且actn=0。
举例说明:如图2所示,目标节点从区块i到区块i+m的期望参与的次数为120次,实际参与的次数为125次,预设的第一阈值假设为5,那么第二预测值=MAX(120,125)+5=130,目标节点从区块i+m到区块i+m+n的第一预测值=130-120=10,目标节点从区块i+m到区块i+m+n的期望参与共识的次数为10,目标节点从区块i+m到区块i+m+n的实际参与共识的次数为0,由此满足预设的第一条件,则表示目标节点处于离线状态。
本实施例中,通过对上一个区块的共识交易进行分析,得到目标节点从第一区块到第二区块的参与共识的情况信息,基于目标节点从第一区块到第二区块的参与共识的情况信息,预测目标节点从第二区块到第三区块的参与共识的次数,得到第一预测值,统计所述目标节点从第二区块到第三区块的期望参与共识的次数和实际参与公式的次数,得到第一期望值和第一实际值,若所述第一期望值、第一实际值和第一预测值的关系满足预设的第一条件,则表示所述目标节点处于离线状态。由此实现了在基于VRF的区块链共识过程中,通过算法识别出节点是否处于离线状态,从而避免离线节点对后续共识过程带来的持续负面影响,提升了共识阶段的安全性和可靠性。
实施例2
基于VRF的共识算法,很难识别共识节点恶意不参与共识的情况,但是该种情况会对共识的结果产生很大的影响,为了避免由于共识节点恶意不参与共识的情况,需要将恶意不参与共识的节点识别出来,参考图3示出了本发明实施例2提供的一种共识节点的状况评估方法的流程示意图,在本实施例中,该方法包括:
S201:若目标轮次的共识阶段的共识失败,统计目标轮次共识阶段被选中为选举人的节点的数量,并计算多个节点被选中为选举人的概率;所述多个节点的数量与被选中为选举人的节点的数量一致;
计算所述多个节点被选中为选举人的概率的期望;
本实施例中,共识阶段包括三个不同的阶段:提议阶段、投票阶段和确认阶段,每个阶段会在下述的情况下导致共识失败:
提议阶段:共识节点向全网提交VRF区块提议信息,若该阶段的提议区块数为零则表示该轮共识阶段失败;
投票阶段:所有的提议区块的投票数不超过系统约定的阈值Vv,导致共识失败;
确认阶段:满足投票数的新区块的确认数不超过系统约定的阈值Vf,导致共识失败。
本实施例中,在共识阶段参与共识的节点的数量表示为实际参与共识的节点的数量,例如假设有k个共识节点被选中为选举人,但是在共识阶段,k个选取人中可能只有一部分选举人共识节点参与了投票,表示为参与了共识。
本实施例中,假设总共有n个节点参与共识,其中k个节点被选中为选举人,那么k个节点被选中为选举人的概率表示为如下的公式3):
Figure BDA0003289120250000081
其中,p表示任意一个共识节点被选中为选举人的概率;
k个节点被选举为选举人的概率的期望表示为如下的公式4):
E(X)=np=π 4);
其中,π是本轮共识逻辑期望被选中的节点数,在VRF算法中约定每个共识节点具有相同的权重,也即它们成为选举人的概率是相同的,那么每个共识节点在VRF算法中被选中的概率:p=π/n。
本实施例中,对共识阶段失败的检测包括如下的过程:
在当前区块中对上一个区块提交的交易信息进行分析,得到每一轮次的共识结果;
检测是否存在任意一个轮次的共识失败;
若检测到任意一个轮次的共识失败,则表示为目标轮次的共识失败。
具体的,区块号为i的区块会把区块号为i-1的区块的共识过程中提交的VRF信息(区块提议、区块投票和区块确认)进行聚合打包成为交易信息(例如表示为BVMi-1),该交易信息写入到区块号为i的区块中,智能合约通过执行BVMi-1交易信息可以分析得到区块i-1的共识过程的每一轮次的共识结果;如果第i轮次的共识失败,那么就对第i轮次的不同共识阶段的选中的节点(选举人)个数进行计数操作。
S202:若被选中为选举人的节点的数量、所述多个节点被选中为选举人的期望和预设的第二阈值之间的关系满足预设的第二条件,则表示本轮共识阶段存在恶意不参与共识的共识节点;
本实施例中,预设的第二阈值与多个节点被选举为选举人的概率的标准差有关,其中,标准差可以通过如下的公式5)表示:
Figure BDA0003289120250000091
其中,n远远大于π。
预设的第二阈值是基于标准差确定的,例如Pn=3σ,其中,Pn表示预设的第二阈值。
本实施例中,预设的第二条件包括:被选举为选举人的节点的数量小于多个节点被选举为选举人的概率的期望和第二阈值的差。
举例说明:第二条件可以通过如下的公式6)表示:
k<E(X)-Pn 6);
其中,Pn表示第二阈值,E(X)表示k个节点被选举为选举人的概率的期望。
S203:从目标节点加入共识的第一轮次开始,对目标节点每个轮次的选举人概率进行累加,得到第一累加值;
举例说明:第一累加值可以通过如下的公式7)表示:
θ(k)=∑pi 7);
其中,pi表示共识节点从加入共识的第一个轮次开始,每个共识阶段中选中为选举人的概率值。
S204:从目标节点加入共识的第一轮次开始,对目标节点每个轮次选中的次数进行累加,得到第二累加值;
举例说明:第二累加值可以通过如下的公式8)表示:
H(k)=∑hi 8);
其中,hi表示目标节点从加入共识的第一个轮次开始,每个共识阶段中是否被选中为选举人,hi=1表示是选举人,hi=0表示不是选举人。
S205:基于第一累加值和第二累加值的差与预设的第三阈值的关系,确定所述目标节点是否为嫌疑节点;
举例说明:第一累加值和第二累加值的差可以通过如下的公式9)表示:
Δ(k)=θ(k)-H(k) 9);
其中,Δ(k)表示第一累加值和第二累加值的差。本实施例中,第三阈值可以通过构建大量不同节点行为模拟计算得到。
具体的,S205包括:
若第一累加值和第二累加值的差大于预设的第三阈值,则表示所述目标节点为嫌疑节点。
S206:从嫌疑节点中选取作恶节点。
本实施例中,目标节点恶意不参与共识的情况包括如下的两种情况:
情况一:在共识过程中一直不参与共识;
情况二、阶段性的参与共识,或者可以理解为间隔一段时间参加一次共识。
针对情况一,进一步的,还包括:
若第一累加值和第二累加值的差大于预设的第四阈值,则表示所述目标节点为作恶节点;所述预设的第四阈值大于预设的第三阈值。
或者说,若嫌疑节点的第一累加值和第二累加值的差大于预设的第四阈值,则表示所述嫌疑节点为作恶节点;所述预设的第四阈值大于预设的第三阈值。
针对情况二、进一步的,还包括:
计算每个嫌疑节点连续未选中直至被选中的概率,并根据每个嫌疑节点连续未选中直至被选中的概率确定作恶节点。
举例说明:参考如下的公式10),表示每个嫌疑节点连续未选中直至被选中的概率的计算方法:
Figure BDA0003289120250000111
其中,k表示被选中为选举人的数量,pi表示共识节点从加入共识的第一个轮次开始,每个共识阶段中选中为选举人的概率值。
进一步的,可以将每个嫌疑节点连续未选中直至被选中的概率值进行比较,并将连续未选中直至被选中的概率值较大的前N个嫌疑节点作为作恶节点。
本实施例中,通过概率计算的方式确定共识阶段是否存在节点恶意不参与共识的行为,并在检测到存在节点恶意不参与共识的行为的情况下,对目标节点每个轮次的选中为选举人的概率进行累加,得到第一累加值;从目标节点加入共识的第一轮次开始,对目标节点每个轮次的选中为选举人的次数进行累加,得到第二累加值;基于第一累加值和第二累加值的差与预设的第三阈值的关系,确定所述目标节点是否为嫌疑节点;从嫌疑节点中选取作恶节点。由此实现了识别恶意不参与共识的恶意节点的目的,避免了恶意节点对后续共识过程的影响,从而进一步的提升了共识过程的安全性和可靠性。
实施例3:
参考图4,示出了本发明实施例3提供的一种共识节点的状况评估方法的流程示意图,在本实施例中,该方法包括:
S301:接收上一个区块的共识交易信息;
本实施例中,当前区块i会包含上一个区块i-1的共识交易信息。其中,共识交易信息是由共识节点将区块i-1共识过程中提交的VRF信息(区块提议、区块投票和区块确认)进行聚合打包后生成的,表示为BVMi-1
S302:解析所述上一个区块的共识交易信息,确定是否存在处于离线状态或恶意不参与共识的状态的共识节点;
本实施例中,识别共识节点是否为离线状态的过程,包括:
确定目标节点从第一区块到第二区块的参与共识的情况信息;所述第一区块为预设的初始区块,所述第二区块的区块号大于所述第一区块的区块号;
基于目标节点从第一区块到第二区块的参与共识的情况信息,预测目标节点从第二区块到第三区块的参与共识的次数,得到第一预测值;所述第三区块产生在所述第二区块之后,且所述第三区块的区块号与所述第二区块的区块号和预设的第一阈值有关;
统计所述目标节点从第二区块到第三区块的期望参与共识的次数,得到第一期望值,统计所述目标节点从第二区块到第三区块的实际参与共识的次数,得到第一实际值;
若所述第一期望值、第一实际值和第一预测值的关系满足预设的第一条件,则表示所述目标节点处于离线状态。
具体的,识别共识节点是否为离线状态的过程,参照上述实施例1公开的内容。
本实施例中,识别共识节点是否为恶意不参与共识状态的过程,包括:
若目标轮次的共识阶段的共识失败,统计在目标轮次的共识阶段中被选中为选举人的节点的数量,计算多个节点被选中为选举人的概率;所述多个节点的数量与被选中为选举人的节点的数量一致;
获取第二阈值,若被选中为选举人的节点的数量、所述多个节点被选中为选举人的期望和第二阈值之间的关系满足预设的第二条件,则表示本轮共识阶段存在恶意不参与共识的共识节点;
从目标节点加入共识的第一轮次开始,对目标节点每个轮次的选中为选举人的概率进行累加,得到第一累加值;
从目标节点加入共识的第一轮次开始,对目标节点每个轮次的选中为选举人的次数进行累加,得到第二累加值;
基于第一累加值和第二累加值的差与预设的第三阈值的关系,确定所述目标节点是否为嫌疑节点;
从嫌疑节点中选取作恶节点;所述作恶节点的状态为恶意不参加选举的状态。
具体的,识别节点是否为恶意不参与共识状态的过程,参照上述实施例2公开的内容。
S303:若目标节点的状态信息为离线状态或者为恶意不参与共识的状态,则剔除所述目标节点,得到共识节点集合;所述目标节点为所述共识交易信息中参与共识的节点中的任意一个;
S304:基于所述共识节点集合,执行当前区块的共识交易。
本实施例中,当目标节点为离线状态或者为恶意不参与共识的状态,则剔除目标节点,那么当前区块的参与共识的节点的数量会发生变化。
举例说明:若处于离线状态或者处于恶意不参与共识的状态的共识节点为m个,当前区块的参与共识的节点的数量为n,那么剔除目标节点后下一区块参与共识的节点的数量为n-m个。
本实施例中,在执行当前区块的共识交易之前,先对上一个区块的共识交易进行解析,确定是否存在处于离线状态或恶意不参与共识的状态的共识节点,若目标节点的状态信息为离线状态或者为恶意不参与共识的状态,则剔除目标节点,之后基于所述共识节点集合,执行当前区块的共识交易。由此通过对上一个区块的共识交易信息进行解析的方式,确定了是否存在离线状态或恶意不参与共识的状态的共识节点,从而剔除离线状态或恶意不参与共识的状态的共识节点,由此,避免了离线状态或恶意不参与共识的状态的共识节点对下一个共识阶段的影响,提升了共识阶段的安全性和可靠性。
进一步的,响应于节点加入共识的指令,在当前区块的共识交易之前,在所述共识节点集合中加入节点。
由此,在执行当前区块的共识交易之前,可以先执行节点的加入或者退出共识的操作。
并且,本实施例中,能够在当前区块执行共识交易前剔除前一个区块共识过程中有问题的共识节点,并得到剔除了有问题节点的共识节点集合,并在得到了共识节点集合后,执行当前区块的共识交易。由此,避免了现有技术中基于VRF算法的共识机制必须引入时间纪元的逻辑,也就避免了只能在一个时间纪元后才能执行节点剔除或者加入的操作逻辑,进而避免了存在问题的共识节点对当前区块的共识过程产生不利的影响,提升了共识阶段的安全性和可靠性。
实施例4:
参考图5,示出了本发明实施例提供的一种参与共识的节点的状态评估装置的结构示意图,在本实施例中,该装置包括:
接收单元401,用于接收上一个区块的共识交易信息;
解析单元402,用于解析所述上一个区块的共识交易信息,确定是否存在处于离线状态或恶意不参与共识的状态的共识节点;
剔除单元403,用于若目标节点的状态信息为离线状态或者为恶意不参与共识的状态,则剔除所述目标节点,得到共识节点集合;所述目标节点为所述共识交易信息中参与共识的节点中的任意一个;
共识交易执行单元404,用于基于所述共识节点集合,执行当前区块的共识交易。
可选的,所述解析单元,包括:
第一确定子单元,用于确定目标节点从第一区块到第二区块的参与共识的情况信息;所述第一区块为预设的初始区块,所述第二区块的区块号大于所述第一区块的区块号;
预测子单元,用于基于目标节点从所述第一区块到所述第二区块的参与共识的情况信息,预测目标节点从所述第二区块到第三区块的参与共识的次数,得到第一预测值;所述第三区块的区块号大于所述第二区块的区块号,且所述第三区块的区块号与所述第二区块的区块号和预设的第一阈值有关;
第一统计子单元,用于统计所述目标节点从所述第二区块到所述第三区块的期望参与共识的次数,得到第一期望值,统计所述目标节点从所述第二区块到所述第三区块的参与共识的实际次数,得到第一实际值;
第二确定子单元,用于若所述第一期望值、和第一预测值的关系满足预设的第一条件,则表示所述目标节点处于离线状态。
可选的,所述预测子单元,包括:
第一预测子单元,用于基于目标节点从所述第一区块到所述第二区块的期望参与共识的次数和实际参与共识的次数、以及预设的第一阈值,预测目标节点从第一区块到第三区块的参与共识的次数,得到第二预测值;
第一计算子单元,用于依据所述第二预测值和所述目标节点从第一区块到第二区块的实际参与共识的次数,计算第一预测值。
可选的,所述第一条件,包括:
第一期望值大于等于第一预测值,且所述第一实际值等于零。
可选的,所述解析单元,包括:
第二统计子单元,用于若目标轮次的共识阶段的共识失败,统计在目标轮次的共识阶段被选中为选举人的节点的数量,并计算多个节点被选中为选举人的概率;所述多个节点的数量与被选中为选举人的节点的数量一致;
第二计算子单元,用于计算所述多个节点被选中为选举人的概率的期望;
第三确定子单元,用于获取第二阈值,若被选中为选举人的节点的数量、所述多个节点被选中为选举人的概率的期望和第二阈值之间的关系满足预设的第二条件,则表示本轮次的共识阶段存在恶意不参与共识的共识节点;
第一累加子单元,用于从目标节点加入共识的第一轮次开始,对目标节点每个轮次的被选中为选举人的概率进行累加,得到第一累加值;
第二累加子单元,用于从目标节点加入共识的第一轮次开始,对目标节点每个轮次的被选中为选举人的次数进行累加,得到第二累加值;
第四确定子单元,用于基于第一累加值和第二累加值的差与预设的第三阈值的关系,确定所述目标节点是否为嫌疑节点;
选取子单元,用于从嫌疑节点中选取作恶节点。
可选的,所述第三确定子单元,包括:
第三计算子单元,用于计算多个节点被选中为选举人的标准差;
第四计算子单元,用于依据所述多个节点被选中为选举人的标准差计算第二阈值。
可选的,所述预设的第二条件包括:
所述被选中为选举人的节点的数量小于所述多个节点被选举为选举人的概率的期望和第二阈值的差。
可选的,所述选取子单元,包括:
第一选取子单元,用于若嫌疑节点的第一累加值和第二累加值的差大于预设的第四阈值,则表示所述嫌疑节点为作恶节点;所述预设的第四阈值大于预设的第三阈值。
可选的,所述选取子单元,包括:
第五计算子单元,用于计算每个嫌疑节点连续未选中直至被选中的概率;
第二选取子单元,用于根据每个嫌疑节点连续未选中直至被选中的概率确定作恶节点。
通过本实施例的装置,当前区块在执行当前共识交易之前,先对上一个区块的共识交易进行解析,确定是否存在处于离线状态或恶意不参与共识的状态的共识节点,若目标节点的状态信息为离线状态或者为恶意不参与共识的状态,则剔除目标节点,得到共识节点集合,之后基于该共识节点集合,执行当前区块的共识交易。由此通过对上一个区块的共识交易信息进行解析的方式,确定了是否存在离线状态或恶意不参与共识的状态的共识节点,从而剔除离线状态或恶意不参与共识的状态的共识节点,由此,避免了离线状态或恶意不参与共识的状态的共识节点对下一个共识阶段的影响,提升了共识阶段的安全性和可靠性。
实施例5
参考图6,示出了本发明实施例公开的一种电子设备的结构示意图,在本实施例中,该电子设备包括:
存储器501和处理器502;
所述存储器501用于存储程序,所述处理器502用于在执行所述存储器存储的程序时,执行上述实施例1、实施例2和实施例3所述的参与共识的节点的状况评估方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (11)

1.一种参与共识的节点的状况评估方法,其特征在于,包括:
接收上一个区块的共识交易信息;
确定目标节点从第一区块到第二区块的参与共识的情况信息;所述第一区块为预设的初始区块,所述第二区块的区块号大于所述第一区块的区块号;
基于所述目标节点从所述第一区块到所述第二区块的参与共识的情况信息,预测所述目标节点从所述第二区块到第三区块的参与共识的次数,得到第一预测值;所述第三区块的区块号大于所述第二区块的区块号;
统计所述目标节点从所述第二区块到所述第三区块的期望参与共识的次数,得到第一期望值,统计所述目标节点从所述第二区块到所述第三区块的实际参与共识的次数,得到第一实际值;
若所述第一期望值、第一实际值和第一预测值的关系满足预设的第一条件,则表示所述目标节点处于离线状态,所述第一条件,包括:第一期望值大于等于第一预测值,且所述第一实际值等于零;
若所述目标节点的状态信息为离线状态,则剔除所述目标节点,得到共识节点集合;所述目标节点为所述共识交易信息中参与共识的节点中的任意一个;
基于所述共识节点集合,执行当前区块的共识交易。
2.根据权利要求1所述方法,其特征在于,基于目标节点从第一区块到第二区块的参与共识的情况信息,预测目标节点从所述第二区块到所述第三区块的参与共识的次数,得到第一预测值,包括:
基于目标节点从所述第一区块到所述第二区块的期望参与共识的次数和实际参与共识的次数、以及预设的第一阈值,预测目标节点从第一区块到第三区块的参与共识的次数,得到第二预测值;
依据所述第二预测值和所述目标节点从第一区块到第二区块的参与共识的实际次数,计算第一预测值。
3.一种参与共识的节点的状况评估方法,其特征在于,包括:
接收上一个区块的共识交易信息;
若目标轮次的共识阶段的共识失败,统计在目标轮次的共识阶段被选中为选举人的节点的数量,并计算多个节点被选中为选举人的概率;所述多个节点的数量与被选中为选举人的节点的数量一致;
计算所述多个节点被选中为选举人的概率的期望;
获取第二阈值,若被选中为选举人的节点的数量、所述多个节点被选中为选举人的概率的期望和第二阈值之间的关系满足预设的第二条件,则表示本轮次的共识阶段存在恶意不参与共识的共识节点;
从目标节点加入共识的第一轮次开始,对所述目标节点每个轮次的选举人的概率进行累加,得到第一累加值;
从所述目标节点加入共识的第一轮次开始,对所述目标节点每个轮次选中的次数进行累加,得到第二累加值;
基于第一累加值和第二累加值的差与预设的第三阈值的关系,确定所述目标节点是否为嫌疑节点;
从所述嫌疑节点中选取作恶节点,所述作恶节点的状态为恶意不参加选举的状态;
若所述目标节点的状态信息为恶意不参与共识的状态,则剔除所述目标节点,得到共识节点集合;所述目标节点为所述共识交易信息中参与共识的节点中的任意一个;
基于所述共识节点集合,执行当前区块的共识交易。
4.根据权利要求3所述的方法,其特征在于,所述获取第二阈值,包括:
计算多个节点被选中为选举人的标准差;
依据所述多个节点被选中为选举人的标准差计算第二阈值。
5.根据权利要求4所述的方法,其特征在于,所述预设的第二条件包括:
所述被选中为选举人的数量小于所述多个节点被选中为选举人的概率的期望和第二阈值的差。
6.根据权利要求4所述的方法,其特征在于,所述从嫌疑节点中选取作恶节点,包括:
若嫌疑节点的第一累加值和第二累加值的差大于预设的第四阈值,则表示所述嫌疑节点为作恶节点;所述预设的第四阈值大于预设的第三阈值。
7.根据权利要求4所述的方法,其特征在于,所述从嫌疑节点中选取作恶节点,包括:
计算每个嫌疑节点连续未选中直至被选中的概率;
根据每个嫌疑节点连续未选中直至被选中的概率确定作恶节点。
8.根据权利要求3所述的方法,其特征在于,还包括:
响应于节点加入共识的指令,在当前区块的共识交易之前,在所述共识节点集合中加入节点。
9.一种参与共识的节点的状态评估装置,其特征在于,包括:
接收单元,用于接收上一个区块的共识交易信息;
第一确定子单元,用于确定目标节点从第一区块到第二区块的参与共识的情况信息;所述第一区块为预设的初始区块,所述第二区块的区块号大于所述第一区块的区块号;
预测子单元,用于基于目标节点从所述第一区块到所述第二区块的参与共识的情况信息,预测目标节点从所述第二区块到第三区块的参与共识的次数,得到第一预测值;所述第三区块的区块号大于所述第二区块的区块号,且所述第三区块的区块号与所述第二区块的区块号和预设的第一阈值有关;
第一统计子单元,用于统计所述目标节点从所述第二区块到所述第三区块的期望参与共识的次数,得到第一期望值,统计所述目标节点从所述第二区块到所述第三区块的参与共识的实际次数,得到第一实际值;
第二确定子单元,用于若所述第一期望值、和第一预测值的关系满足预设的第一条件,则表示所述目标节点处于离线状态;
剔除单元,用于若目标节点的状态信息为离线状态,则剔除所述目标节点,得到共识节点集合;所述目标节点为所述共识交易信息中参与共识的节点中的任意一个;
共识交易执行单元,用于基于所述共识节点集合,执行当前区块的共识交易。
10.一种参与共识的节点的状态评估装置,其特征在于,包括:
接收单元,用于接收上一个区块的共识交易信息;
第二统计子单元,用于若目标轮次的共识阶段的共识失败,统计在目标轮次的共识阶段被选中为选举人的节点的数量,并计算多个节点被选中为选举人的概率;所述多个节点的数量与被选中为选举人的节点的数量一致;
第二计算子单元,用于计算所述多个节点被选中为选举人的概率的期望;
第三确定子单元,用于获取第二阈值,若被选中为选举人的节点的数量、所述多个节点被选中为选举人的概率的期望和第二阈值之间的关系满足预设的第二条件,则表示本轮次的共识阶段存在恶意不参与共识的共识节点;
第一累加子单元,用于从目标节点加入共识的第一轮次开始,对目标节点每个轮次的被选中为选举人的概率进行累加,得到第一累加值;
第二累加子单元,用于从目标节点加入共识的第一轮次开始,对目标节点每个轮次的被选中为选举人的次数进行累加,得到第二累加值;
第四确定子单元,用于基于第一累加值和第二累加值的差与预设的第三阈值的关系,确定所述目标节点是否为嫌疑节点;
选取子单元,用于从嫌疑节点中选取作恶节点,所述作恶节点的状态为恶意不参加选举的状态;
剔除单元,用于若目标节点的状态信息为恶意不参与共识的状态,则剔除所述目标节点,得到共识节点集合;所述目标节点为所述共识交易信息中参与共识的节点中的任意一个;
共识交易执行单元,用于基于所述共识节点集合,执行当前区块的共识交易。
11.一种电子设备,其特征在于,包括:
存储器和处理器;
所述存储器用于存储程序,所述处理器用于在执行所述存储器存储的程序时,执行上述权利要求1-2或3-8中任意一项所述的一种参与共识的节点的状况评估方法。
CN202111158191.0A 2021-09-30 2021-09-30 一种共识节点的状况评估方法、装置及电子设备 Active CN113807850B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111158191.0A CN113807850B (zh) 2021-09-30 2021-09-30 一种共识节点的状况评估方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111158191.0A CN113807850B (zh) 2021-09-30 2021-09-30 一种共识节点的状况评估方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN113807850A CN113807850A (zh) 2021-12-17
CN113807850B true CN113807850B (zh) 2023-03-31

Family

ID=78897148

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111158191.0A Active CN113807850B (zh) 2021-09-30 2021-09-30 一种共识节点的状况评估方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN113807850B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110189128A (zh) * 2019-06-06 2019-08-30 西安安盟智能科技股份有限公司 一种用于区块快速生成的分布式共识的算法和装置
CN112039964A (zh) * 2020-08-24 2020-12-04 大连理工大学 一种基于区块链的节点信誉共识方法
CN112883114A (zh) * 2021-02-24 2021-06-01 中国工商银行股份有限公司 应用于区块链的交易处理方法和装置
CN113301047A (zh) * 2021-05-25 2021-08-24 浙江树人学院(浙江树人大学) 一种基于恶意节点攻击检测的车联网节点一致性共识方法
CN113326516A (zh) * 2021-04-22 2021-08-31 远光软件股份有限公司 区块链共识方法、区块链系统及计算机设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11483129B2 (en) * 2018-05-09 2022-10-25 Hefei Dappworks Technology Co., Ltd. Method and apparatus for reaching blockchain consensus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110189128A (zh) * 2019-06-06 2019-08-30 西安安盟智能科技股份有限公司 一种用于区块快速生成的分布式共识的算法和装置
CN112039964A (zh) * 2020-08-24 2020-12-04 大连理工大学 一种基于区块链的节点信誉共识方法
CN112883114A (zh) * 2021-02-24 2021-06-01 中国工商银行股份有限公司 应用于区块链的交易处理方法和装置
CN113326516A (zh) * 2021-04-22 2021-08-31 远光软件股份有限公司 区块链共识方法、区块链系统及计算机设备
CN113301047A (zh) * 2021-05-25 2021-08-24 浙江树人学院(浙江树人大学) 一种基于恶意节点攻击检测的车联网节点一致性共识方法

Also Published As

Publication number Publication date
CN113807850A (zh) 2021-12-17

Similar Documents

Publication Publication Date Title
CN109981328B (zh) 一种故障预警方法及装置
US11444876B2 (en) Method and apparatus for detecting abnormal traffic pattern
JP5874936B2 (ja) 運用管理装置、運用管理方法、及びプログラム
EP2911060B1 (en) Method and device for determining resource leakage and for predicting resource usage state
Hoffmann et al. Advanced failure prediction in complex software systems
JP6183450B2 (ja) システム分析装置、及び、システム分析方法
CN111786818A (zh) 一种区块链共识节点状态监控方法和装置
US20070239629A1 (en) Cluster Trending Method for Abnormal Events Detection
Klerx et al. Model-based anomaly detection for discrete event systems
CN112532455B (zh) 一种异常根因定位方法及装置
CN109344610B (zh) 序列攻击的检测方法及装置
WO2014132611A1 (ja) システム分析装置、及び、システム分析方法
WO2012029500A1 (ja) 運用管理装置、運用管理方法、及びプログラム
Rajagopal et al. Distributed online simultaneous fault detection for multiple sensors
KR102472081B1 (ko) 공정 모니터링 시스템 및 방법
CN112364304B (zh) 一种区块链的日蚀攻击检测方法及装置
CN113807850B (zh) 一种共识节点的状况评估方法、装置及电子设备
CN111062642A (zh) 对象的行业风险程度识别方法、装置以及电子设备
CN112804333A (zh) 出块节点的异常处理方法、装置、设备和存储介质
CN109462510B (zh) 一种cdn节点质量评估的方法及装置
CN115987594A (zh) 一种网络安全日志的异常检测方法、装置及设备
CN115189961A (zh) 一种故障识别方法、装置、设备及存储介质
CN111935279B (zh) 基于区块链和大数据的物联网络维护方法及计算节点
CN111741004B (zh) 一种网络安全态势感知的方法和相关装置
CN111258788B (zh) 磁盘故障预测方法、装置及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant