POS机制下记账节点选择方法技术

技术编号:19486961 阅读:25 留言:0更新日期:2018-11-17 11:33
本发明专利技术特别涉及一种POS机制下记账节点选择方法,包括以下步骤:记账节点接受网络中的交易信息,并将交易信息写入区块;记账节点每隔一段时间或区块个数在区块链网络中发起新的记账节点选举,普通节点收到邀请后判断自身是否符合参选条件;决定参选的普通节点向区块链系统提交参选保证金;记账节点从确认缴纳保证金的节点筛选出一级候选节点;从一级候选节点选择权益最大者为当选记账节点后结束。该方法可以避免中心化问题,降低了权益对中小节点的影响,提高恶意节点攻击的成本,维护了权益本身的价值,刺激参与节点更多保存权益,以提高入选记账节点的概率。

【技术实现步骤摘要】
POS机制下记账节点选择方法
本专利技术涉及区块链
,特别涉及一种POS机制下记账节点选择方法。
技术介绍
区块链(BlockChain)技术作为一种分布式账本技术,具有去中心化、分布式共识、匿名和可追溯特性,被认为是最有前途的技术之一。作为分布式网络的一种应用,如何在分布式网络中达成共识,选择记账节点,是区块链必须要解决的问题之一。目前主流的共识机制主要有工作量证明(ProofofWork,简称POW)和权益证明(ProofofStake,简称POS)两种。POW和POS分别采用了计算力和权益持有的比率两种方法来选择记账节点。POS机制以权益作为基础,除权益利息奖励以外,其最大的奖励来自记账节点的记账奖励。但是,其记账节点的选择跟节点持有的权益有正相关,即一个节点拥有的权益越多,被选择为记账节点的几率就越大,因而获得记账奖励的机会就越多。该机制的缺点非常明显,长期运行中,权益多的节点获得的奖励越多,造成大者恒大,后续进入的节点因为权益占比低的原因,无法获得更多奖励,没有参与积极性,容易退出网络,造成网络收缩和崩塌。同时,因为奖励导致的权益集中,权益大的节点也会更多被选为记账节点,导致更多的主导权,引起中心化的问题。
技术实现思路
本专利技术的目的在于提供一种POS机制下记账节点选择方法,提高选择的随机性,增加中小权益节点获得记账权的概率。为实现以上目的,本专利技术采用的技术方案为:一种POS机制下记账节点选择方法,包括以下步骤:(A)记账节点接受网络中的交易信息,并将交易信息写入区块;(B)记账节点判断是否经过设定时间T或者写入区块的数量达到设定值m,如果是,则执行下一步,否则返回步骤A;(C)记账节点在区块链网络中发起新的记账节点选举,每个普通节点收到记账节点的选举邀请后判断自身是否符合参选条件,参选条件为自身当选为记账节点的频率是否超过设定阈值,如果超过则自动失去候选资格,否则可以参选;(D)决定参选的普通节点向区块链系统提交参选保证金;(E)记账节点确认缴纳保证金的节点为候选节点,并从候选节点中根据保证金大小筛选出一级候选节点;(F)对于一级候选节点,按权益大小排序,选择权益最大者为当选记账节点后结束。与现有技术相比,本专利技术存在以下技术效果:通过对当选为记账节点的频率的要求,加上时间和出块限制,确保不会有节点一直当选记账节点,造成中心化问题;同时,通过保证金排序机制,使得中小权益节点可以通过提高保证金的方式来提高入选记账节点的概率,降低了权益对中小节点的影响,还能提高恶意节点攻击的成本;最后通过权益排序机制,维护了权益本身的价值,刺激参与节点更多保存权益,以提高入选记账节点的概率。附图说明图1是本专利技术的流程图。具体实施方式下面结合图1,对本专利技术做进一步详细叙述。参阅图1,一种POS机制下记账节点选择方法,包括以下步骤:(A)记账节点接受网络中的交易信息,并将交易信息写入区块;(B)记账节点判断是否经过设定时间T或者写入区块的数量达到设定值m,如果是,则执行下一步,否则返回步骤A;(C)记账节点在区块链网络中发起新的记账节点选举,每个普通节点收到记账节点的选举邀请后判断自身是否符合参选条件,参选条件为自身当选为记账节点的频率是否超过设定阈值,如果超过则自动失去候选资格,否则可以参选。这里通过对当选为记账节点的频率的要求,加上时间和出块限制,确保不会有节点一直当选记账节点,造成中心化问题。(D)决定参选的普通节点向区块链系统提交参选保证金;(E)记账节点确认缴纳保证金的节点为候选节点,并从候选节点中根据保证金大小筛选出一级候选节点。这里通过保证金排序机制,使得中小权益节点可以通过提高保证金的方式来提高入选记账节点的概率,降低了权益对中小节点的影响,还能提高恶意节点攻击的成本。(F)对于一级候选节点,按权益大小排序,选择权益最大者为当选记账节点后结束。通过权益排序机制,维护了权益本身的价值,刺激参与节点更多保存权益,以提高入选记账节点的概率。步骤B中的时间T和设定值m可以按照要求进行设定,本实施例中,设定时间T为5~20分钟,设定值m为10~30个块,优选地,设定时间为10分钟,设定值m为20个块。这样,步骤B就变为:记账节点判断是否经过10分钟或者写入20个块,如果是,则执行下一步,否则返回步骤A。通过保证金的大小从候选节点中筛选出一级候选节点,不具有随机性,保证金缴纳的越多且权益越大的候选节点入选记账节点的概率更大。为了进一步提高中小权益节点入选概率,本专利技术中优选地:所述的步骤E中,按如下步骤从候选节点中筛选出一级候选节点:(E1)记账节点从候选节点中随机选出指定个数的候选节点作为二级候选节点;(E2)对于二级候选节点,按保证金从大到小排序,并根据保证金大小选择指定个数的一级候选节点。步骤E1让所有缴纳保证金的候选节点进行第一轮随机筛选,降低保证金最大的那个节点参选的概率,从而使得中小权益节点得到保障。步骤E1中的随机选择,有很多方案可以实现,本专利技术中优选地:所述的步骤E1中,按如下步骤从候选节点中筛选出二级候选节点:(E11)记账节点对候选节点按收到保证金共识的时间进行排序,每个候选节点分配一个从1开始的ID号,ID号根据收到的顺序按自然计数增长;(E12)在候选节点中,按素数表中的序号,选择ID号为素数的候选节点为二级候选节点;选择时,若候选节点数小于等于500个,则按素数表,选取全部素数ID号的节点为二级候选节点;若候选节点数大于500个,则随机决定从候选列表的开头ID号或者结尾ID号作为起始序号,向后或者向前寻找ID号为素数的节点,取96个ID号为素数的节点为二级候选节点。程序中很多随机的方法是伪随机,存在一定的规律性,这里通过步骤E11和步骤E12,根据候选节点缴纳保证金的时间来生成ID号,再对ID号进行素数选取,这样的过程随机性非常强,基本无规律可循,对所有的候选节点来说更为公平。候选节点可以有很多,二级候选节点个数应当做一个限制,本实施例中,将二级候选节点的个数控制在96个以内。同样地,一级候选节点的个数也应当做个限制,不能选择过多。本实施例中,所述的步骤E2中,如果二级候选节点大于50个,则选择保证金最大的前50个二级候选节点作为一级候选节点;如果二级候选节点小于等于50个,则选择全部的二级候选节点作为一级候选节点,这样就能保证一级候选节点的个数不会超过50个。自身当选为记账节点的频率阈值可以设定为一定时间内当选过记账节点或连续若干次当选为记账节点,加上这个频率限制,可以避免某个节点被经常选为记账节点。本专利技术中具体地,所述的步骤C中,自身当选为记账节点的频率阈值为连续两次当选为记账节点,也即:之前连续两次当选为记账节点的那个普通节点不再参与本次选举,这样,同一个节点最多会被连续两次选为记账节点,不会超过三次。优选地,所述的步骤C中,参选条件还包括普通节点持有权益的时间必须超过设定的时间,同时满足两个参选条件的普通节点才能参与本次选举。增加持有权益时间作为要求,保证参与节点都是系统中的长期节点,防止大量临时恶意节点加入导致的恶意节点当选概率过高的问题,避免利用大量临时节点攻击选举机制的情况出现。本专利技术中提出的这种基于保证金加权益,结合素数表形成随机方法的多重排序的记账节点选择算本文档来自技高网...

【技术保护点】
1.一种POS机制下记账节点选择方法,其特征在于:包括以下步骤:(A)记账节点接受网络中的交易信息,并将交易信息写入区块;(B)记账节点判断是否经过设定时间T或者写入区块的数量达到设定值m,如果是,则执行下一步,否则返回步骤A;(C)记账节点在区块链网络中发起新的记账节点选举,每个普通节点收到记账节点的选举邀请后判断自身是否符合参选条件,参选条件为自身当选为记账节点的频率是否超过设定阈值,如果超过则自动失去候选资格,否则可以参选;(D)决定参选的普通节点向区块链系统提交参选保证金;(E)记账节点确认缴纳保证金的节点为候选节点,并从候选节点中根据保证金大小筛选出一级候选节点;(F)对于一级候选节点,按权益大小排序,选择权益最大者为当选记账节点后结束。

【技术特征摘要】
1.一种POS机制下记账节点选择方法,其特征在于:包括以下步骤:(A)记账节点接受网络中的交易信息,并将交易信息写入区块;(B)记账节点判断是否经过设定时间T或者写入区块的数量达到设定值m,如果是,则执行下一步,否则返回步骤A;(C)记账节点在区块链网络中发起新的记账节点选举,每个普通节点收到记账节点的选举邀请后判断自身是否符合参选条件,参选条件为自身当选为记账节点的频率是否超过设定阈值,如果超过则自动失去候选资格,否则可以参选;(D)决定参选的普通节点向区块链系统提交参选保证金;(E)记账节点确认缴纳保证金的节点为候选节点,并从候选节点中根据保证金大小筛选出一级候选节点;(F)对于一级候选节点,按权益大小排序,选择权益最大者为当选记账节点后结束。2.如权利要求1所述的POS机制下记账节点选择方法,其特征在于:所述的步骤E中,按如下步骤从候选节点中筛选出一级候选节点:(E1)记账节点从候选节点中随机选出指定个数的候选节点作为二级候选节点;(E2)对于二级候选节点,按保证金从大到小排序,并根据保证金大小选择指定个数的一级候选节点。3.如权利要求2所述的POS机制下记账节点选择方法,其特征在于:所述的步骤E1中,按如下步骤从候选节点中筛选出二级候选节点:(E11)记账节点对候选节点按收到保证金共识的时...

【专利技术属性】
技术研发人员:梁学栋林辉荣曾胜徐静徐洋洋杨丽赵显丽
申请(专利权)人:四川海纳仁东科技有限公司
类型:发明
国别省市:四川,51

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

1