基于分组的DPOS代理节点选择方法技术

技术编号:19486959 阅读:20 留言:0更新日期:2018-11-17 11:33
本发明专利技术特别涉及一种基于分组的DPOS代理节点选择方法,包括以下步骤:对节点进行分组;收到选举信号后确定各个分组内节点的参选资格,具有参选资格的节点标记为候选节点;从候选节点中选出各组的代理节点和备份节点;代理节点按照一定顺序轮流记账;代理节点完成一轮记账后再次进行选举。通过分组,节点间仅在一个分组内比较,给予节点一个小范围选举的机会,增加了中小节点当选的概率,降低了权益对中小节点的影响,提高了随机性,减少中心化风险;设置代理节点和备份节点,这样当本组代理节点因故退出后,给予组内其他节点获得代理节点的机会,减少中心化风险。

【技术实现步骤摘要】
基于分组的DPOS代理节点选择方法
本专利技术涉及区块链
,特别涉及一种基于分组的DPOS代理节点选择方法。
技术介绍
区块链(BlockChain)技术为一种新兴的去中心化的分布式账本技术。系统中各节点通过共识机制,维护一份分布式账本,其具有去中心化、不可更改和可追溯特性。股份授权证明(DelegateProofofStake,DPOS)是一种改进型的POS算法。其特点是,在POS权益算法基础上,通过节点权益持有的比率,选择一批代理节点,由多个代理节点代表节点记账,代理节点之间采用合作的方式,按一定顺序轮流记账,参与记账的代理节点会获得系统的权益奖励,以此实现系统共识。DPOS机制以权益作为基础,所有节点根据其持有的权益大小,参与代理节点选举,当选代理节点后,所有代理节点根据一种顺序,轮流记账。代理节点完成记账,生成区块后,该节点会获得系统的权益奖励。首先,代理节点的选举跟节点持有的权益大小成正相关,权益越大,当选几率越高;其次,代理节点数量有限,基本不会超过100个;再次,奖励只给予代理节点,普通节点没有任何奖励。在该机制下,权益越大的节点,当选代理节点的概率越大,因此获得的权益奖励越多,权益越多,以后再次当选的概率就越大,长久运行,造成大者恒大,使部分节点长期当选,容易导致中心化问题。同时,也容易引起某些组织,通过运行多个权益较大的节点,使这些节点长期当选,进而控制选举机制,增加中心化风险;最后,普通中小节点因为权益占比低,当选代理节点概率低,获得奖励也就少,容易失去参与积极性,造成网络收缩或者崩坍。
技术实现思路
本专利技术的目的在于提供一种基于分组的DPOS代理节点选择方法,提高对中小节点的激励,减少中心化的风险。为实现以上目的,本专利技术采用的技术方案为:一种基于分组的DPOS代理节点选择方法,包括以下步骤,(A)对节点进行分组;(B)判断是否收到选举信号,若是,则执行步骤C,否则返回步骤A;(C)确定各个分组内节点的参选资格,具有参选资格的节点标记为候选节点;(D)根据节点所持有的权益大小从候选节点中选出各组的代理节点和备份节点;(E)代理节点按照一定顺序轮流记账,在记账周期内,若当前代理节点退出记账时,选择备份节点作为新的代理节点担负记账功能;记账周期内,需要将新加入网络的节点添加至分组中并从分组中删除退出网络的节点;(F)代理节点完成一轮记账后,返回步骤B。与现有技术相比,本专利技术存在以下技术效果:通过分组,节点间仅在一个分组内比较,给予节点一个小范围选举的机会,增加了中小节点当选的概率,降低了权益对中小节点的影响,提高了随机性,减少中心化风险;同时设置代理节点和备份节点,这样当本组代理节点因故退出后,给予组内其他节点获得代理节点的机会,避免了DPOS全系统排序作为备份节点导致的备份节点可能集中在一起的不均衡性问题,减少中心化风险。附图说明图1是本专利技术分组算法流程图;图2是本专利技术选举算法流程图。具体实施方式下面结合图1至图2,对本专利技术做进一步详细叙述。参阅图1、图2,一种基于分组的DPOS代理节点选择方法,包括以下步骤,(A)对节点进行分组,这里可以随机进行分组,可以按照一定的规则进行分组,只要实现将所有节点分为若干组节点即可,组数可以设定;(B)判断是否收到选举信号,若是,则执行步骤C,否则返回步骤A;(C)确定各个分组内节点的参选资格,具有参选资格的节点标记为候选节点;(D)根据节点所持有的权益大小从候选节点中选出各组的代理节点和备份节点;(E)代理节点按照一定顺序轮流记账,在记账周期内,若当前代理节点退出记账时,选择备份节点作为新的代理节点担负记账功能;记账周期内,需要将新加入网络的节点添加至分组中并从分组中删除退出网络的节点;(F)代理节点完成一轮记账后,返回步骤B。通过分组,节点间仅在一个分组内比较,给予节点一个小范围选举的机会,增加了中小节点当选的概率,降低了权益对中小节点的影响,提高了随机性,减少中心化风险;同时设置代理节点和备份节点,这样当本组代理节点因故退出后,给予组内其他节点获得代理节点的机会,避免了DPOS全系统排序作为备份节点导致的备份节点可能集中在一起的不均衡性问题,减少中心化风险。优选地,所述的步骤A包括以下步骤:(A1)将系统固定分为N组,组号编为1~N,组数N可以根据实际需求来设置,本实施例中N的取值可以优选为100~150,更优选地取N=129;(A2)判断是否有新的节点加入网络,若有,按组号顺序找到节点数量最少的分组并把新的节点加入该分组中,这里说的按组号顺序,表示从组号1开始检索,假设组号1中的节点数量为所有分组的节点数量的最小值,就将该新的节点加入组号1中;当组号1和组号2中的节点数量一致且都是最小值,此时按照顺序会将新的节点加入组号1中,通过这种添加方法,可以尽量保证每组内的节点数量尽量保持一致,提高各组之间的公平性。(A3)判断是否有节点退出网络,若有,则该节点所属分组的节点数量相应减少;所述的步骤B中,若未收到选举信号则返回步骤A2;所述的步骤E中,按照步骤A2将新加入网络的节点添加至分组中,按照步骤A3从分组中删除退出网络的节点。优选地,所述的步骤B中,收到选举信号后执行以下分组调整步骤后再执行步骤C:(B1)将各分组内的节点按所持有的收益从大到小排序,并按顺序为节点标上序号;(B2)将序号为奇数的节点标记为待调整节点;(B3)把组号1中的待调整节点移动到组号2中的相应位置,组号2中的待调整节点移动到组号3中的相应位置,以此类推,组号N-1中的待调整节点移动到组号N中的相应位置,组号N中的待调整节点移动到组号1中的相应位置。这里通过分组调整机制,打乱节点间的关系,减少某些节点长期当选的几率,也减少某些组织通过运行多个权益较大节点,影响记账机制,从而导致中心化的风险。优选地,所述的步骤C中,按如下步骤确定各个分组内节点的参选资格:(C1)判断节点连续持有权益的时间是否超过设定阈值T,若未超过,则该节点无候选资格,若超过,则进入下一步;(C2)判断节点是否向区块链系统缴纳参选保证金,若未缴纳,则该节点无候选资格,若缴纳,则该节点具有参选资格。通过设置权益时间要求,保证参与节点都是系统中的长期节点,防止大量临时恶意节点加入导致的恶意节点当选概率过高的问题,也可以防止利用大量临时节点攻击选举机制的问题。设置保证金,可以提高恶意节点攻击选举机制的成本。作为本专利技术的优选方案,所述的步骤D中,根据节点所持有的权益大小和保证金额度从候选节点中选出各组的代理节点和备份节点。具体地,所述的步骤D包括以下步骤:(D1)系统根据候选节点持有的权益和保证金额度,按以下公式计算节点在分组中的比重:比重=权益×K1+保证金×K2,式中,K1和K2分别是权益和保证金的权值,K1+K2=1;(D2)把所有的候选节点在各组内按比重大小进行排序;(D3)选择比重最大的候选节点为本组的代理节点;(D4)分组内剩余候选节点按比重排序作为本组代理节点的备份节点。通过权益加保证金按比率计算比重的排序机制,给予中小权益节点通过提高保证金,从而提高入选记账节点的概率,降低了权益对中小节点的影响。这里的K1值越大,代理节点的选择与权益的关系就越大,K2值越大,代理节点的选择与保证金的关本文档来自技高网...

【技术保护点】
1.一种基于分组的DPOS代理节点选择方法,其特征在于:包括以下步骤,(A)对节点进行分组;(B)判断是否收到选举信号,若是,则执行步骤C,否则返回步骤A;(C)确定各个分组内节点的参选资格,具有参选资格的节点标记为候选节点;(D)根据节点所持有的权益大小从候选节点中选出各组的代理节点和备份节点;(E)代理节点按照一定顺序轮流记账,在记账周期内,若当前代理节点退出记账时,选择备份节点作为新的代理节点担负记账功能;记账周期内,需要将新加入网络的节点添加至分组中并从分组中删除退出网络的节点;(F)代理节点完成一轮记账后,返回步骤B。

【技术特征摘要】
1.一种基于分组的DPOS代理节点选择方法,其特征在于:包括以下步骤,(A)对节点进行分组;(B)判断是否收到选举信号,若是,则执行步骤C,否则返回步骤A;(C)确定各个分组内节点的参选资格,具有参选资格的节点标记为候选节点;(D)根据节点所持有的权益大小从候选节点中选出各组的代理节点和备份节点;(E)代理节点按照一定顺序轮流记账,在记账周期内,若当前代理节点退出记账时,选择备份节点作为新的代理节点担负记账功能;记账周期内,需要将新加入网络的节点添加至分组中并从分组中删除退出网络的节点;(F)代理节点完成一轮记账后,返回步骤B。2.如权利要求1所述的基于分组的DPOS代理节点选择方法,其特征在于:所述的步骤A包括以下步骤:(A1)将系统固定分为N组,组号编为1~N;(A2)判断是否有新的节点加入网络,若有,按组号顺序找到节点数量最少的分组并把新的节点加入该分组中;(A3)判断是否有节点退出网络,若有,则该节点所属分组的节点数量相应减少;所述的步骤B中,若未收到选举信号则返回步骤A2;所述的步骤E中,按照步骤A2将新加入网络的节点添加至分组中,按照步骤A3从分组中删除退出网络的节点。3.如权利要求2所述的基于分组的DPOS代理节点选择方法,其特征在于:所述的步骤B中,收到选举信号后执行以下分组调整步骤后再执行步骤C:(B1)将各分组内的节点按所持有的收益从大到小排序,并按顺序为节点标上序号;(B2)将序号为奇数的节点标记为待调整节点;(B3)把组号1中的待...

【专利技术属性】
技术研发人员:曾胜
申请(专利权)人:四川海纳仁东科技有限公司
类型:发明
国别省市:四川,51

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

1