实用计算能力证明共识方法、装置、电子设备及存储介质制造方法及图纸

技术编号:33275672 阅读:30 留言:0更新日期:2022-04-30 23:34
本发明专利技术公开了一种实用计算能力证明共识方法、装置、电子设备及存储介质,该方法包括:通过节点状态赋值算法,修改节点状态,并计算修改节点状态依据的分数值;确定当前区块中由理事签名节点池中的相应节点负责出块的区块;确定理事签名节点出块以及其他签名节点验证区块中交易,并且规定了对拜占庭节点的惩罚以及成功出块之后的奖励。本发明专利技术实施例在不同项目开发中,适用于公链,联盟链和私有链全应用场景。具备强一致性,强容错,强容灾能力的特点。点。点。

【技术实现步骤摘要】
实用计算能力证明共识方法、装置、电子设备及存储介质


[0001]本专利技术涉及计算机
,尤其涉及一种实用计算能力证明共识方法、装置、电子设备及存储介质。

技术介绍

[0002]以工作量证明(POW)为代表的第一代区块链共识算法,用求解哈希难题的方法作为保证区块链的一致性的重要途径,但是POW算法存在两点重要不足,首先是算力资源浪费严重,求解哈希难题的计算本身是毫无意义的,因此全网在计算哈希值的运算中浪费了巨大的算力资源,其次是性能问题,由于求解难度系数的要求,导致交易确认过程缓慢,以POW为做其共识算法的网络的TPS仅能达到20

200之间,这显然严重限制了应用场景。
[0003]为解决第一代共识算法中存在的不足,第二代共识算法发展起来,其中代表性的有股权证明共识算法(POS)和权威证明共识算法(POA)。POS和POA部分解决了算力资源浪费严重以及性能不足的问题,但是POS和POA算法带来了新的问题。POS和POA算法不是完全的去中心化共识算法,需要网络对参与治理的节点进行授权,因此改变了区块链的治理结构而且限制了网络的扩容能力。
[0004]有鉴于此,现有技术还有待于改进和发展。

技术实现思路

[0005]鉴于上述现有技术的不足,本专利技术提供了一种实用计算能力证明共识方法、装置、电子设备及存储介质,旨在解决现有技术中需要网络对参与治理的节点进行授权,从而导致网络的扩容能力有限的问题。
[0006]本专利技术的技术方案如下:一种实用计算能力证明共识方法,用于通过动态计算并设置参与节点的状态以及动态调度节点出块顺序实现共识机制;其中,所述方法包括:通过节点状态赋值算法,修改节点状态,并计算修改节点状态依据的分数值;动态调度,用于确定当前区块中由理事签名节点池中的相应节点负责出块的区块;出块,用于确定理事签名节点出块以及其他签名节点验证区块中交易,并且规定了对拜占庭节点的惩罚以及成功出块之后的奖励。
[0007]进一步的,所述节点状态赋值算法支持节点自由增删,新节点将自动获得普通节点状态,各节点存储一份相同的节点状态表,每一轮出块时,由节点状态赋值算法计算并更新状态表,状态表包含节点地址、节点状态以及分数;分数根据节点出块数量和出块平均时间加权计算得到,每5000个区块更新一次节点状态,所述状态表中的分数前0.1%的节点状态为理事签名节点,所述状态表中的分数前1%的节点为轮候签名节点,所述状态表中的分数前5%的节点为计算节点,剩余的为普通节点。
[0008]进一步的,所述动态调度包括:
判断,区块数是否是5000的整数倍+1;如果不是,则在签名节点数组中将当前出块位置+1,返回当前出块位置签名节点;如果是,根据上一个节点状态表更新签名节点数组,当前出块位置为0,返回当前出块位置节点。
[0009]进一步的,所述出块包括:选中理事签名节点可自行从交易池中选择交易,且交易大小之和不能小于区块大小上限95%;选中交易需经过校验;区块构建完成后提交其他理事签名节点校验;log(n)数量的理事签名节点校验通过后,区块上链,其中,n为理事签名节点总数;其他所有节点同步区块信息,将当前区块存为快照;理事签名节点及轮候签名节点继续校验当前区块;当超过50%的所有理事签名节点和轮候签名节点校验区块通过之后,区块链快照前移,果不能通过,则区块回滚至上一确认区块,惩罚机制启动;惩罚拜占庭签名节点。
[0010]一种实用计算能力证明共识装置,其中,所述装置包括:节点状态赋值算法装置,用于修改节点状态,并计算修改节点状态依据的分数值;动态调度装置,用于确定当前区块中由理事签名节点池中的相应节点负责出块的区块;出块装置,用于确定理事签名节点出块以及其他签名节点验证区块中交易,并且规定了对拜占庭节点的惩罚以及成功出块之后的奖励。
[0011]进一步的,所述的装置,其中,所述节点状态赋值算法支持节点自由增删,新节点将自动获得普通节点状态,各节点存储一份相同的节点状态表,每一轮出块时,由节点状态赋值算法计算并更新状态表,状态表包含节点地址、节点状态以及分数;分数根据节点出块数量和出块平均时间加权计算得到,每5000个区块更新一次节点状态,所述状态表中的分数前0.1%的节点状态为理事签名节点,所述状态表中的分数前1%的节点为轮候签名节点,所述状态表中的分数前5%的节点为计算节点,剩余的为普通节点。
[0012]进一步的,所述的装置,其中,所述动态调度装置包括:判断,区块数是否是5000的整数倍+1;如果不是,则在签名节点数组中将当前出块位置+1,返回当前出块位置签名节点;如果是,根据上一个节点状态表更新签名节点数组,当前出块位置为0,返回当前出块位置节点。
[0013]进一步的,所述的装置,其中,所述出块装置包括:选中理事签名节点可自行从交易池中选择交易,且交易大小之和不能小于区块大小上限95%;选中交易需经过校验;区块构建完成后提交其他理事签名节点校验;log(n)数量的理事签名节点校验通过后,区块上链,其中,n为理事签名节点总数;其他所有节点同步区块信息,将当前区块存为快照;理事签名节点及轮候签名节点继续校验当前区块;当超过50%的所有理事签名节点和轮候签名节点校验区块通过之后,区块链快照
前移,果不能通过,则区块回滚至上一确认区块,惩罚机制启动;惩罚拜占庭签名节点。
[0014]本专利技术的另一实施例提供了一种电子设备,所述电子设备包括至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的方法。
[0015]本专利技术的另一实施例还提供了一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行上述的方法。
[0016]有益效果:本专利技术用于接入去中心化的区块链网络的基础架构层,提供一种能够满足高性能高数据吞吐量要求的区块链共识算法。快速实用计算能力证明共识算法(Fast Practical Consensus of Competence Authority,简称FPCCA)适用于公链,联盟链和私有链全应用场景。具备强一致性,强容错,强容灾能力的特点。
附图说明
[0017]下面将结合附图及实施例对本专利技术作进一步说明,附图中:图1为本专利技术一种实用计算能力证明共识方法方法较佳实施例的流程图;图2为本专利技术一种实用计算能力证明共识装置的较佳实施例的功能模块示意图;图3为本专利技术一种电子设备的较佳实施例的硬件结构示意图。
具体实施方式
[0018]为使本专利技术的目的、技术方案及效果更加清楚、明确,以下对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0019]以下结合附图对本专利技术实施例进行介绍。
[0020]本专利技术实施例提供了本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实用计算能力证明共识方法,用于通过动态计算并设置参与节点的状态以及动态调度节点出块顺序实现共识机制;其特征在于,所述方法包括:通过节点状态赋值算法,修改节点状态,并计算修改节点状态依据的分数值;动态调度,用于确定当前区块中由理事签名节点池中的相应节点负责出块的区块;出块,用于确定理事签名节点出块以及其他签名节点验证区块中交易,并且规定了对拜占庭节点的惩罚以及成功出块之后的奖励。2.根据权利要求1所述的方法,其特征在于,所述节点状态赋值算法支持节点自由增删,新节点将自动获得普通节点状态,各节点存储一份相同的节点状态表,每一轮出块时,由节点状态赋值算法计算并更新状态表,状态表包含节点地址、节点状态以及分数;分数根据节点出块数量和出块平均时间加权计算得到,每5000个区块更新一次节点状态,所述状态表中的分数前0.1%的节点状态为理事签名节点,所述状态表中的分数前1%的节点为轮候签名节点,所述状态表中的分数前5%的节点为计算节点,剩余的为普通节点。3.根据权利要求1所述的方法,其特征在于,所述动态调度包括:判断区块数是否是5000的整数倍+1;如果不是,则在签名节点数组中将当前出块位置+1,返回当前出块位置签名节点;如果是,根据上一个节点状态表更新签名节点数组,当前出块位置为0,返回当前出块位置节点。4.根据权利要求1所述的方法,其特征在于,所述出块包括:选中理事签名节点可自行从交易池中选择交易,且交易大小之和不能小于区块大小上限95%;选中交易需经过校验;区块构建完成后提交其他理事签名节点校验;log(n)数量的理事签名节点校验通过后,区块上链,其中,n为理事签名节点总数;其他所有节点同步区块信息,将当前区块存为快照;理事签名节点及轮候签名节点继续校验当前区块;当超过50%的所有理事签名节点和轮候签名节点校验区块通过之后,区块链快照前移,如果不能通过,则区块回滚至上一确认区块,惩罚机制启动;惩罚拜占庭签名节点。5.一种实用计算能力证明共识装置,其特征在于,所述装置包括:节点状态赋值算法装置,用于修改节点状态,并计算修改节点状态依据的分数值;动态调度装置,用于确定当前区块中由理事签名节点池中的相应节点负责出块的区块;出块装置,用于确定理事签名节点出块以及其...

【专利技术属性】
技术研发人员:欧志盛富蔡东
申请(专利权)人:深圳市一航网络信息技术有限公司
类型:发明
国别省市:

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

1