【技术实现步骤摘要】
一种区块自检及同步方法及装置
本申请涉及区块链
,特别涉及一种区块自检及同步方法及装置。
技术介绍
区块链技术,是一种基于去中心化分布式协议、共识算法、非对称密钥签名、哈希等技术,构建的能安全地存储数字资产信息,信息不可伪造和篡改,区块链网络上的所有节点各自执行交易,并共同完成结果确认,由共识算法保证各节点执行交易的一致性。区块链网络中所有节点维护一个公共账本(即,区块链),并保证公共账本不可伪造和篡改。区块链网络中,在一个节点启动时,可能会存在本节点的区块落后其它节点的情况,当本节点的区块落后其它节点时,会影响本节点的功能,但是,如何降低对节点功能的影响成为问题。
技术实现思路
为解决上述技术问题,本申请实施例提供一种区块自检及同步方法及装置,以达到降低对节点功能的影响的目的,技术方案如下:一种区块自检及同步方法,包括:在区块链网络中的第一节点启动时,获取所述区块链网络中共识节点的个数及所述区块链网络中各个共识节点的最大区块高度,所述区块链网络包括多个共识节点,所述第一节点 ...
【技术保护点】
1.一种区块自检及同步方法,其特征在于,包括:/n在区块链网络中的第一节点启动时,获取所述区块链网络中共识节点的个数及所述区块链网络中各个共识节点的最大区块高度,所述区块链网络包括多个共识节点,所述第一节点为所述区块链网络包括的多个共识节点中的其中一个,各个所述共识节点分别存储同一个区块链;/n基于所述区块链网络中共识节点的个数及各个所述共识节点的最大区块高度,确定区块安全高度;/n基于所述区块安全高度及所述第一节点的最大区块高度,从所述第一节点的区块链中选取一个区块,作为待验证区块;/n验证所述待验证区块的数据状态与所述区块链网络中各个第一区块的数据状态是否一致,所述第一 ...
【技术特征摘要】
1.一种区块自检及同步方法,其特征在于,包括:
在区块链网络中的第一节点启动时,获取所述区块链网络中共识节点的个数及所述区块链网络中各个共识节点的最大区块高度,所述区块链网络包括多个共识节点,所述第一节点为所述区块链网络包括的多个共识节点中的其中一个,各个所述共识节点分别存储同一个区块链;
基于所述区块链网络中共识节点的个数及各个所述共识节点的最大区块高度,确定区块安全高度;
基于所述区块安全高度及所述第一节点的最大区块高度,从所述第一节点的区块链中选取一个区块,作为待验证区块;
验证所述待验证区块的数据状态与所述区块链网络中各个第一区块的数据状态是否一致,所述第一区块为区块高度与所述待验证区块的区块高度相同的区块;
若均一致,则基于所述区块安全高度,对所述第一节点进行区块同步。
2.根据权利要求1所述的方法,其特征在于,所述验证所述待验证区块的数据状态与所述区块链网络中各个第一区块的数据状态是否一致,包括:
计算所述待验证区块中数据的哈希值,并比较所述待验证区块中数据的哈希值与所述待验证区块的区块头中的哈希值是否一致;
若一致,则获取所述区块链网络中各个第一区块的区块头中的哈希值,并分别比较各个所述第一区块的区块头中的哈希值与所述待验证区块中数据的哈希值是否一致。
3.根据权利要求1或2所述的方法,其特征在于,所述基于所述区块链网络中共识节点的个数及各个所述共识节点的区块高度,确定区块安全高度,包括:
对各个所述共识节点的最大区块高度进行升序排序,得到区块高度序列;
从所述区块高度序列中选择排列位置为[(N-1)/3]的区块高度,作为区块安全高度,所述N为所述区块链网络中共识节点的个数。
4.根据权利要求3所述的方法,其特征在于,所述基于所述区块安全高度及所述第一节点的区块高度,从所述第一节点的区块链中选取一个区块,作为待验证区块,包括:
比较所述第一节点的最大区块高度和所述区块安全高度;
若所述第一节点的最大区块高度大于所述区块安全高度,则将所述第一节点的区块链中区块高度为所述区块安全高度的区块,作为待验证区块;
若所述第一节点的最大区块高度小于所述区块安全高度,则将所述第一节点的区块链中区块高度为所述第一节点的最大区块高度的区块,作为待验证区块。
5.根据权利要求1所述的方法,其特征在于,所述基于所述区块安全高度,对所述第一节点进行区块同步,包括:
基于所述区块安全高度和所述第一节点的最大区块高度,确定可同步到的区块高度;
若所述第一节点的最大区块高度不小于所述可同步到的区块高度,则不进行区块同步;
若所述第一节点的最大区块高度小于所述可同步到的区块高度,则从所述区块链网...
【专利技术属性】
技术研发人员:李成才,邓柯,
申请(专利权)人:成都质数斯达克科技有限公司,
类型:发明
国别省市:四川;51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。