区块链共识机制、设备及计算机可读存储介质制造技术

技术编号:20687189 阅读:28 留言:0更新日期:2019-03-27 20:42
本发明专利技术实施例提供一种区块链共识机制、设备及计算机可读存储介质。本发明专利技术实施例通过区块链节点获取区块链中第N‑1个区块的第一哈希值,计算所述区块链节点生成的第N个区块的第二哈希值,若在预设时间内,所述区块链节点计算的第二哈希值与所述第一哈希值的差值的绝对值比所述其他区块链节点计算的第二哈希值与所述第一哈希值的差值的绝对值小,或者所述区块链节点计算的第二哈希值与所述第一哈希值的差值的绝对值小于预设阈值,则所述区块链节点获得所述第N个区块的记账权,相比于POW共识机制,生成一个新区块不需要耗费大量的计算量,节省了能源,另外,相比于Pos、DPos等共识机制,公平性较高。

【技术实现步骤摘要】
区块链共识机制、设备及计算机可读存储介质
本专利技术实施例涉及通信
,尤其涉及一种区块链共识机制、设备及计算机可读存储介质。
技术介绍
区块链的核心是共识机制,共识机制决定了区块链的实现形式,决定了信任的方式和规则,从而决定了区块链的不同应用场景。区块链每个携带信息区块的增加,都要基于一定的机制和算法。目前常见的实现区块链的方式有工作量证明(ProofOfWork,POW)、权益证明(ProofofStake,Pos)、股份授权证明(DelegatedProofofStake,DPos)等共识机制,但是,对于POW共识机制,生成一个新区块需要耗费大量的计算量,导致能源浪费。而Pos、DPos等共识机制的公平性较差。
技术实现思路
本专利技术实施例提供一种区块链共识机制、设备及计算机可读存储介质,以节省能源、提高公平性。第一方面,本专利技术实施例提供一种区块链共识机制,包括:区块链节点获取区块链中第N-1个区块的第一哈希值;所述区块链节点计算所述区块链节点生成的第N个区块的第二哈希值,所述区块链节点和其他区块链节点抢夺第N个区块的记账权,所述区块链节点生成的第N个区块包括所述区块链节点预期得到的奖励金额,所述其他区块链节点生成的第N个区块包括所述其他区块链节点预期得到的奖励金额;若在预设时间内,所述区块链节点计算的第二哈希值与所述第一哈希值的差值的绝对值比所述其他区块链节点计算的第二哈希值与所述第一哈希值的差值的绝对值小,或者所述区块链节点计算的第二哈希值与所述第一哈希值的差值的绝对值小于预设阈值,则所述区块链节点获得所述第N个区块的记账权,其中,所述预设时间是区块链网络中生成一个新区块所需的最长时间。第二方面,本专利技术实施例提供一种区块链节点,包括:存储器;处理器;通讯接口;以及计算机程序;其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以下操作:获取区块链中第N-1个区块的第一哈希值;计算所述区块链节点生成的第N个区块的第二哈希值,所述区块链节点和其他区块链节点抢夺第N个区块的记账权,所述区块链节点生成的第N个区块包括所述区块链节点预期得到的奖励金额,所述其他区块链节点生成的第N个区块包括所述其他区块链节点预期得到的奖励金额;若在预设时间内,所述区块链节点计算的第二哈希值与所述第一哈希值的差值的绝对值比所述其他区块链节点计算的第二哈希值与所述第一哈希值的差值的绝对值小,或者所述区块链节点计算的第二哈希值与所述第一哈希值的差值的绝对值小于预设阈值,则所述区块链节点获得所述第N个区块的记账权,其中,所述预设时间是区块链网络中生成一个新区块所需的最长时间。第三方面,本专利技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现第一方面所述的方法。本专利技术实施例提供的区块链共识机制、设备及计算机可读存储介质,通过区块链节点获取区块链中第N-1个区块的第一哈希值,计算所述区块链节点生成的第N个区块的第二哈希值,若在预设时间内,所述区块链节点计算的第二哈希值与所述第一哈希值的差值的绝对值比所述其他区块链节点计算的第二哈希值与所述第一哈希值的差值的绝对值小,或者所述区块链节点计算的第二哈希值与所述第一哈希值的差值的绝对值小于预设阈值,则所述区块链节点获得所述第N个区块的记账权,相比于POW共识机制,生成一个新区块不需要耗费大量的计算量,节省了能源,另外,相比于Pos、DPos等共识机制,公平性较高。附图说明图1为本专利技术实施例提供的区块链共识机制流程图;图2为本专利技术实施例提供的区块链节点的示意图;图3为本专利技术另一实施例提供的区块链共识机制流程图;图4为本专利技术实施例提供的区块链节点的结构示意图。通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。本专利技术提供的区块链共识机制,旨在解决现有技术的如上技术问题。下面以具体地实施例对本专利技术的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本专利技术的实施例进行描述。图1为本专利技术实施例提供的区块链共识机制流程图。本专利技术实施例针对现有技术的如上技术问题,提供了区块链共识机制,该方法具体步骤如下:步骤101、区块链节点获取区块链中第N-1个区块的第一哈希值。如图2所示,区块链网络中包括区块链节点1、区块链节点2、区块链节点3,此处只是示意性说明,并不限定该区块链网络的具体结构,也不限定该区块链网络中区块链节点的个数。假设在该区块链网络中,第N-1个区块已经生成,当前时刻区块链节点1、区块链节点2、区块链节点3抢夺第N个区块的记账权。区块链节点1、区块链节点2、区块链节点3可分别从第N-1个区块中按照某种算法得到一个随机目标数,该随机目标数具体可以是第N-1个区块的哈希值,此处将第N-1个区块的哈希值记为第一哈希值例如hash1。在其他实施例中,该随机目标数不限于是该第N-1个区块的哈希值,还可以是与该第N-1个区块相关的其他随机数。步骤102、所述区块链节点计算所述区块链节点生成的第N个区块的第二哈希值,所述区块链节点和其他区块链节点抢夺第N个区块的记账权,所述区块链节点生成的第N个区块包括所述区块链节点预期得到的奖励金额,所述其他区块链节点生成的第N个区块包括所述其他区块链节点预期得到的奖励金额。在本实施例中,区块链节点1、区块链节点2、区块链节点3在对第N个区块的记账权进行抢夺时,区块链节点1、区块链节点2、区块链节点3分别选择了各自预期得到的奖励金额,例如,区块链节点1预期得到的奖励金额为MONEY-A,区块链节点2预期得到的奖励金额为MONEY-B,区块链节点3预期得到的奖励金额为MONEY-C。区块链节点1计算出包括MONEY-A在内的第N个区块的哈希值记为HASH-A,区块链节点2计算出包括MONEY-B在内的第N个区块的哈希值记为HASH-B,区块链节点3计算出包括MONEY-C在内的第N个区块的哈希值记为HASH-C,此处将第N个区块的哈希值记为第二哈希值。可选的,不同区块链节点生成的第N个区块可能不同,且不同区块链节点计算出的第N个区块的哈希值可能也不同。步骤103、若在预设时间内,所述区块链节点计算的第二哈希值与所述第一哈希值的差值的绝对值比所述其他区块链节点计算的第二哈希值与所述第一哈希值的差值的绝对值小,或者所述区块链节点计算的第二哈希值与所述第一哈希值的差值的绝对值小于预设阈值,则所述区块链节点获得所述第N个区块的记账权,其中,所述预设时间是区块链网络中生成一个新区块所需的最长时间。在本实施例中,区块链节点1、区块链节点2、区块链节点3中哪个区块链节点最先达到如下两本文档来自技高网...

【技术保护点】
1.一种区块链共识机制,其特征在于,包括:区块链节点获取区块链中第N‑1个区块的第一哈希值;所述区块链节点计算所述区块链节点生成的第N个区块的第二哈希值,所述区块链节点和其他区块链节点抢夺第N个区块的记账权,所述区块链节点生成的第N个区块包括所述区块链节点预期得到的奖励金额,所述其他区块链节点生成的第N个区块包括所述其他区块链节点预期得到的奖励金额;若在预设时间内,所述区块链节点计算的第二哈希值与所述第一哈希值的差值的绝对值比所述其他区块链节点计算的第二哈希值与所述第一哈希值的差值的绝对值小,或者所述区块链节点计算的第二哈希值与所述第一哈希值的差值的绝对值小于预设阈值,则所述区块链节点获得所述第N个区块的记账权,其中,所述预设时间是区块链网络中生成一个新区块所需的最长时间。

【技术特征摘要】
1.一种区块链共识机制,其特征在于,包括:区块链节点获取区块链中第N-1个区块的第一哈希值;所述区块链节点计算所述区块链节点生成的第N个区块的第二哈希值,所述区块链节点和其他区块链节点抢夺第N个区块的记账权,所述区块链节点生成的第N个区块包括所述区块链节点预期得到的奖励金额,所述其他区块链节点生成的第N个区块包括所述其他区块链节点预期得到的奖励金额;若在预设时间内,所述区块链节点计算的第二哈希值与所述第一哈希值的差值的绝对值比所述其他区块链节点计算的第二哈希值与所述第一哈希值的差值的绝对值小,或者所述区块链节点计算的第二哈希值与所述第一哈希值的差值的绝对值小于预设阈值,则所述区块链节点获得所述第N个区块的记账权,其中,所述预设时间是区块链网络中生成一个新区块所需的最长时间。2.根据权利要求1所述的方法,其特征在于,当所述区块链节点获得所述第N个区块的记账权后,所述区块链节点将其生成的所述第N个区块广播到区块链网络中。3.根据权利要求1或2所述的方法,其特征在于,所述区块链节点计算所述区块链节点生成的第N个区块的第二哈希值之前,还包括:所述区块链节点接收所述其他区块链节点在区块链网络中广播的由所述其他区块链节点生成的第N个区块、以及所述其他区块链节点计算得到的由所述其他区块链节点生成的第N个区块的第二哈希值;所述区块链节点计算所述区块链节点生成的第N个区块的第二哈希值之后,还包括:所述区块链节点比较所述区块链节点计算得到的第二哈希值和所述第一哈希值的差值的绝对值,以及所述其他区块链节点计算得到的第二哈希值和所述第一哈希值的差值的绝对值;如果所述区块链节点计算得到的第二哈希值和所述第一哈希值的差值的绝对值大于所述其他区块链节点计算得到的第二哈希值和所述第一哈希值的差值的绝对值,则所述区块链节点减小所述区块链节点生成的第N个区块中的奖励金额,其中,所述奖励金额的减小幅度大于预设幅度。4.根据权利要求3所述的方法,其特征在于,所述区块链节点减小所述区块链节点生成的第N个区块中的奖励金额之后,还包括:所述区块链节点重新计算第N个区块的第二哈希值;若所述区块链节点重新计算的第N个区块的第二哈希值与所述第一哈希值的差值的绝对值比当前时刻所述其他区块链节点计算的第二哈希值与所述第一哈希值的差值的绝对值小,且所述当前时刻在所述预设时间内,则所述区块链节点将其生成的第N个区块和所述第N个区块的第二哈希值广播到区块链网络中。5.根据权利要求1或2所述的方法,其特征在于,若在预设时间内,所述区块链节点计算的第二哈希值与所述第一哈希值的差值的绝对值大于所述预设阈值,且所述其他区块链节点计算的第二哈希值与所述第一哈希值的差值的绝对值大于所述预设阈值,超出所述预设时间后,所述区块链节点计算的第二哈希值与所述第一哈希值的差值的绝对值比所述其他区块链节点计算的第二哈希值与所述第一哈希值的差值的绝对值小,则所述区块链节点获得所述第N个区块的记账权。6.一种区块链节点,其特征在于,包括:存储器;处理器;通讯接口;以及计算机程序;其中,所述计算机程...

【专利技术属性】
技术研发人员:路成业王凌
申请(专利权)人:全链通有限公司
类型:发明
国别省市:北京,11

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

1