区块链一维随机数共识推举方法技术

技术编号:16551310 阅读:73 留言:0更新日期:2017-11-14 06:28
本发明专利技术给出了区块链一维随机数共识推举方法,包括:联盟内所有特定节点分别产生随机数xi;所有特定节点之间互相同步随机数xi;每个特定节点分别计算全部随机数的平均值M;每个特定节点中,分别通过比较平均值M与随机数xi之间的距离,取距离最小的持有随机数xi的节点Pi作为候选记账者;所有特定节点之间相互同步候选记账者及参与平均值计算的节点数量值,将各节点推举出的相同的候选记账者作为记账者。

One dimensional random number consensus recommendation method for block chain

The invention provides a block chain including one-dimensional random number consensus method: all elected, specific nodes within the alliance respectively to generate a random number between Xi; all the specific node in sync with each other random number Xi; the average value of each node to calculate all M specific random number respectively; each particular node, by comparing the average value between the M and the random number Xi the distance, take the minimum distance holding node Pi random number Xi as candidate entry; specific node mutual synchronization between all candidate bookkeeping and participating in the average number of nodes calculated values, each node elected candidates the same as those of accounting bookkeeping.

【技术实现步骤摘要】

本专利技术涉及一种区块链技术,是一种用一维随机数共识确定推举人方法。
技术介绍
区块链技术是当前的热门技术,其可以分成三类:公有链、联盟链和私有链。公有链无中心服务器,参与公有链的节点可以按照系统的规则自由接入网络,节点之间基于共识机制开展工作,比特币属于典型的公有链。联盟链是由预先设定参与成员的节点组成,节点网络接入和退出在联盟内进行。私有链一般建立在某个企业内部,系统的运作规则根据企业要求进行设定,进入私有链的成员仍然是由中心控制和制定的。以上所述的三种区块链的类型中,只有公有链真正解决了信任问题,联盟链和私有链还是建立在一定的信任机制的基础之上进行的。但是,由于公有链中“挖矿”需求的算力十分庞大,导致其性能在这三种类型的区块链中是最低的。如,比特币推举记账者的信任机制采用工作量证明方法(即采用“挖矿”的方式),谁率先完成满足一定条件的计算,谁就是记账者。目前比特币的“挖矿”推举记账者的信任机制,是唯一满足随机、公开、共识的要求。但是比特币确定记账者需要进行大量耗时计算,是一种效率不高的确定记账者的方法,不适应联盟链的要求。而目前的联盟链推举记账者的方法并不随机,因而带有中心化的特征。
技术实现思路
本专利技术要解决的技术问题是提供一种随机、公证、共识的记账者确定方法。为解决上述技术问题,本专利技术提供一种区块链一维随机数共识推举方法;包括:联盟内所有特定节点分别产生随机数xi;所有特定节点之间互相同步随机数xi;每个特定节点分别计算全部随机数的平均值M;每个特定节点中,分别通过比较平均值M与随机数xi之间的距离,取距离最小的持有随机数xi的节点Pi作为候选记账者;所有特定节点之间相互同步候选记账者及参与平均值计算的节点数量值,并推举出记账者。作为本专利技术所述的区块链一维随机数共识推举方法的改进:所述特定节点为在随机数产生时间ti,联盟内N个节点中,实际在线的Z个节点。作为本专利技术所述的区块链一维随机数共识推举方法的进一步改进:所述平均值M与随机数xi之间的距离为平均值M和随机数xi之间差值的绝对值。作为本专利技术所述的区块链一维随机数共识推举方法的进一步改进:互相同步随机数步骤:所有特定节点之间相互推送数据块;所述数据块包括但不限于节点标识Pi、随机数xi和随机数xi产生的时间ti。作为本专利技术所述的区块链一维随机数共识推举方法的进一步改进:获得随机数平均值步骤:首先,各特定节点分别验证所述数据块是否合法;若不合法,则重复特定节点分别产生随机数步骤;若合法,则各特定节点分别计算tk到tk+1时间内产生的所有合法随机数x的平均值M。作为本专利技术所述的区块链一维随机数共识推举方法的进一步改进:所述验证步骤包括:随机数判定:随机数xi是否符合xi≤B,所述B的选值为2e,所述e为适量整数;时间判定:时间ti是否在tk到tk+1的时间范围内,所述tk为某一次推举的开始时间,所述tk+1为下一次推举的开始时间;节点标识判定:Z个节点中是否包括节点标识Pi所对应的节点Pi;若随机数判定、时间判定以及节点标识判定均合法,则判定数据块合法;若随机数判定、时间判定以及节点标识判定中任意一项不合法,则判定数据块不合法。作为本专利技术所述的区块链一维随机数共识推举方法的进一步改进:所述平均值计算方法:所述xi分别为对应的节点Pi产生的随机数;所述节点数量值为Z。作为本专利技术所述的区块链一维随机数共识推举方法的进一步改进:所述推举出新的记账者的过程如下:首先,每个特定节点分别计算记账者所对应的节点是否是唯一,若该节点不是唯一,则返回联盟内所有特定节点分别产生随机数步骤;若该节点是唯一,则每个特定节点分别核对任意节点中参与平均值计算的节点数量值是否一致;若不一致,则返回联盟内所有特定节点分别产生随机数步骤,若一致,则完成推举。本专利技术的基本原理是联盟的每一个成员(联盟各成员的节点服务器或终端,也称节点),随机产出一个随机数,每个成员将收到的其它所有成员的随机数和自己的随机数累加后计算平均值,离平均值最近的随机数的成员,就是被随机公开推举的记账者。如果有多个成员的随机数离平均值同样最近,它们之间按此方式再进行一次推举。通过递归,最终推举一位记账者。这个方法效率高,随机、公正、公平,适合联盟链节点推举记账者的作用,并且对于联盟链的去中心化具有重要意义。本专利技术的主要优势在于:1、随机性:本专利中各节点中产生的数据m的整个计算过程是随机的,所以记账者也是随机选择出的,这种随机性实际上与比特币选出记账者是同等的。2、公平性:记账者是随机选出,每一个节点被选为记账者的概率相等,体现了公平性。一个节点对一笔业务的记账有作弊行为,除非该节点本身是记账者才有可能不被发现(实际上我们还会重复算法,选出复验者,此外其它节点也可能对记账结果进行检查)。3、共识性:这个算法是所有在线节点参与的,所有节点按照统一的规范(算法)进行计算,共同推举了记账者。4、安全性:任何一个节点作弊,不影响推举的随机性和公平性,数人甚至于大多数人作弊,只要还有一个节点采用的是随机数,算法系统仍可以做出随机、公平的选择。附图说明下面结合附图对本专利技术的具体实施方式作进一步详细说明。图1是本专利技术的流程示意图。具体实施方式实施例1、图1给出了一种区块链一维随机数共识推举方法BCMOR(ablockchainconsensusmethodbyone-dimensionalrandomnumber,orblockchainchoosemethodbyone-dimensionalrandomnumber),该方法适于联盟链的记账者推举。其具体步骤如下:步骤一、联盟内任一节点P产生随机数x:在一次推举的时间△(△=|tk-tk+1|,tk为某一次推举的开始时间,tk+1为下一次推举的开始时间)范围内,联盟内的N个节点P中,有Z个节点P实际在线,该Z个节点P分别产生对应的随机数x;即,在时间ti(时间ti处于tk到tk+1之间),实际在线的节点为P1、P2、P3、…、Pi、…、Pz;则,对应产生的随机数为x1、x2、x3、…、xi、…、xz;即Pi持有xi。步骤二、节点P向其他节点推送数据块,并接收其他节点P推送来的同类数据块:在步骤一中,产生随机数x的所有节点P相互进行数据块推送,如节点Pi将其数据块推送到其他Z–1个节点P中,而其他Z–1个节点P又反向推送同类数据块到该节点Pi中,即此时,在任意节点Pi中,均同步Z个节点P的所有数据块。以上所述的数据块包括但不限于节点标识Pi、随机数xi和随机数xi产生的时间ti。步骤三、每个节点P分别计算全部Z个节点P所产生随机数x的平均值M:在步骤二中,通过节点P之间的相互数据块推送,使得每个节点P均持有其他Z–1个节点P的相关数据信息;通过对相关数据进行验证,确定本次计算是否合法,该验证的过程如下:随机数验证:随机数xi是否符合xi≤B,B可选值为2e,e为适量整数;时间验证:时间ti是否在t1到t2的时间范围内;节点标识验证:节点Pi是否是节点P1、P2、P3、…、Pi、…、Pz中的一个;一旦随机数验证、时间验证以及节点标识验证均符合以上所述的规则,则确认验证通过;一旦随机数验证、时间验证以及节点标识验证中的任意一项不均符合以上所述的规则,则验证失败,需返本文档来自技高网...
区块链一维随机数共识推举方法

【技术保护点】
一种区块链一维随机数共识推举方法;其特征是:包括:联盟内所有特定节点分别产生随机数xi;所有特定节点之间互相同步随机数xi;每个特定节点分别计算全部随机数的平均值M;每个特定节点中,分别通过比较平均值M与随机数xi之间的距离,取距离最小的持有随机数xi的节点Pi作为候选记账者;所有特定节点之间相互同步候选记账者及参与平均值计算的节点数量值,并推举出记账者。

【技术特征摘要】
1.一种区块链一维随机数共识推举方法;其特征是:包括:联盟内所有特定节点分别产生随机数xi;所有特定节点之间互相同步随机数xi;每个特定节点分别计算全部随机数的平均值M;每个特定节点中,分别通过比较平均值M与随机数xi之间的距离,取距离最小的持有随机数xi的节点Pi作为候选记账者;所有特定节点之间相互同步候选记账者及参与平均值计算的节点数量值,并推举出记账者。2.根据权利要求1所述的区块链一维随机数共识推举方法,其特征是:所述特定节点为在随机数产生时间ti,联盟内N个节点中,实际在线的Z个节点。3.根据权利要求1所述的区块链一维随机数共识推举方法,其特征是:所述平均值M与随机数xi之间的距离为平均值M和随机数xi之间差值的绝对值。4.根据权利要求3所述的区块链一维随机数共识推举方法,其特征是:互相同步随机数步骤:所有特定节点之间相互推送数据块;所述数据块包括但不限于节点标识Pi、随机数xi和随机数xi产生的时间ti。5.根据权利要求4所述的基于区块链随机共识推举记账者的方法,其特征是:获得随机数平均值步骤:首先,各特定节点分别验证所述数据块是否合法;若不合法,则重复特定节点分别产生随机数步骤;若合法,则各特定节点分别计算tk到tk+1时间内产生的所有合法随机...

【专利技术属性】
技术研发人员:叶季青杨立峰叶昊
申请(专利权)人:北京知金链网络技术有限公司
类型:发明
国别省市:北京;11

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

1