【技术实现步骤摘要】
区块同步方法、装置、计算机以及存储介质
本申请涉及区块链
,尤其涉及一种区块同步方法、装置、计算机以及存储介质。
技术介绍
由于区块链的去中心及防篡改的特性,使得区块链的应用越来越广泛,在区块链中节点间进行区块同步时,确保区块数据的准确性也就极为重要。当前,在区块链中的节点间进行区块同步时,正在同步区块的节点一般通过先同步区块的区块头,校验区块头中所包含的前继区块哈希和该区块对应的前继区块的哈希值是否一致,在两者一致的情况下,将该区块写入该节点的账本中,这种基于哈希值对比的简单校验,使得该节点同步的区块中可能存在部分数据的真实性无法得到验证,也就可能导致存在该节点所同步的区块与合法的核心节点中的区块不一致的情况,从而降低同步的区块的真实有效性。
技术实现思路
本申请实施例提供了一种区块同步方法和装置,可以提高同步的区块的准确性。本申请实施例一方面提供了一种区块同步方法,包括:第一节点设备获取第二节点设备发送的交易区块,所述交易区块的区块头中包括多个核心节点的投票信息及区块头属性参数;检测所述区块头属性参数的合法性;根据所述交易区块的区块头中的所述投票信息确定所述交易区块的共识结果;若所述区块头属性参数为合法参数,且所述共识结果为共识成功结果,则将所述交易区块加入所述第一节点设备对应的交易账本中。本申请实施例一方面提供了一种区块同步装置,所述装置包括:第一获取模块,用于第一节点设备获取第二节点设备发送的交易区块,所述交易区块的区块头中包括 ...
【技术保护点】
1.一种区块同步方法,其特征在于,所述方法包括:/n第一节点设备获取第二节点设备发送的交易区块,所述交易区块的区块头中包括多个核心节点的投票信息及区块头属性参数;/n检测所述区块头属性参数的合法性;/n根据所述交易区块的区块头中的所述投票信息确定所述交易区块的共识结果;/n若所述区块头属性参数为合法参数,且所述共识结果为共识成功结果,则将所述交易区块加入所述第一节点设备对应的交易账本中。/n
【技术特征摘要】
1.一种区块同步方法,其特征在于,所述方法包括:
第一节点设备获取第二节点设备发送的交易区块,所述交易区块的区块头中包括多个核心节点的投票信息及区块头属性参数;
检测所述区块头属性参数的合法性;
根据所述交易区块的区块头中的所述投票信息确定所述交易区块的共识结果;
若所述区块头属性参数为合法参数,且所述共识结果为共识成功结果,则将所述交易区块加入所述第一节点设备对应的交易账本中。
2.如权利要求1所述的方法,其特征在于,所述投票信息包括投票区块哈希;所述方法还包括:
根据所述区块头属性参数确定所述交易区块的区块头哈希;
所述根据所述交易区块的区块头中的所述投票信息确定所述交易区块的共识结果,包括:
对比所述区块头哈希与多个所述投票信息对应的投票区块哈希;
若多个所述投票信息中存在非法投票信息,则确定所述交易区块的所述共识结果为共识失败结果;所述非法投票信息对应的投票区块哈希与所述区块头哈希不同;
若所述多个投票信息均为合法投票信息,则确定所述交易区块的所述共识结果为所述共识成功结果。
3.如权利要求1所述的方法,其特征在于,所述交易区块的区块头中的所述投票信息还包括对应核心节点的标识及投票签名;
所述根据所述交易区块的区块头中的所述投票信息确定所述交易区块的共识结果,包括:
获取合法核心节点列表;所述合法核心节点列表包括所述多个核心节点的标识及每个标识对应的公钥;
若所述多个核心节点中存在不属于所述合法核心节点列表的核心节点,则确定所述交易区块的所述共识结果为共识失败结果;
若所述多个核心节点均属于所述合法核心节点列表,则根据所述核心节点的标识获取所述核心节点的公钥,采用所述核心节点的公钥对对应核心节点的投票签名进行验签;
若所述多个核心节点中存在投票签名验签失败的核心节点,则确定所述交易区块的所述共识结果为共识失败结果;
若所述多个核心节点的投票签名均验签成功,则确定所述交易区块的所述共识结果为所述共识成功结果。
4.如权利要求1所述的方法,其特征在于,所述根据所述交易区块的区块头中的所述投票信息确定所述交易区块的共识结果,包括:
将所述多个核心节点的投票信息中投票成功的投票信息确定为目标投票信息,统计所述目标投票信息的投票数量;
若所述投票数量小于投票阈值,则确定所述交易区块的所述共识结果为共识失败结果;
若所述投票数量大于或等于所述投票阈值,则确定所述交易区块的所述共识结果为所述共识成功结果。
5.如权利要求1所述的方法,其特征在于,所述区块头属性参数包括所述交易区块的前继哈希值及所述交易区块的区块高度;
所述检测所述区块头属性参数的合法性,包括:
获取所述交易区块的所述前继哈希值及所述区块高度;
根据所述区块高度确定所述交易区块的前继区块高度,基于所述前继区块高度从所述交易账本中查找所述交易区块的前继区块;
若未查找到所述前继区块,则确定所述区块头属性参数为非法参数;
若查找到所述前继区块,则获取所述前继区块的区块头哈希值,若所述前继区块的区块头哈希值与所述前继哈希值不同,则确定所述区块头属性参数为非法参数;
若所述前继区块的区块头哈希值与所述前继哈希值相同,则确定所述区块头属性参数为所述合法参数。
6.如权利要求1所述的方法,其特征在于,所述检测所述区块头属性参数的合法性,包括:
获取区块头属性集合,所述区块头属性集合包括多个区块头属性;
从所述交易区块的区块头中查找每个区块头属性对应的区块头属性参数;
若所述多个区块头属性中存在缺失区块头属性,则确定所述区块头属性参数为非法参数;所述缺失区块头属性在所述区块头中无对应的所述区块头属性参数。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述交易区块的区块体中的交易数据,根据所述交易数据...
【专利技术属性】
技术研发人员:刘攀,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。