CN107481145A - 区块链多维随机数共识推举方法 - Google Patents

区块链多维随机数共识推举方法 Download PDF

Info

Publication number
CN107481145A
CN107481145A CN201710760698.0A CN201710760698A CN107481145A CN 107481145 A CN107481145 A CN 107481145A CN 201710760698 A CN201710760698 A CN 201710760698A CN 107481145 A CN107481145 A CN 107481145A
Authority
CN
China
Prior art keywords
random number
node
specific
block chain
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710760698.0A
Other languages
English (en)
Inventor
叶季青
杨立峰
叶昊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Know Chain Network Technology Co Ltd
Original Assignee
Beijing Know Chain Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Know Chain Network Technology Co Ltd filed Critical Beijing Know Chain Network Technology Co Ltd
Priority to CN201710760698.0A priority Critical patent/CN107481145A/zh
Publication of CN107481145A publication Critical patent/CN107481145A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明给出了一种区块链多维随机数共识推举方法,包括:联盟内所有特定节点分别随机产生一组向量随机数Xi(xi,1,xi,2,…,xi,j,…,xi,m);所有特定节点之间互相同步随机数Xi(xi,1,xi,2,…,xi,j,…,xi,m);每个特定节点首先进行分量平均值计算,再进行综合平均值计算,最后进行随机数平均值计算;每个特定节点中,分别通过比较随机数平均值和综合平均值的距离,选取距离最小或者最大的持有随机数平均值的节点Pi作为候选记账者;所有特定节点之间相互同步候选记账者,将各节点推举出的相同的候选记账者作为记账者。

Description

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

Claims (8)

1.一种区块链多维随机数共识推举方法,其特征是:包括:联盟内所有特定节点分别随机产生一组向量随机数Xi(xi,1,xi,2,…,xi,j,…,xi,m);
所有特定节点之间互相同步随机数Xi(xi,1,xi,2,…,xi,j,…,xi,m);
每个特定节点首先进行分量平均值计算,再进行综合平均值计算,最后进行随机数平均值计算;
每个特定节点中,分别通过比较随机数平均值和综合平均值的距离,选取距离最小或者最大的持有随机数平均值的节点Pi作为候选记账者;
所有特定节点之间相互同步候选记账者及参与平均值计算的节点数量值,并推举出记账者。
2.根据权利要求1所述的区块链多维随机数共识推举方法,其特征是:所述特定节点为在随机数产生的时间ti,联盟内N个节点中,实际在线的Z个节点。
3.根据权利要求1所述的区块链多维随机数共识推举方法,其特征是:所述随机数平均值和综合平均值的距离为综合平均值和随机数平均值之间差值的绝对值。
4.根据权利要求1所述的区块链多维随机数共识推举方法,其特征是:互相同步随机数步骤:
所有特定节点之间相互推送数据块;
所述数据块包括但不限于节点标识Pi、随机数Xi(xi,1,xi,2,…,xi,j,…,xi,m)和随机数Xi(xi,1,xi,2,…,xi,j,…,xi,m)产生的时间ti
5.根据权利要求4所述的区块链多维随机数共识推举方法,其特征是:获得随机数平均值步骤:
首先,各特定节点分别验证所述数据块是否合法;若不合法,则重复特定节点分别产生随机数步骤;
若合法,则各特定节点依次计算tk到tk+1时间内产生的所有合法随机数Xi(xi,1,xi,2,…,xi,j,…,xi,m)的分量平均值、综合平均值、随机数平均值。
6.根据权利要求5所述的区块链多维随机数共识推举方法,其特征是:所述验证步骤包括:
随机数判定:随机数Xi是否符合xi,j≤B,所述B的选值为2e,所述e为适量整数;
时间判定:时间ti是否在tk到tk+1的时间范围内,所述tk为某一次推举的开始时间,所述tk+1为下一次推举的开始时间;
节点标识判定:Z个节点中是否包括节点标识Pi所对应的节点Pi
若随机数判定、时间判定以及节点标识判定均合法,则判定数据块合法;
若随机数判定、时间判定以及节点标识判定中任意一项不合法,则判定数据块不合法。
7.根据权利要求5所述的区块链多维随机数共识推举方法,其特征是:所述各平均值计算:
一次推举各节点所举随机数Xi的j位分量的平均值为
综合平均值
随机数Xi的平均值
所述节点数量值为Z。
8.根据权利要求1-7任一所述的区块链多维随机数共识推举方法,其特征是:所述推举过程如下:
首先,每个特定节点分别计算记账者所对应的节点是否是唯一,若该节点不是唯一,则返回联盟内所有特定节点分别产生随机数步骤;
若该节点是唯一,则每个特定节点分别核对任意节点中参与平均值计算的节点数量值是否一致;若不一致,则返回联盟内所有特定节点分别产生随机数步骤,若一致,则完成推举。
CN201710760698.0A 2017-08-30 2017-08-30 区块链多维随机数共识推举方法 Pending CN107481145A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710760698.0A CN107481145A (zh) 2017-08-30 2017-08-30 区块链多维随机数共识推举方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710760698.0A CN107481145A (zh) 2017-08-30 2017-08-30 区块链多维随机数共识推举方法

Publications (1)

Publication Number Publication Date
CN107481145A true CN107481145A (zh) 2017-12-15

Family

ID=60603575

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710760698.0A Pending CN107481145A (zh) 2017-08-30 2017-08-30 区块链多维随机数共识推举方法

Country Status (1)

Country Link
CN (1) CN107481145A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108616363A (zh) * 2018-05-11 2018-10-02 北京奇虎科技有限公司 一种记账权确认方法、装置及计算机存储介质
CN108831002A (zh) * 2018-07-06 2018-11-16 电子科技大学 一种基于区块链的福利彩票公平开奖方法
KR101949712B1 (ko) * 2018-06-29 2019-02-19 (주) 와이즈엠글로벌 계층화되고 확률적인 대표자 선출에 의한 노드증명방식의 합의과정과 대가 배분과정을 가지는 블록체인 생성 방법
CN110022231A (zh) * 2019-03-26 2019-07-16 广州供电局有限公司 区块链共识推举方法
CN110505084A (zh) * 2019-08-01 2019-11-26 江苏万链区块链技术研究院有限公司 一种区块链打包节点共识推举方法
CN110570309A (zh) * 2019-09-16 2019-12-13 上海保险交易所股份有限公司 用于更换区块链网络的领导者的方法和系统
CN110647311A (zh) * 2018-06-27 2020-01-03 厦门本能管家科技有限公司 一种不可操控的随机数生成方法及系统
CN111447274A (zh) * 2020-03-26 2020-07-24 北京京东振世信息技术有限公司 节点选取方法及装置
CN111612445A (zh) * 2020-05-21 2020-09-01 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、系统、设备和存储介质
CN113055370A (zh) * 2021-03-08 2021-06-29 北京知金链网络技术有限公司 区块链随机数共识推举bcr方法
WO2022166791A1 (zh) * 2021-02-07 2022-08-11 全馨资讯有限公司 相关于区块挖矿的工作量证明的方法和运算装置

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108616363A (zh) * 2018-05-11 2018-10-02 北京奇虎科技有限公司 一种记账权确认方法、装置及计算机存储介质
CN108616363B (zh) * 2018-05-11 2021-08-06 北京奇虎科技有限公司 一种记账权确认方法、装置及计算机存储介质
CN110647311A (zh) * 2018-06-27 2020-01-03 厦门本能管家科技有限公司 一种不可操控的随机数生成方法及系统
KR101949712B1 (ko) * 2018-06-29 2019-02-19 (주) 와이즈엠글로벌 계층화되고 확률적인 대표자 선출에 의한 노드증명방식의 합의과정과 대가 배분과정을 가지는 블록체인 생성 방법
CN108831002A (zh) * 2018-07-06 2018-11-16 电子科技大学 一种基于区块链的福利彩票公平开奖方法
CN110022231A (zh) * 2019-03-26 2019-07-16 广州供电局有限公司 区块链共识推举方法
CN110505084A (zh) * 2019-08-01 2019-11-26 江苏万链区块链技术研究院有限公司 一种区块链打包节点共识推举方法
CN110505084B (zh) * 2019-08-01 2022-06-10 江苏万链区块链技术研究院有限公司 一种区块链打包节点共识推举方法
CN110570309A (zh) * 2019-09-16 2019-12-13 上海保险交易所股份有限公司 用于更换区块链网络的领导者的方法和系统
CN110570309B (zh) * 2019-09-16 2023-06-16 上海保险交易所股份有限公司 用于更换区块链网络的领导者的方法和系统
CN111447274B (zh) * 2020-03-26 2023-06-02 北京京东振世信息技术有限公司 节点选取方法及装置
CN111447274A (zh) * 2020-03-26 2020-07-24 北京京东振世信息技术有限公司 节点选取方法及装置
CN111612445A (zh) * 2020-05-21 2020-09-01 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、系统、设备和存储介质
WO2022166791A1 (zh) * 2021-02-07 2022-08-11 全馨资讯有限公司 相关于区块挖矿的工作量证明的方法和运算装置
CN113055370A (zh) * 2021-03-08 2021-06-29 北京知金链网络技术有限公司 区块链随机数共识推举bcr方法
CN113055370B (zh) * 2021-03-08 2023-10-10 北京知金链网络技术有限公司 区块链随机数共识推举bcr方法

Similar Documents

Publication Publication Date Title
CN107347009B (zh) 区块链一维随机数共识推举方法
CN107481145A (zh) 区块链多维随机数共识推举方法
CN107493173B (zh) 区块链随机数共识推举方法
Hong et al. Pyramid: A layered sharding blockchain system
CN109523683B (zh) 一种基于区块链技术的不记名电子投票方法
CN111464518B (zh) 一种跨链通信数据的发送、验证方法及装置
CN112039964A (zh) 一种基于区块链的节点信誉共识方法
CN111131181A (zh) 一种基于信誉机制和DPBFT算法的区块链动态DPoS共识方法
CN111090892A (zh) 一种基于vrf和门限签名的区块链共识方法和装置
CN110022231A (zh) 区块链共识推举方法
Merlini et al. On public decentralized ledger oracles via a paired-question protocol
US11580808B2 (en) System and method for cryptographic choice mechanisms
CN111292098A (zh) 一种面向可信服务供应链的区块链共识机制构建方法
CN112468255A (zh) 基于网络共识结合vrf算法的区块链节点时间同步方法
CN111131298A (zh) 一种基于信用去中心化的poc高效共识机制及实现方法
Shi et al. Pooling is not favorable: Decentralize mining power of PoW blockchain using age-of-work
CN108596586A (zh) 区块链运行方法及记账权节点
Corman et al. A Secure Group Agreement (SGA) protocol for peer-to-peer applications
Pranitha et al. Utilization of blockchain in e-voting system
CN111865595A (zh) 一种区块链的共识方法及装置
WO2021016546A1 (en) Unity protocol consensus
Cachin et al. Blockchains and consensus protocols
CN113055370B (zh) 区块链随机数共识推举bcr方法
CN109617691A (zh) 在多用户群认证中使用模运算的群认证方法及系统
CN111443895A (zh) 一种应用于区块链的可验证随机数生成方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20171215

RJ01 Rejection of invention patent application after publication