CN109067516B - 一种抽签方法、共识方法、设备和存储介质 - Google Patents

一种抽签方法、共识方法、设备和存储介质 Download PDF

Info

Publication number
CN109067516B
CN109067516B CN201810806707.XA CN201810806707A CN109067516B CN 109067516 B CN109067516 B CN 109067516B CN 201810806707 A CN201810806707 A CN 201810806707A CN 109067516 B CN109067516 B CN 109067516B
Authority
CN
China
Prior art keywords
consensus
node
random number
nodes
random numbers
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.)
Active
Application number
CN201810806707.XA
Other languages
English (en)
Other versions
CN109067516A (zh
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.)
Hangzhou Fuzamei Technology Co Ltd
Original Assignee
Hangzhou Fuzamei 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 Hangzhou Fuzamei Technology Co Ltd filed Critical Hangzhou Fuzamei Technology Co Ltd
Priority to CN201810806707.XA priority Critical patent/CN109067516B/zh
Publication of CN109067516A publication Critical patent/CN109067516A/zh
Application granted granted Critical
Publication of CN109067516B publication Critical patent/CN109067516B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明设计了一种抽签方法,首先冻结一定数量的资产,以获取与资产相应数量的随机数的资格;其次,根据上一个区块的公开信息生成随机数;再根据所持有的随机数和预配置的难度值判断当前节点是否被选取为共识委员会成员;最后,广播所持有的随机数,并接收其它节点广播的随机数,将所持有的随机数与其它节点广播的随机数排序后,根据预配置的规则将排序结果中各随机数对应的共识委员会成员划分为记账节点和共识节点的方法,使得每一轮共识时,共识委员会成员都是由不同的节点组成的,解决了共识委员会成员为了获取利益进行合谋而损害其它节点利益的问题。

Description

一种抽签方法、共识方法、设备和存储介质
技术领域
本发明涉及区块链技术领域,涉及一种抽签方法、共识方法、设备和存储介质。
背景技术
现有的区块链网络中,由于节点数量大,导致每个区块只能打包较少的交易信息。为了提高区块链网络每秒打包交易数量的性能,现有的解决方法是,挑选出固定的若干个拥有较强公信力的超级节点组成共识委员会。超级节点作为共识委员会成员,对交易信息进行共识,生成区块等操作。由于超级节点是固定不变的,理论上来说,谁也没有办法保证超级节点不会为了利益进行合谋,损害其它节点的利益。
综上所述,当前需要提供一种可以成功杜绝共识委员会成员进行合谋而损害其它节点利益的方法。
发明内容
有鉴于此,本发明提供一种解决或部分解决上述问题的一种抽签方法。
第一方面,本发明提供一种抽签方法,包括:
冻结一定数量的资产,以获取与资产相应数量的随机数的资格;
根据上一个区块的公开信息生成随机数;
根据所持有的随机数和预配置的难度值判断当前节点是否被选取为共识委员会成员;
广播所持有的随机数,并接收其它节点广播的随机数,将所持有的随机数与其它节点广播的随机数排序后,根据预配置的规则将排序结果中各随机数对应的共识委员会成员划分为记账节点和共识节点。
第二方面,本发明还提供一种共识方法,包括:
使用BFT共识算法进行两阶段投票操作后生成区块。
第三方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的抽签方法和共识方法。
第四方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的抽签方法和共识方法。
本发明的有益成果为:
本发明设计了一种抽签方法,首先冻结一定数量的资产,以获取与资产相应数量的随机数的资格;其次,根据上一个区块的公开信息生成随机数;再根据所持有的随机数和预配置的难度值判断当前节点是否被选取为共识委员会成员;最后,广播所持有的随机数,并接收其它节点广播的随机数,将所持有的随机数与其它节点广播的随机数排序后,根据预配置的规则将排序结果中各随机数对应的共识委员会成员划分为记账节点和共识节点的方法,使得每一轮共识时,共识委员会成员都是由不同的节点组成的,解决了共识委员会成员为了获取利益进行合谋而损害其它节点利益的问题。
本发明设计了一种可以执行上述抽签方法的共识方法,使用BFT共识算法进行两阶段投票操作后生成区块,提高了区块链网络每秒打包交易数量的性能。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例提供的一种抽签方法的流程图。
图2为图1所示的一种优选实施方式中步骤S13的流程图。
图3为图1所示的一种优选实施方式的流程图。
图4为本发明一实施例提供的一种共识方法的流程图。
图5为本发明一实施例提供的一种设备的结构示意图。
具体实施方法
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1为本发明一实施例提供的一种抽签方法的流程图。如图1所示,在本实施例中,本发明提供一种抽签方法,包括:
S11:冻结一定数量的资产,以获取与资产相应数量的随机数的资格;
S13:根据上一个区块的公开信息生成随机数;
S15:根据所持有的随机数和预配置的难度值判断当前节点是否被选取为共识委员会成员;
S17:广播所持有的随机数,并接收其它节点广播的随机数,将所持有的随机数与其它节点广播的随机数排序后,根据预配置的规则将排序结果中各随机数对应的共识委员会成员划分为记账节点和共识节点。
具体的,假设有如下应用场景,所述资产为资产代币,每冻结10000个资产代币可以拥有获取1个随机数的资格;假设节点A有10000个资产代币,节点A所持有的随机数小于预配置的难度值。
在步骤S11中,节点A冻结10000个资产代币,节点A获得1个随机数;
在步骤S13中,节点A根据根据上一个区块的公开信息生成节点A的随机数;
在步骤S15中,节点A根据所持有的随机数和预配置的难度值判断节点A是否被选取为共识委员会成员,由于节点A所持有的随机数小于预配置的难度值,因此节点A被选取为共识委员会成员。
在步骤S17中,节点A广播所持有的随机数,并接收其它节点广播的随机数,节点A将所持有的随机数与其它节点广播的随机数排序后,根据预配置的规则将排序结果中各随机数对应的共识委员会成员划分为记账节点和共识节点。
需要说明的是,在当前实施例中,默认当前区块链网络中拥有获取随机数资格的节点数远大于共识委员会成员数,此时,节点冻结一定数量的资产,以获取与资产相应数量的随机数的资格;在更多实施例中,若当前区块链网络中拥有获取随机数资格的节点数仅略大于共识委员会成员数时,设定区块链网络中的所有节点冻结一定数量的资产后,可以通过加法、乘法等其它算法获取与资产相应数量的N倍的随机数的资格,其中,N为大于1的正数,若随机数经计算后不为整数,则取随机数的整数部分为随机数的数量。
图2为图1所示的一种优选实施方式中步骤S13的流程图。如图2所示,在一优选实施例中,步骤S13包括:
S131:获取上一个区块的区块头信息;
S133:对区块头信息和当前节点的公钥进行哈希运算,得到第一哈希值;
S135:通过当前节点的私钥对第一哈希值进行签名,生成签名信息;
S137:对签名信息进行哈希运算,得到随机数。
具体的,假设有如下应用场景,当前区块的区块高度为H,上一个区块的区块高度为H-1,上一个区块的区块头信息为Head(H-1)
在步骤S131中,节点A获取上一个区块的区块头信息Head(H-1);
在步骤S133中,节点A对区块头信息Head(H-1)和节点A的公钥Pub(A)进行哈希运算,得到第一哈希值,hash1=sha256(Head(H-1)+Pub(A));
在步骤S135中,节点A通过节点A的私钥Priv对第一哈希值hash1进行签名,生成签名信息,sign=Sign(Priv(A),hash1);
在步骤S137中,节点A对签名信息sign进行哈希运算,得到随机数,R=sha256(sign)。
随机数的生成具有随机性和可验证性,既不能被预测也不能被造假。需要说明的是,在当前实施例中,哈希运算使用的是sha256()算法,上一个区块的公开信息为上一个区块的区块头信息;在更多实施例中,哈希运算可以是MD5、sha1、sha2或其它计算哈希值的算法,上一个区块的公开信息可以是上一个区块的梅克尔根或其它公开信息;为增加随机数的离散性,在步骤S133中,可以通过加法、乘法等其它算法对区块头信息Head(H-1)进行运算,均可实现相同的技术效果。
在一优选实施例中,比对当前节点所持有的随机数和预配置的难度值的大小判断当前节点是否被选取为共识委员会成员,若当前节点所持有的随机数小于预配置的难度值,则当前节点被选取为共识委员会成员。
在一优选实施例中,广播当前节点所持有的随机数,并接收其它节点广播的随机数,将当前节点所持有的随机数与其它节点广播的随机数排序后,根据预配置的规则将排序结果中各随机数对应的共识委员会成员划分为记账节点和共识节点包括:
将所持有的随机数与接收其它节点广播的随机数进行排序操作;
选取数值最小的随机数所对应的节点为当前区块的记账节点,除去记账节点外的共识委员会成员为当前区块的共识节点。
图3为图1所示的一种优选实施方式的流程图。如图3所示,在一优选实施例中,根据上一个区块的公开信息生成随机数,包括:
S21:设置超时时长;
S23:根据上一个区块的公开信息生成随机数;
S25:根据所持有的随机数和预配置的难度值判断当前节点是否被选取为共识委员会成员;
S27:在超时时长内,根据共识委员会成员数和预配置的共识委员会成员数的阈值判断共识委员会成员数是否形成完整的共识委员会,若否,则未形成共识委员会,不划分记账节点和共识节点。
具体的,假设有如下应用场景,设置超时时长为15s,设定参与共识的共识委员会成员共有33个,在超时时长内,共识委员会成员未到达33个,未形成共识委员会。
在步骤S21中,设置超时时长,超时时长为15s;
在步骤S23中,节点A根据节点A的上一个区块的公开信息生成随机数;
在步骤S25中,节点A根据所持有的随机数和预配置的难度值判断节点A是否被选取为共识委员会成员,由于节点A的随机数小于预配置的难度值,因此节点A被选取为共识委员会成员;
在步骤S27中,节点A在超时时长内,根据共识委员会成员数和预配置的共识委员会成员数的阈值判断共识委员会成员数是否形成完整的共识委员会,由于在15s内,共识委员会成员未到达33个,未形成共识委员会,因此未形成共识委员会,不划分记账节点和共识节点。
在一优选实施例中,上一个区块高度未形成所述共识委员会时,区块链网络在当前区块高度调整预配置的难度值,包括:
在当前区块高度时调整预配置的难度值,以供在超时时长内,有足够的节点被选取为共识委员会成员;
在超时时长内形成完整的共识委员会。
具体的,设定参与共识的共识委员会成员共有33个。上一个区块高度为H-1,且在15s内,只有30个节点所持有的随机数小于预配置的难度值,未形成共识委员会。在区块高度为H时,区块链网络调整预配置的难度值,使得在15s内,有大于或等于33个节点被选取为共识委员会成员,从而形成完整的共识委员会。
在本实施例中,假设通过改变难度系数的值来调整预配置的难度值。假设预配置的难度值D与难度系数C的关系为:D=33*C;由于上一个区块高度为H-1,且在15s内,只有30个节点所持有的随机数小于预配置的难度值,未形成共识委员会,因此在区块高度为H时,应增大难度系数C,从而增大难度值D;预配置的难度值D的数值越高,节点越容易满足所持有的随机数R小于预配置的难度值D的条件,在超时时长15s内,有足够的节点被选取为共识委员会成员,从而形成完整的共识委员会。需要说明的是,在更多实施例中,预配置的难度值可以不仅仅通过难度系数的方法改变,还可以通过加法、乘法等其它算法改变,均可实现相同的技术效果。
在一优选实施例中,比对当前区块链网络中拥有随机数资格的节点数与预配置的共识委员会成员数,若当前区块链网络中拥有随机数资格的节点数与预配置的共识委员会成员数的差值小于第一阈值,根据上一个区块的公开信息生成随机数的步骤包括:
在预设范围内遍历第一参数以遍历生成不同的随机数直至所生成的随机数满足被选取为共识委员会成员的条件,其中,随机数通过将公开信息输入第一公式生成,第一公式中配置有第一参数。
具体的,假设预配置的共识委员会成员数为33,第一阈值为预配置的共识委员会成员数即也为33,预设范围为0至999的递增整数;若当前区块链网络中拥有随机数资格的节点数与预配置的共识委员会成员数的差值小于33,则在0至999的递增整数范围内,遍历第一参数以遍历生成不同的随机数直至所生成的随机数满足被选取为共识委员会成员的条件;假设第一参数为M,第一公式为R=sha256(Sign(Priv,sha256(Head(H-1)+M+Pub))),设定M为非负整数;节点首先计算第一个随机数,R0=sha256(Sign(Priv,sha256(Head(H-1)+0+Pub))),若R0不满足成为共识委员会成员的条件,则计算第二个随机数,R1=sha256(Sign(Priv,sha256(Head(H-1)+1+Pub))),节点通过遍历第一参数以遍历生成不同的随机数,直至生成的随机数满足成为共识委员会成员的条件。
需要说明的是,在当前实施例中,预配置的共识委员会成员数为33,第一阈值为预配置的共识委员会成员数即也为33,预设范围为0至999的递增整数,哈希运算使用的是sha256()算法,第一参数M为非负整数,第一公式为R=sha256(Sign(Priv,sha256(Head(H-1)+M+Pub)));在更多实施例中,可以根据实际需求调整共识委员会成员数、第一阈值及预设范围,哈希运算可以是MD5、sha1、sha2或其它计算哈希值的算法,第一公式可以为其它公式,第一参数可以不为非负整数,均可实现相同的技术效果。
在一优选实施例中,设置计时器;通过计时器对生成随机数的过程进行计时操作,以获得节点成为共识委员会成员实际消耗时长的信息。
在一优选实施例中,在当前区块高度,根据实际消耗时长的信息和预配置的消耗时长信息判断当前节点生成随机数的时长是否超时:若超时,则在若干个区块高度后调整预配置的难度值,以供节点在预配置的消耗时长内成为共识委员会成员。
具体的,在本实施例中,假设预配置的消耗时长为15s,实际消耗时长超过15s,当前区块高度为H-1,若干个区块高度为1个区块高度,通过改变难度系数的值来调整预配置的难度值;假设预配置的难度值D与难度系数C的关系为:D=33*C;在区块高度为H-1时,由于成为共识委员会成员的实际消耗时长超过预配置的消耗时长,应增大难度系数C,从而增大难度值D;预配置的难度值D的数值越高,节点越容易满足所持有的随机数R小于预配置的难度值D的条件,使得经过1个区块高度后,即区块高度为H时,成为共识委员会成员的实际消耗时长不超过预配置的消耗时长。需要说明的是,在更多实施例中,若干个区块高度的值可以通过需求进行具体分配,预配置的难度值可以不仅仅通过难度系数的方法改变,还可以通过加法、乘法等其它算法改变,均可实现相同的技术效果。
图4为本发明一实施例提供的一种共识方法的流程图。如图4所示,在本实施例中,本发明提供一种共识方法,包括:
S31:使用BFT共识算法进行两阶段投票操作后生成区块。
在一优选实施例中,当记账节点生成正确的区块时,记账节点将获取一定数额的资产作为奖励。
在一优选实施例中,当共识节点对记账节点生成区块做出两阶段正确的投票操作后,共识节点将获取一定数额的资产作为奖励。
图5为本发明一实施例提供的一种设备的结构示意图。
如图5所示,作为另一方面,本申请还提供了一种设备500,包括一个或多个中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM503中,还存储有设备800操作所需的各种程序和数据。CPU501、ROM502以及RAM503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本公开的实施例,上述任一实施例描述的股权证明共识方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行抽签方法和共识方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请的抽签方法和共识方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
以上所述仅为本发明之较佳实施例,并非用以限定本发明的权利要求保护范围。同时以上说明,对于相关技术领域的技术人员应可以理解及实施,因此其他基于本发明所揭示内容所完成的等同改变,均应包含在本权利要求书的涵盖范围内。

Claims (14)

1.一种抽签方法,其特征在于,包括:
冻结一定数量的资产,以获取与资产相应数量的随机数的资格;
根据上一个区块的公开信息生成所述随机数;
根据所持有的随机数和预配置的难度值判断当前节点是否被选取为共识委员会成员;
广播所持有的随机数,并接收其它节点广播的随机数,将所持有的随机数与其它节点广播的随机数排序后,根据预配置的规则将排序结果中各随机数对应的共识委员会成员划分为记账节点和共识节点。
2.根据权利要求1所述的方法,其特征在于,所述根据上一个区块的公开信息生成随机数包括:
获取上一个区块的区块头信息;
对所述区块头信息和当前节点的公钥进行哈希运算,得到第一哈希值;
通过当前节点的私钥对所述第一哈希值进行签名,生成签名信息;
对所述签名信息进行哈希运算,得到所述随机数。
3.根据权利要求1所述的方法,其特征在于,所述根据所持有的随机数和预配置的难度值判断当前节点是否被选取为共识委员会成员,包括:
比对所持有的随机数和预配置的难度值的大小,若所持有的随机数小于预配置的难度值,则被选取为共识委员会成员。
4.根据权利要求1所述的方法,其特征在于,所述广播所持有的随机数,并接收其它节点广播的随机数,将所持有的随机数与其它节点广播的随机数排序后,根据预配置的规则将排序结果中各随机数对应的共识委员会成员划分为记账节点和共识节点包括:
将所持有的随机数与接收其它节点广播的随机数进行排序操作;
选取数值最小的随机数所对应的节点为当前区块的记账节点,除去所述记账节点外的所述共识委员会成员为当前区块的共识节点。
5.根据权利要求1所述的方法,其特征在于,所述根据上一个区块的公开信息生成随机数,包括:
设置超时时长;
根据上一个区块的公开信息生成随机数;
根据所持有的随机数和预配置的难度值判断当前节点是否被选取为共识委员会成员;
在超时时长内,根据所述共识委员会成员数和预配置的共识委员会成员数的阈值判断共识委员会成员数是否形成完整的共识委员会,若否,则未形成所述共识委员会,不划分记账节点和共识节点。
6.根据权利要求5所述的方法,其特征在于,上一个区块高度未形成所述共识委员会时,区块链网络在当前区块高度调整预配置的难度值,包括:
在当前区块高度时调整预配置的难度值,以供在超时时长内,有足够的节点被选取为共识委员会成员;
在超时时长内形成完整的共识委员会。
7.根据权利要求1所述的方法,其特征在于,比对当前区块链网络中拥有随机数资格的节点数与预配置的共识委员会成员数,若当前区块链网络中拥有随机数资格的节点数与预配置的共识委员会成员数的差值小于第一阈值,所述根据上一个区块的公开信息生成随机数,包括:
在预设范围内遍历第一参数以遍历生成不同的随机数直至所生成的随机数满足被选取为共识委员会成员的条件,其中,所述随机数通过将所述公开信息输入第一公式生成,所述第一公式中配置有第一参数。
8.根据权利要求7所述的方法,其特征在于,还包括:
设置计时器;
通过所述计时器对所述生成随机数的过程进行计时操作,以获得节点成为共识委员会成员实际消耗时长的信息。
9.根据权利要求8所述的方法,其特征在于,在当前区块高度,根据所述实际消耗时长的信息和预配置的消耗时长信息判断当前节点生成随机数的时长是否超时:若超时,则在若干个区块高度后调整预配置的难度值,以供节点在预配置的消耗时长内成为共识委员会成员。
10.一种共识方法,其特征在于,所述共识方法由如权利要求1-9任一项所述的抽签方法所选取的节点执行,包括:
使用BFT共识算法进行两阶段投票操作后生成区块。
11.根据权利要求10所述的方法,其特征在于,当所述记账节点生成正确的区块时,所述记账节点将获取一定数额的资产作为奖励。
12.根据权利要求10所述的方法,其特征在于,当所述共识节点对所述记账节点生成区块做出两阶段正确的投票操作后,所述共识节点将获取一定数额的资产作为奖励。
13.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-12中任一项所述的方法。
14.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质存储有计算机程序,该程序被处理器执行时实现如权利要求1-12中任一项所述的方法。
CN201810806707.XA 2018-07-20 2018-07-20 一种抽签方法、共识方法、设备和存储介质 Active CN109067516B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810806707.XA CN109067516B (zh) 2018-07-20 2018-07-20 一种抽签方法、共识方法、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810806707.XA CN109067516B (zh) 2018-07-20 2018-07-20 一种抽签方法、共识方法、设备和存储介质

Publications (2)

Publication Number Publication Date
CN109067516A CN109067516A (zh) 2018-12-21
CN109067516B true CN109067516B (zh) 2021-05-11

Family

ID=64835264

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810806707.XA Active CN109067516B (zh) 2018-07-20 2018-07-20 一种抽签方法、共识方法、设备和存储介质

Country Status (1)

Country Link
CN (1) CN109067516B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109684798A (zh) * 2019-01-04 2019-04-26 深圳银链科技有限公司 一种基于公有区块链的共识算法、设备及存储介质
CN110225044B (zh) * 2019-06-17 2020-11-27 北京瑞策科技有限公司 在区块链上的验证方法及装置
CN110210865A (zh) * 2019-06-17 2019-09-06 北京艾摩瑞策科技有限公司 基于区块链的打包方法及装置
CN110223070B (zh) * 2019-06-17 2020-12-11 北京瑞策科技有限公司 基于区块链节点网络的验证方法及装置
GB2586865A (en) * 2019-09-06 2021-03-10 Nchain Holdings Ltd Methods and Devices for Tracking and Measuring Proof-of-Work Contributions in a Mining Pool
CN111510347B (zh) * 2020-04-08 2021-10-26 北京链化未来科技有限公司 一种提高区块链共识效率的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107301546A (zh) * 2017-05-03 2017-10-27 北京众享比特科技有限公司 随机数生成和应用方法及装置
CN107733651A (zh) * 2017-09-11 2018-02-23 联动优势科技有限公司 一种区块链生成方法、节点及系统
CN108009918A (zh) * 2017-11-23 2018-05-08 深圳捷汇科技有限公司 区块链共识算法交易系统的记账方法及电子设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105592098B (zh) * 2016-01-16 2018-09-14 杭州复杂美科技有限公司 区块链上的投票及ca证书的管理方法
US10198325B2 (en) * 2016-05-24 2019-02-05 Mastercard International Incorporated Method and system for desynchronization recovery for permissioned blockchains using bloom filters
CN107547529A (zh) * 2017-08-21 2018-01-05 集合智造(北京)餐饮管理有限公司 一种基于区块链实现共享零售的方法、系统
CN107566124B (zh) * 2017-08-24 2020-06-19 深圳市易成自动驾驶技术有限公司 基于哈希运算的共识建立方法、区块链系统及存储介质
CN108241926B (zh) * 2017-08-25 2020-07-10 杭州复杂美科技有限公司 一种区块链授权共识方法
CN108182581B (zh) * 2017-12-29 2020-08-11 北京欧链科技有限公司 一种区块链的记账方法及装置
CN108259235B (zh) * 2018-01-04 2019-11-22 杭州复杂美科技有限公司 一种区块链记账节点选择方法
CN108133420B (zh) * 2018-01-10 2020-09-11 杭州复杂美科技有限公司 一种区块链的委托共识方法
CN108614748B (zh) * 2018-04-19 2020-09-29 上海分布信息科技有限公司 一种拜占庭容错的方法及其通证经济的治理系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107301546A (zh) * 2017-05-03 2017-10-27 北京众享比特科技有限公司 随机数生成和应用方法及装置
CN107733651A (zh) * 2017-09-11 2018-02-23 联动优势科技有限公司 一种区块链生成方法、节点及系统
CN108009918A (zh) * 2017-11-23 2018-05-08 深圳捷汇科技有限公司 区块链共识算法交易系统的记账方法及电子设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Proof of Luck: an Efficient Blockchain Consensus Protocol;Mitar Milutinovic ect.;《ACM》;20161230 *
区块链共识机制的规则特点:共享、共识与共赢的制度基础;匿名;《软件》;20180615 *
面向选择推荐节点的P2P网络信任模型;马满福,何春玲;《计算机工程与科学》;20180615 *

Also Published As

Publication number Publication date
CN109067516A (zh) 2018-12-21

Similar Documents

Publication Publication Date Title
CN108964879B (zh) 一种抽签方法、共识方法、设备和存储介质
CN109067516B (zh) 一种抽签方法、共识方法、设备和存储介质
WO2015139164A1 (zh) 一种任务调度的方法、装置及设备
CN110392121B (zh) 平行链区块生成方法、设备和存储介质
CN110245061B (zh) 计算装置、其功耗预测方法及计算机可读存储介质
CN113194146B (zh) 领导节点确定方法、计算机设备和存储介质
CN111061560A (zh) 云渲染资源调度方法、装置、电子设备及存储介质
EP3104309A2 (en) Spiking neural network with reduced memory access and reduced in-network bandwidth consumption
Liu Single machine scheduling to minimize maximum lateness subject to release dates and precedence constraints
CN113010312B (zh) 一种超参数调优方法、装置及存储介质
CN108964878B (zh) 一种抽签方法、共识方法、设备和存储介质
CN111008249A (zh) 平行链区块同步方法、设备和存储介质
Han et al. Budget allocation as a multi-agent system of contextual & continuous bandits
CN110322350B (zh) 裁剪共识网络中空区块的方法、装置、设备和存储介质
CN109445911A (zh) Cvm实例的调整方法、装置、云平台和服务器
CN110222268B (zh) 确定业务推送对象的方法和装置
CN112600905A (zh) 交易广播和区块生成方法、设备和存储介质
Bottazzi et al. Drift criteria for persistence of discretestochastic processes on the line with examples of application
CN109960572B (zh) 设备资源管理方法和装置以及智能终端
CN112819625B (zh) 平行链仲裁共识方法、计算机设备和存储介质
CN111724176A (zh) 店铺流量调节方法、装置、设备及计算机可读存储介质
CN113179224B (zh) 用于内容分发网络的流量调度方法及装置
Bjelde et al. Brief announcement: approximation algorithms for unsplittable resource allocation problems with diseconomies of scale
CN114840139A (zh) 一种面向高动态范围预警探测图像的分级存储评估方法
CN113987034A (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
GR01 Patent grant
GR01 Patent grant