一种基于贡献度的随机签共识机制算法制造技术

技术编号:22566039 阅读:48 留言:0更新日期:2019-11-16 12:26
本发明专利技术涉及了一种基于贡献度的随机签共识机制算法。该共识机制算法的提出目的在于将共识机制与贡献度相结合,贡献度可以是任何场景下的贡献指标。由于共识机制是用来选择生成区块的矿工的,因此贡献度是与每一个节点绑定在一起的,每个节点都具备自己的贡献度。该算法依赖于节点的贡献度,将贡献度进行标准化处理,根据合理的贡献度占比计算方式,以此生成适量的具有唯一标识的签,再按每个节点的贡献度占比将这些签随机分发给每一个节点,贡献度越高者获得的签数量就越多。然后,从生成的所有签中随机抽取一个签,若某节点有与该签相同的签即被选为矿工。下次选择矿工时,会根据下一时刻的贡献度情况重新生成签进行矿工选择。

A random signature consensus mechanism algorithm based on contribution degree

The invention relates to a random sign consensus mechanism algorithm based on contribution degree. The purpose of this consensus mechanism algorithm is to combine the consensus mechanism with contribution degree, which can be the contribution index in any scenario. Because the consensus mechanism is used to select the miners who generate blocks, the contribution degree is bound with each node, and each node has its own contribution degree. The algorithm depends on the contribution degree of each node, and standardizes the contribution degree. According to the reasonable calculation method of contribution degree proportion, it generates a proper number of unique tags, and then randomly distributes these tags to each node according to the contribution degree proportion of each node. The more contribution degree, the more number of tags. Then, a random signature is selected from all the generated signatures. If a node has the same signature as this one, it will be selected as the miner. The next time the miner is selected, a new sign will be generated to select the miner according to the contribution of the next time.

【技术实现步骤摘要】
一种基于贡献度的随机签共识机制算法
本专利技术涉及一种基于贡献度的随机签共识机制算法,属于区块链底层

技术介绍
区块链技术在近几年持续发展,其底层是由多种技术结合来实现的,在这些技术中共识机制是区块链里极其关键的部分。随着技术不断进步,共识机制的类型也越来越多,常见的如PoW工作量证明共识机制、PoS股权证明共识机制、DPoS授权股权证明共识机制、PBFT实用拜占庭容错共识机制等,这些共识机制各有各的优势,然而它们中的大部分实际上并不能很好地与现实应用结合,例如PoW工作量证明共识机制依靠算力来选择矿工,极大地浪费计算机资源;PoS股权证明共识机制按照持币数量比例以及持有时间来选择矿工,尽管节能,但实际意义不大。而当今社会崇尚贡献越多,得到越多的观念,因此若能将贡献与区块链的共识机制相结合是一种合理的方式。
技术实现思路
本专利技术的目的在于:针对现有技术存在的缺陷,提出了自适感知式的区块链混合共识机制架构及其使用方法。该共识机制算法的提出目的在于将共识机制与贡献度相结合,贡献度可以是任何场景下的贡献指标。由于共识机制是用来选择生成区块的矿工的,因此贡献度是与每一个节点绑定在一起的,每个节点都具备自己的贡献度。该算法依赖于节点的贡献度,将贡献度进行标准化处理,根据合理的贡献度占比计算方式,以此生成适量的具有唯一标识的签,再按每个节点的贡献度占比将这些签随机分发给每一个节点,贡献度越高者获得的签数量就越多。然后,从生成的所有签中随机抽取一个签,若某节点有与该签相同的签即被选为矿工。下次选择矿工时,会根据下一时刻的贡献度情况重新生成签进行矿工选择。为了达到以上目的,本专利技术提供了一种基于贡献度的随机签共识机制算法,所述共识机制算法包括如下部分:挖矿奖励计算,该共识机制算法的挖矿奖励是根据平台状态动态变化的,依赖于区块链运行时间、平台总贡献度、平台用户活跃度和用户贡献均衡度四个因素决定;随机签分发,该共识机制算法在选择矿工之前,首先根据各节点的贡献度计算出每个节点的贡献度占比,同时根据节点总贡献度生成适当数量的签,根据占比将这些签随机地分发给各节点,以签来作为选择矿工的标准;矿工选择,该共识机制算法将签分发给每个节点后,会从生成的所有签中随机抽取一个签作为矿工签,通过矿工签去匹配各节点手上的签,若匹配且验证成功,即将该节点选为矿工,并发放矿工奖励。进一步的,所述挖矿奖励计算中,区块链运行时间T:指区块链平台从开始运作时刻与当前时刻的时间差;该因素与挖矿奖励应该呈正相关,即区块链运行时间越长,挖矿奖励就越多,但奖励增长趋势应是随时间推移而变缓;平台总贡献度C:指区块链平台所有有效节点的贡献度总和;该因素与挖矿奖励应该呈正相关,即平台总贡献度越多,挖矿奖励就越多,但奖励增长趋势应是随平台总贡献度增加而变缓;平台用户活跃度A:指各节点在区块链平台上的活跃情况,也就是各节点在平台上进行各项操作的综合统计数值,以此来反应平台对用户的价值性;该因素与挖矿奖励应该呈正相关,即平台用户活跃度越高,挖矿奖励就越多,但奖励增长趋势应是随着平台用户活跃度增高而变缓;用户贡献均衡度B:指区块链平台上各节点的贡献度分布均衡性,以此因素来避免由于某少数节点贡献极多而主导平台总贡献度的状况,激励节点合理的贡献于平台;该因素与挖矿奖励应该呈正相关,即用户贡献均衡度越高,挖矿奖励就越多,但奖励增长趋势应是随着用户贡献均衡度增高而变缓。进一步的,通过层次分析法AHP对前述四个因素的权重进行计算,以此判断对于不用的应用场景中,四个因素的重要程度的差异。进一步的,所述随机签共识机制算法为:首先对签的生成进行说明,本质上签就是某数字进行加密后的结果,根据区块链平台用户节点的总贡献度随机生成N个数字,这些数字并非是连续的,然后采用椭圆曲线加密算法对这些数字进行加密,生成N个数字密文,即生成N个签,由于生成的N个数字都是不同的,因此签也是唯一的。其具体步骤如下:步骤1,共识机制算法开始运作后,从区块链平台中获得区块链运行时间、平台总贡献度、平台用户活跃度和用户贡献均衡度,根据这四个因素计算本次共识机制生成区块所需要发放的挖矿奖励,计算完毕后将挖矿奖励值临时存储在奖励缓存池中,等待被使用;步骤2,挖矿奖励处理完毕后,再次向区块链平台获取平台总贡献度和每个用户节点的个人贡献度,此时需要验证每个用户节点和其个人贡献度值是否有效;若验证无效,即将相应的用户节点排除在本次挖矿候选人外,本次挖矿也不再考虑该节点的贡献度,并在平台总贡献度中将其减去;若验证有效,即检验下一个节点;当所有节点都检验完毕后,就进行生成随机签环节;步骤3,生成随机签时,根据获取到的各用户节点的个人贡献度和平台总贡献度,用如下公式计算每个用户节点的贡献度占比:Pi=ci/C其中,Pi表示i节点的贡献度占比;ci表示i节点的个人贡献度;C表示平台总贡献度;以平台总贡献度为上限,1为下限,通过随机数算法从该数字区间中选取N个不相同且不连续的数字,N不能过小也不能过大,由平台开发者进行分析选择。再通过椭圆曲线加密算法对选取到的N个数字进行加密封装,以确保数字的隐私性,所以数字加密封装完毕后,生成本次挖矿的随机签集合,也称为随机签域;步骤4,随机签生成后,就要将随机签分发给每一个用户节点。先前计算了每一个用户节点的贡献度占比,根据贡献度占比可计算求得每个用户节点应该被分发多少个随机签,如下公式所示:ni=N·Pi其中,ni表示i节点应获得的随机签数量;计算统计完每一个用户节点应获得的随机签数量后,即进行随机签的分发,为了保证用户节点获得的随机签确实来源于平台,避免被攻击者篡改随机签,分发随机签之前利用椭圆曲线数字签名进行签名操作,即用椭圆曲线私钥对随机签进行签名,签名完毕后分发给相应的用户节点,从随机签域中选择随机签时依然是随机选取。当用户节点收到平台分发的随机签时,立即就会对随机签来源进行验证,若验证无效,则马上反馈给平台,平台根据先前分发随机签的临时记录,再一次将该随机签分发给反馈用户节点;若验证有效,则无需任何操作,等待抽签即可;步骤5,随机签分发到每个有效用户节点之后,即进行抽签选择矿工步骤。算法从本次生成的随机签中随机抽取一个随机签,用该随机签与每一个用户节点中的随机签进行匹配,匹配过程需要对随机签进行解密操作;倘若在A节点中匹配到了该随机签,那么A节点就被选为了本次生成区块的矿工;步骤6,矿工选择完毕后,即由该矿工节点生成新的区块,同时从奖励缓存池中获取本次挖矿奖励值,根据挖矿奖励值将挖矿奖励分发给该矿工,此时本次挖矿结束;步骤7,在进行下一次挖矿时,需要对1-6步骤重新执行,也就是需要重新获取区块链运行时间、平台总贡献度、平台用户活跃度和用户贡献度均衡度来计算挖矿奖励和随机签域与现有技术相比,本专利技术的主要贡献和特点在于:(1)该共识机制不需要消耗大量算力,节能。(2)该本文档来自技高网...

【技术保护点】
1.一种基于贡献度的随机签共识机制算法,其特征在于:所述共识机制算法包括如下部分:/n挖矿奖励计算,/n该共识机制算法的挖矿奖励是根据平台状态动态变化的,依赖于区块链运行时间、平台总贡献度、平台用户活跃度和用户贡献均衡度四个因素决定;/n随机签分发,/n该共识机制算法在选择矿工之前,首先根据各节点的贡献度计算出每个节点的贡献度占比,同时根据节点总贡献度生成适当数量的签,根据占比将这些签随机地分发给各节点,以签来作为选择矿工的标准;/n矿工选择,/n该共识机制算法将签分发给每个节点后,会从生成的所有签中随机抽取一个签作为矿工签,通过矿工签去匹配各节点手上的签,若匹配且验证成功,即将该节点选为矿工,并发放矿工奖励。/n

【技术特征摘要】
1.一种基于贡献度的随机签共识机制算法,其特征在于:所述共识机制算法包括如下部分:
挖矿奖励计算,
该共识机制算法的挖矿奖励是根据平台状态动态变化的,依赖于区块链运行时间、平台总贡献度、平台用户活跃度和用户贡献均衡度四个因素决定;
随机签分发,
该共识机制算法在选择矿工之前,首先根据各节点的贡献度计算出每个节点的贡献度占比,同时根据节点总贡献度生成适当数量的签,根据占比将这些签随机地分发给各节点,以签来作为选择矿工的标准;
矿工选择,
该共识机制算法将签分发给每个节点后,会从生成的所有签中随机抽取一个签作为矿工签,通过矿工签去匹配各节点手上的签,若匹配且验证成功,即将该节点选为矿工,并发放矿工奖励。


2.根据权利要求1所述的一种基于贡献度的随机签共识机制算法,其特征在于:所述挖矿奖励计算中,
区块链运行时间T:指区块链平台从开始运作时刻与当前时刻的时间差;该因素与挖矿奖励应该呈正相关,即区块链运行时间越长,挖矿奖励就越多,但奖励增长趋势应是随时间推移而变缓;
平台总贡献度C:指区块链平台所有有效节点的贡献度总和;该因素与挖矿奖励应该呈正相关,即平台总贡献度越多,挖矿奖励就越多,但奖励增长趋势应是随平台总贡献度增加而变缓;
平台用户活跃度A:指各节点在区块链平台上的活跃情况,也就是各节点在平台上进行各项操作的综合统计数值,以此来反应平台对用户的价值性;该因素与挖矿奖励应该呈正相关,即平台用户活跃度越高,挖矿奖励就越多,但奖励增长趋势应是随着平台用户活跃度增高而变缓;
用户贡献均衡度B:指区块链平台上各节点的贡献度分布均衡性,以此因素来避免由于某少数节点贡献极多而主导平台总贡献度的状况,激励节点合理的贡献于平台;该因素与挖矿奖励应该呈正相关,即用户贡献均衡度越高,挖矿奖励就越多,但奖励增长趋势应是随着用户贡献均衡度增高而变缓。


3.根据权利要求2所述的一种基于贡献度的随机签共识机制算法,其特征在于:通过层次分析法AHP对前述四个因素的权重进行计算,以此判断对于不用的应用场景中,四个因素的重要程度的差异。


4.根据权利要求1所述的一种基于贡献度的随机签共识机制算法,其特征在于:所述随机签共识机制算法为:首先对签的生成进行说明,本质上签就是某数字进行加密后的结果,根据区块链平台用户节点的总贡献度随机生成N个数字,这些数字并非是连续的,然后采用椭圆曲线加密算法对这些数字进行加密,生成N个数字密文,即生成N个签,由于生成的N个数字都是不同的,因此签也是唯一的。


5.根据权利要求4所述的一种基于贡献度的随机签共识机制算法,其特征在于:所述随机签共识机制算法的具体步骤如下:
步骤1,共识机制算法开始运作后,...

【专利技术属性】
技术研发人员:王纪涛孙国梓谷宇
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏;32

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

1