【技术实现步骤摘要】
一种区块链节点共识方法、装置、电子设备及存储介质
本专利技术涉及计算机
,具体涉及一种区块链节点共识方法、装置、电子设备及存储介质。
技术介绍
区块链技术被认为是继蒸汽机、电力、互联网之后的颠覆性创新。如果说蒸汽机和电力解放了生产力,互联网改变了信息传递的方式,那么区块链作为构造信任的机器,将可能改变价值传递方式。区块链从本质上讲,它是一个共享数据库,存储于其中的数据或信息,具有“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征。基于这些特征,区块链技术奠定了坚实的“信任“基础,创造了可靠的“合作”机制,具有广阔的运用前景。从科技层面来看,区块链涉及数学、密码学、互联网和计算机编程等很多科学技术问题。从应用视角来看,简单来说,区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。这些特点保证了区块链的“诚实”与“透明”,为区块链创造信任奠定基础。而区块链丰富的应用场景,基本上都基于区块链能够解决信息不对称问题,实现多个主体之间的协作信任与一致行动。对于区块链各节点来说,保持各节点数据一致性是非常重要的。Raft协议是为了使服务器节点数据保持一致性的一种共识算法,Raft协议主要使用了两种策略。一是将在Raft体系中,有一个强leader,由它全权负责接收客户端的请求命令,并将命令作为日志条目赋值给其他服务器,在确认安全的时候,将日志命令提交执行。二是当leader故障时,会选举产生一个新的leader。在强leader的帮助下 ...
【技术保护点】
1.一种区块链节点共识方法,其特征在于,包括:/n为每个区块增加区块校验值,所述区块校验值由前一个区块的全部内容合并当前区块的数据并进行哈希计算后确定;/n根据各节点最大区块编号和最大区块编号对应的区块校验值确定区块链的领导节点,以及,根据各节点最大区块编号对应的区块校验值检查各节点数据的一致性。/n
【技术特征摘要】
1.一种区块链节点共识方法,其特征在于,包括:
为每个区块增加区块校验值,所述区块校验值由前一个区块的全部内容合并当前区块的数据并进行哈希计算后确定;
根据各节点最大区块编号和最大区块编号对应的区块校验值确定区块链的领导节点,以及,根据各节点最大区块编号对应的区块校验值检查各节点数据的一致性。
2.根据权利要求1所述的区块链节点共识方法,其特征在于,所述为每个区块增加区块校验值,所述区块校验值由前一个区块的全部内容合并当前区块的数据并进行哈希计算后确定,具体包括:
在区块链底层为每个区块建立区块数据结构,所述区块数据结构包括:区块编号、数据值、前一区块编号、区块校验值和时间戳;其中,区块编号从统一的创世区块开始,创世编号为0,后面出现的区块编号顺序增加;数据值为外界传入的具体数据;前一区块编号为前一个区块的编号,与本区块编号相差整数1,时间戳为领导节点存储区块的具体时间;所述区块校验值的计算方式为:将前一区块的所有值进行序列化,得到前一区块序列化值,将前一区块序列化值叠加本区块的数据值,得到原始数值,应用国密SM3哈希散列加密算法,对所述原始数值进行哈希计算,得到本区块的区块校验值。
3.根据权利要求2所述的区块链节点共识方法,其特征在于,所述根据各节点最大区块编号和最大区块编号对应的区块校验值确定区块链的领导节点,以及,根据各节点最大区块编号对应的区块校验值检查各节点数据的一致性,具体包括:
在预设时间内未收到领导节点的心跳时,各群众节点将自身节点转换成候选节点,并向除自身节点以外的其他各节点发送投票请求;所述投票请求中包括:本节点最大区块编号和最大区块编号对应的区块校验值;其中,所述最大区块编号的具体确定方法为:自身节点根据区块校验值就是前一个区块所有值加本区块数据值,然后取哈希这一逻辑,对自身区块链做自检,在不能满足这个条件时,则自身节点的最大区块编号为首次不能满足的区块编号减去1;
其他各节点在接收到投票请求后,判断是否满足下述条件,并在确定满足下述条件后为候选节点投票:条件1:候选节点的最大区块编号不低于最近收到的来源于领导节点的最大区块编号和自身的最大区块编号;条件2:候选节点的最大区块编号对应的区块校验值和最近收到的来源于领导节点的最大区块编号对应的区块校验值以及自己节点的最大区块编号对应的区块校验值一致;条件3:选举节点也处于心跳超时状态;
在确定候选节点收到的投票数量满足预设条件后,将候选节点转变成领导节点,并在成为领导节点的第一时间向除自身节点以外的其他节点发送心跳,所述其他节点在收到心跳后,第...
【专利技术属性】
技术研发人员:王奇,王海英,
申请(专利权)人:中信梧桐港供应链管理有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。