IIFT区块链共识算法制造技术

技术编号:21400935 阅读:82 留言:0更新日期:2019-06-19 07:31
本发明专利技术公开了一种IIFT区块链共识算法。在准备节点池中的准备节点,按照记账权重通过随机选择选出一个记账周期的二十一台记账节点;选出的记账节点再随机排序,每个记账节点在块周期内产生区块并将该记账节点记为主节点,主节点将产生的区块进行广播;在主节点广播后,准备节点池中的其余节点对区块进行验证后将区块加入账本,其中记账节点向主节点发送确认消息;根据记账节点的验证情况,确定该区块中的交易是否被确认;当所有的记账节点记账结束后,该记账周期完成,所有记账节点下线。本发明专利技术有效避免了POS或DPOS存在的“富豪统治”问题,有效鼓励了节点参与的热情,有效避免链分叉的风险,网路开销也被大大降低。

【技术实现步骤摘要】
IIFT区块链共识算法
:本专利技术属于区块链
,特别涉及一种IIFT区块链共识算法。
技术介绍
:共识算法解决的是对某个提案(Proposal),大家达成一致意见的过程。它目前已经成为了区块链系统性能的关键瓶颈。单一的共识算法均存在各种问题,例如PoW算法存在消耗大量计算资源及性能低下的问题;PoS或DPoS存在“富豪统治”问题;而有着完善理论证明的PBFT算法面临着广播带来的网络开销过大的问题。融合多种共识算法优势的想法正受到越来越广泛的关注。公开于该
技术介绍
部分的信息仅仅旨在增加对本专利技术的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
技术实现思路
:本专利技术的目的在于提供一种IIFT区块链共识算法,从而克服上述现有技术中的缺陷。为实现上述目的,本专利技术提供了一种IIFT区块链共识算法,该算法应用于节点池中,其步骤为:(1)在准备节点池中的准备节点,按照记账权重通过随机选择选出一个记账周期的二十一台记账节点;(2)选出的记账节点再随机排序,每个记账节点在块周期内产生区块并将该记账节点记为主节点,主节点将产生的区块进行广播;(3)在主节点广播后,准备节点池中的其余节点对区块进行验证后将区块加入账本,其中记账节点向主节点发送确认消息;(4)根据记账节点的验证情况,确定该区块中的交易是否被确认;(5)当所有的记账节点记账结束后,该记账周期完成,所有记账节点下线。优选地,技术方案中,以准备节点拥有的权益币及准备节点在线时间为基础计算出每台准备节点的记账权重系数,单台准备节点的记账权重系数其中I为节点权益币数量,∑(i)为总权益币数量,T为节点在线时间,∑(t)为所有节点在线时间,α为权益币比重系数,β为在线时间比重系数。优选地,技术方案中,准备节点乘以记账权重系数后随机产生一个记账周期所需的二十一台记账节点;参与一个记账周期后,被选上的准备节点的记账权重将被清零。优选地,技术方案中,当一个记账周期结束后,按照同样的随机选择方式产生一定数量的记账节点代替上一个记账周期中相应数量的记账节点;在第四个记账周期开始时,第一个记账周期产生的记账节点全部被替换掉。优选地,技术方案中,步骤2中的区块附带排序时产生的随机值和时间戳。优选地,技术方案中,步骤4中区块一旦被三分之二的记账节点验证通过,则该区块成为不可逆区块并广播,该区块上所有交易被确认;每笔交易都附带最近区块的哈希特征值,检验用户是否在正确的链上,哈希值不正确交易不被接受。优选地,技术方案中,当一个块周期内为产生区块,则下一个区块将包含上一个快周期内的所有交易。优选地,技术方案中,IIFT区块链共识算法采用最长链即共识链的方案,一旦出现分叉,共识链方案将在记账周期结束时启动。优选地,技术方案中,IIFT区块链共识算法还包括判断惩戒记账节点:规定时间内产生错误区块的节点将被判定为恶意节点,错误区块由超过三分之二的记账节点判定,恶意节点将在记账周期结束时受到安全委员会惩罚;规定时间内未产生区块的记账节点将被判定为故障节点,故障节点会在记账周期结束时被替换成准备节点。优选地,技术方案中,一个记账周期内所有记账费用和权益币奖励由所有诚实记账节点平分。与现有技术相比,本专利技术具有如下有益效果:通过IIFT区块链共识算法有效避免了POS或DPOS存在的“富豪统治”问题。同时记账权重会增加被选择为记账节点的概率,有效鼓励了节点参与的热情。有效避免链分叉的风险,同时又不会像POW一样消耗大量计算机资源。每个时间点只有一个需要验证的合法区块,PBFT所需的巨大网路开销也被大大降低。附图说明:图1为本专利技术一种IIFT区块链共识算法的节点池原理示意图;图2为本专利技术一种IIFT区块链共识算法记账周期流程示意图;图3为本专利技术IFT区块链共识算法中利用TreeMap构造出的树形示意图。具体实施方式:下面对本专利技术的具体实施方式进行详细描述,但应当理解本专利技术的保护范围并不受具体实施方式的限制。除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。实施例1如图1-2所示,一种IIFT区块链共识算法,该算法应用于节点池中,其步骤为:(1)节点通过《安全委员会》验证硬件、地点及所有人,成为准备节点,加入准备节点池;(2)以准备节点拥有的权益币及准备节点在线时间为基础计算出每台准备节点的记账权重系数,单台准备节点的记账权重系数其中I为节点权益币数量,∑(i)为总权益币数量,T为节点在线时间,∑(t)为所有节点在线时间,α为权益币比重系数,β为在线时间比重系数;准备节点乘以记账权重系数后随机产生一个记账周期所需的二十一台记账节点;参与一个记账周期后,被选上的准备节点的记账权重将被清零;这样能有效避免了POS或DPOS存在的“富豪统治”问题。同时记账权重会增加被选择为记账节点的概率,有效鼓励了节点参与的热情;(3)选出的记账节点再随机排序,每个记账节点在块周期内产生区块并将该记账节点记为主节点,区块附带排序时产生的随机值和时间戳,主节点将产生的区块进行广播;这样可以有效避免链分叉的风险,同时又不会像POW一样消耗大量计算机资源;(4)在主节点广播后,准备节点池中的其余节点对区块进行验证后将区块加入账本,其中记账节点向主节点发送确认消息;PBFT在这个时间段内可以有效保证所有节点上账本高度的一致性;并且每个时间点只有一个需要验证的合法区块,PBFT所需的巨大网路开销也被大大降低;(5)区块一旦被三分之二的记账节点验证通过,则该区块成为不可逆区块并广播,该区块上所有交易被确认;每笔交易都附带最近区块的哈希特征值,检验用户是否在正确的链上,哈希值不正确交易不被接受;当一个块周期内为产生区块,则下一个区块将包含上一个快周期内的所有交易;(6)规定时间内产生错误区块的节点将被判定为恶意节点,错误区块由超过三分之二的记账节点判定,恶意节点将在记账周期结束时受到安全委员会惩罚;规定时间内未产生区块的记账节点将被判定为故障节点,故障节点会在记账周期结束时被替换成准备节点;(7)当所有的记账节点记账结束后,该记账周期完成,所有记账节点下线,一个记账周期内所有记账费用和权益币奖励由所有诚实记账节点平分;按照同样的随机选择方式产生一定数量的记账节点代替上一个记账周期中相应数量的记账节点;在第四个记账周期开始时,第一个记账周期产生的记账节点全部被替换掉;(8)当区块链出现分叉,共识结束,共识链方案将在记账周期结束时启动。实施例2一种IIFT区块链共识算法,其步骤中包括准备节点乘以记账权重系数后随机产生一个记账周期所需的二十一台记账节点。从不同权重的N台准备节点中随机选择一个,并使得总体选择结果是按照权重分布。如有4台节点A、B、C、D,权重分别为1、2、3、4,随机结果中A:B:C:D的比例要为1:2:3:4。设累加每个元素的权重A(1)-B(3)-C(6)-D(10),则4台节点的权重管辖区间分别为[0,1)、[1,3)、[3,6)、[6,10)。然后随机出一个[0,10)之间的随机数。落在哪个区间,则该区间之后的节点即为本轮记账节点。利用Tre本文档来自技高网...

【技术保护点】
1.一种IIFT区块链共识算法,该算法应用于节点池中,其步骤为:(1)在准备节点池中的准备节点,按照记账权重通过随机选择选出一个记账周期的二十一台记账节点;(2)选出的记账节点再随机排序,每个记账节点在块周期内产生区块并将该记账节点记为主节点,主节点将产生的区块进行广播;(3)在主节点广播后,准备节点池中的其余节点对区块进行验证后将区块加入账本,其中记账节点向主节点发送确认消息;(4)根据记账节点的验证情况,确定该区块中的交易是否被确认;(5)当所有的记账节点记账结束后,该记账周期完成,所有记账节点下线。

【技术特征摘要】
1.一种IIFT区块链共识算法,该算法应用于节点池中,其步骤为:(1)在准备节点池中的准备节点,按照记账权重通过随机选择选出一个记账周期的二十一台记账节点;(2)选出的记账节点再随机排序,每个记账节点在块周期内产生区块并将该记账节点记为主节点,主节点将产生的区块进行广播;(3)在主节点广播后,准备节点池中的其余节点对区块进行验证后将区块加入账本,其中记账节点向主节点发送确认消息;(4)根据记账节点的验证情况,确定该区块中的交易是否被确认;(5)当所有的记账节点记账结束后,该记账周期完成,所有记账节点下线。2.根据权利要求1所述的IIFT区块链共识算法,其特征在于:以准备节点拥有的权益币及准备节点在线时间为基础计算出每台准备节点的记账权重系数,单台准备节点的记账权重系数其中I为节点权益币数量,∑(i)为总权益币数量,T为节点在线时间,∑(t)为所有节点在线时间,α为权益币比重系数,β为在线时间比重系数。3.根据权利要求2所述的IIFT区块链共识算法,其特征在于:准备节点乘以记账权重系数后随机产生一个记账周期所需的二十一台记账节点;参与一个记账周期后,被选上的准备节点的记账权重将被清零。4.根据权利要求3所述的IIFT区块链共识算法,其特征在于:当一个记账周期结束后,按照步骤1中随机选择方式产生一定数量的记账节点代替上一个记账周期中相应数量的记账节点...

【专利技术属性】
技术研发人员:高榕
申请(专利权)人:无锡一邦网络科技有限公司
类型:发明
国别省市:江苏,32

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

1