区块链共识节点校验方法、装置、设备以及存储介质制造方法及图纸

技术编号:24995854 阅读:14 留言:0更新日期:2020-07-24 17:58
本申请实施例提供了一种区块链共识节点校验方法、装置、设备以及存储介质,该方法包括:获取至少一个共识节点分别发送的消息数据,根据消息数据确定至少一个共识节点分别对应的共识校验信息;将各共识节点分别对应的共识校验信息均确定为待校验信息,得到至少两个待校验信息,从至少两个待校验信息中确定目标校验信息;若目标校验信息的数量达到数量阈值,且当前共识节点的待校验信息与目标校验信息相同,则确定当前共识节点属于正常共识节点;若目标校验信息的数量达到数量阈值,且当前共识节点的待校验信息与目标校验信息不同,则确定当前共识节点属于异常共识节点。采用本申请,可以有效保证共识的成功率,以提高区块链的共识效率。

【技术实现步骤摘要】
区块链共识节点校验方法、装置、设备以及存储介质
本申请涉及区块链
,尤其涉及区块链共识节点校验方法、装置、设备以及存储介质。
技术介绍
区块链是一种去中心化的分布式账本系统,具有数据不可篡改、去中心化、开放性的特点。共识机制作为区块链技术中的核心,可以保证最新区块被准确添加至区块链,以及节点存储的区块链信息一致不分叉甚至可以抵御恶意攻击,共识节点在共识机制中具有重要作用。现有技术中,区块链网络中的共识节点通过对生成的新区块进行验证,在完成对新区块的验证后,每个共识节点均需要将验证结果广播给区块链网络中的其他共识节点,每个共识节点在接收到其余共识节点的验证结果后,方可确定新区块的有效性。然而,区块链网络中的共识节点可能会存在网络故障,即区块链网络中可能会存在处于无效状态的共识节点,这些处于无效状态的共识节点是无法对新区块进行验证的,因此,当区块链网络中存在过多处于无效状态的共识节点时,就难以保证共识的成功率,会造成区块链的共识效率低下。
技术实现思路
本申请实施例提供一种区块链共识节点校验方法、装置、设备以及存储介质,可以有效保证共识的成功率,以提高区块链的共识效率。本申请实施例一方面提供了一种区块链共识节点校验方法,包括:获取区块链网络中至少一个共识节点分别发送的消息数据,根据消息数据确定至少一个共识节点分别对应的共识校验信息;至少一个共识节点为区块链网络中除当前共识节点之外的其余共识节点;将至少一个共识节点和当前共识节点分别对应的共识校验信息均确定为待校验信息,得到至少两个待校验信息,根据至少两个待校验信息中属于相同的待校验信息的数量,从至少两个待校验信息中确定目标校验信息;若目标校验信息的数量大于或等于数量阈值,且当前共识节点的待校验信息与目标校验信息相同,则确定当前共识节点属于正常共识节点;若目标校验信息的数量大于或等于数量阈值,且当前共识节点的待校验信息与目标校验信息不相同,则确定当前共识节点属于异常共识节点。本申请实施例一方面提供了一种区块链共识节点校验装置,其特征在于,包括:获取模块,用于获取区块链网络中至少一个共识节点分别发送的消息数据,根据消息数据确定至少一个共识节点分别对应的共识校验信息;至少一个共识节点为区块链网络中除当前共识节点之外的其余共识节点;确定模块,用于将至少一个共识节点和当前共识节点分别对应的共识校验信息均确定为待校验信息,得到至少两个待校验信息,根据至少两个待校验信息中属于相同的待校验信息的数量,从至少两个待校验信息中确定目标校验信息;校验模块,用于若目标校验信息的数量大于或等于数量阈值,且当前共识节点的待校验信息与目标校验信息相同,则确定当前共识节点属于正常共识节点;上述校验模块,还用于若目标校验信息的数量大于或等于数量阈值,且当前共识节点的待校验信息与目标校验信息不相同,则确定当前共识节点属于异常共识节点。其中,消息数据包括应答数据包;获取模块包括:请求发送单元,用于向区块链网络中的至少一个共识节点发送请求数据包,以使至少一个共识节点获取与请求数据包相关联的应答数据包;请求数据包用于确认当前共识节点与至少一个共识节点之间的数据共识状态;应答接收单元,用于接收至少一个共识节点分别返回的应答数据包,根据应答数据包中的共识区块高度和共识阶段,确定至少一个共识节点分别对应的共识校验信息。其中,请求发送单元具体用于:通过心跳机制,按照时间频率信息向区块链网络中的至少一个共识节点发送请求数据包,以使至少一个共识节点获取与请求数据包相关联的应答数据包。其中,消息数据包括共识消息;获取模块包括:共识消息获取单元,用于获取区块链网络中至少一个共识节点分别广播的共识消息,从共识消息中分别获取与至少一个共识节点相关联的共识区块高度和共识阶段;校验信息确定单元,用于根据共识区块高度与共识阶段,确定至少一个共识节点分别对应的共识校验信息。其中,确定模块包括:分类单元,用于对至少两个待校验信息进行分类,得到至少一个信息类别;相同的信息类别具有相同的待校验信息;统计单元,用于分别统计每个信息类别所包含的待校验信息的数量,将最大的数量所对应的信息类别中的待校验信息确定为目标校验信息。其中,该装置还包括:条件确定模块,用于若目标校验信息对应的数量小于数量阈值,则确定区块链网络中的共识节点不满足共识处理条件;暂停模块,用于暂停执行区块链网络中的共识处理过程,直至区块链网络中的共识节点满足共识处理条件。其中,该装置还包括:区块高度确定模块,用于将目标校验信息中的共识区块高度确定为第一区块高度,将当前共识节点对应的待校验信息中的共识区块高度确定为第二区块高度;第一同步模块,用于若第二区块高度小于第一区块高度,则获取第二区块高度至第一区块高度所对应的共识区块,根据共识区块对当前共识节点中的区块数据进行同步。其中,该装置还包括:共识节点确定模块,用于若第一区块高度等于第二区块高度,则将当前共识节点对应的待校验信息中的共识阶段确定为第一共识阶段,将目标校验信息中的共识阶段确定为第二共识阶段;第二同步模块,用于获取第一共识阶段至第二共识阶段的触发消息数据,根据触发消息数据对当前共识节点中的消息进行同步。其中,该装置还包括:候选节点确定模块,用于将目标校验信息中的共识区块高度确定为第一区块高度,从至少一个共识节点中确定候选共识节点;候选共识节点对应的共识区块高度大于第一区块高度;区块获取模块,用于从候选共识节点中获取第一区块高度对应的区块,作为待验证区块;工作状态确定模块,用于根据目标校验信息对应的共识节点对待验证区块的验证结果,确定候选共识节点的工作状态信息。其中,工作状态确定模块包括:第一比较单元,用于若目标校验信息对应的共识节点的验证结果中通过验证的数值小于目标数值,则确定候选共识节点属于无效工作状态;第二比较单元,用于若目标校验信息对应的共识节点的验证结果中通过验证的数值大于或等于目标数值,则确定候选共识节点属于有效工作状态。本申请实施例一方面提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本申请实施例中一方面中方法的步骤。本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行如本申请实施例中一方面中方法的步骤。本申请实施例可以通过获取区块链网络中至少一个共识节点分别发送的消息数据,根据消息数据确定至少一个共识节点分别对应的共识校验信息,根据所有共识校验信息中属于相同共识校验信息的数量确定目标校验信息,若目标校验信息的数量大于或等于数量阈值,且当前共识节点的共识校验信息与目标校验信息相同,则确定当前共识节点属于正常共识节点;若目标校验信息的数本文档来自技高网...

【技术保护点】
1.一种区块链共识节点校验方法,其特征在于,包括:/n获取区块链网络中至少一个共识节点分别发送的消息数据,根据所述消息数据确定所述至少一个共识节点分别对应的共识校验信息;所述至少一个共识节点为所述区块链网络中除当前共识节点之外的其余共识节点;/n将所述至少一个共识节点和所述当前共识节点分别对应的共识校验信息均确定为待校验信息,得到至少两个待校验信息,根据所述至少两个待校验信息中属于相同的待校验信息的数量,从所述至少两个待校验信息中确定目标校验信息;/n若所述目标校验信息的数量大于或等于数量阈值,且所述当前共识节点的待校验信息与所述目标校验信息相同,则确定所述当前共识节点属于正常共识节点;/n若所述目标校验信息的数量大于或等于所述数量阈值,且所述当前共识节点的待校验信息与所述目标校验信息不相同,则确定所述当前共识节点属于异常共识节点。/n

【技术特征摘要】
1.一种区块链共识节点校验方法,其特征在于,包括:
获取区块链网络中至少一个共识节点分别发送的消息数据,根据所述消息数据确定所述至少一个共识节点分别对应的共识校验信息;所述至少一个共识节点为所述区块链网络中除当前共识节点之外的其余共识节点;
将所述至少一个共识节点和所述当前共识节点分别对应的共识校验信息均确定为待校验信息,得到至少两个待校验信息,根据所述至少两个待校验信息中属于相同的待校验信息的数量,从所述至少两个待校验信息中确定目标校验信息;
若所述目标校验信息的数量大于或等于数量阈值,且所述当前共识节点的待校验信息与所述目标校验信息相同,则确定所述当前共识节点属于正常共识节点;
若所述目标校验信息的数量大于或等于所述数量阈值,且所述当前共识节点的待校验信息与所述目标校验信息不相同,则确定所述当前共识节点属于异常共识节点。


2.根据权利要求1所述的方法,其特征在于,所述消息数据包括应答数据包;
所述获取区块链网络中至少一个共识节点分别发送的消息数据,根据所述消息数据确定所述至少一个共识节点分别对应的共识校验信息,包括:
向所述区块链网络中的至少一个共识节点发送请求数据包,以使所述至少一个共识节点获取与所述请求数据包相关联的应答数据包;所述请求数据包用于确认所述当前共识节点与所述至少一个共识节点之间的数据共识状态;
接收所述至少一个共识节点分别返回的所述应答数据包,根据所述应答数据包中的共识区块高度和共识阶段,确定所述至少一个共识节点分别对应的共识校验信息。


3.根据权利要求2所述的方法,其特征在于,所述向所述区块链网络中的至少一个共识节点发送请求数据包,以使所述至少一个共识节点获取与所述请求数据包相关联的应答数据包,包括:
通过心跳机制,按照时间频率信息向所述区块链网络中的至少一个共识节点发送请求数据包,以使所述至少一个共识节点获取与所述请求数据包相关联的应答数据包。


4.根据权利要求1所述的方法,其特征在于,所述消息数据包括共识消息;
所述获取区块链网络中至少一个共识节点分别发送的消息数据,根据所述消息数据确定所述至少一个共识节点分别对应的共识校验信息,包括:
获取区块链网络中至少一个共识节点分别广播的共识消息,从所述共识消息中分别获取与所述至少一个共识节点相关联的共识区块高度和共识阶段;
根据所述共识区块高度与所述共识阶段,确定所述至少一个共识节点分别对应的共识校验信息。


5.根据权利要求1所述的方法,其特征在于,所述根据所述至少两个待校验信息中属于相同的待校验信息的数量,从所述至少两个待校验信息中确定目标校验信息,包括:
对所述至少两个待校验信息进行分类,得到至少一个信息类别;相同的信息类别具有相同的待校验信息;
分别统计每个信息类别所包含的待校验信息的数量,将最大的数量所对应的信息类别中的待校验信息确定为所述目标校验信息。


6.根据权利要求1所述的方法,其特征在于,还包括:
若所述目标校验信息对应的数量小于所述数量阈值,则确定所述区块链网络中的共识节点不满足共识处理条件;
暂停执行所述区块链网络中的共识处理过程,直至所述区块链网络中的共识节点满足共识处理条件。<...

【专利技术属性】
技术研发人员:刘攀
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1