[go: up one dir, main page]

CN111130875B - 一种区块链的共识方法、装置、设备及存储介质 - Google Patents

一种区块链的共识方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111130875B
CN111130875B CN201911327077.9A CN201911327077A CN111130875B CN 111130875 B CN111130875 B CN 111130875B CN 201911327077 A CN201911327077 A CN 201911327077A CN 111130875 B CN111130875 B CN 111130875B
Authority
CN
China
Prior art keywords
election
nodes
block
random variable
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.)
Active
Application number
CN201911327077.9A
Other languages
English (en)
Other versions
CN111130875A (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.)
Du Xiaoman Technology Beijing Co Ltd
Original Assignee
Du Xiaoman Technology Beijing 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 Du Xiaoman Technology Beijing Co Ltd filed Critical Du Xiaoman Technology Beijing Co Ltd
Priority to CN201911327077.9A priority Critical patent/CN111130875B/zh
Publication of CN111130875A publication Critical patent/CN111130875A/zh
Application granted granted Critical
Publication of CN111130875B publication Critical patent/CN111130875B/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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请所述的区块链的共识方法、装置、设备及存储介质,获取竞选节点的竞选请求,竞选请求包括外部随机变量的值,至少依据外部随机变量的值和外部变量的真实值,从竞选节点中选择出块节点。因为外部随机变量为随机产生的变量,所以,能够满足共识算法的公平性需求。因为外部随机变量为区块链外部产生的随机变量,不受区块链内部变化的控制,因此,引入外部随机变量的共识算法,具有更高的安全性。

Description

一种区块链的共识方法、装置、设备及存储介质
技术领域
本申请涉及电子信息领域,尤其涉及一种区块链的共识方法、装置、设备及存储介质。
背景技术
区块链是一种去中心化的分布式账本系统,由于在点对点网络下的网络延迟,各个节点所观察到的交易事务先后顺序不可能完全一致。区块链的共识机制解决了区块链如何在分布式场景下达成一致性的问题,它也是保障区块链系统运行的关键。不同的区块链方案采用的共识机制不同,常见的共识机制包括例如POW、POS、DPOS和BFT等。
共识算法对于区块链至关重要,因此,提高共识算法的安全性很有必要。
发明内容
申请人在研究的过程中发现,目前使用的共识算法,完全依赖区块链内部的参数,一旦区块链的安全防护被攻破,共识算法很有可能成为被操控的对象。
本申请提供了一种区块链的共识方法、装置、设备及存储介质,目的在于解决如何提高共识算法的安全性的问题。
为了实现上述目的,本申请提供了以下技术方案:
一种区块链的共识方法,包括:
获取竞选节点的竞选请求,所述竞选请求包括外部随机变量的值,所述外部随机变量为区块链外部产生的随机变量,所述外部随机变量的值由所述竞选节点确定;
至少依据所述外部随机变量的值和所述外部变量的真实值,从所述竞选节点中选择出块节点。
可选的,所述获取竞选节点的竞选请求,包括:
获取所述竞选节点在当前竞选周期中的第N-(N/M)*P个区块产生之前,发出的竞选请求,其中,N为任意一个竞选周期中需竞选的区块的数量,M为任意一个竞选周期中选出的出块节点的个数,P为[2,M)范围内的整数。
可选的,所述至少依据所述外部随机变量的值和所述外部变量的真实值,从所述竞选节点中选择出块节点,包括:
至少依据所述外部随机变量的值和所述外部随机变量的真实值,确定所述竞选节点的排序;
基于所述排序,从所述竞选节点中选择所述出块节点。
可选的,所述竞选请求还包括:
质押的数字货币的数量和发送所述竞选请求的时间戳中的至少一项;
所述至少依据所述外部随机变量的值和所述外部随机变量的真实值,确定所述竞选节点的排序,包括:
按照所述竞选请求中的所述外部随机变量的值与所述真实值之间的差距,对所述竞选节点进行排序;
按照第一排序依据,确定所述差距相同的竞选节点的排序;
按照第二排序依据,确定所述差距和所述数字货币的数量均相同的竞选节点的排序,其中,所述第一排序依据为所述数字货币的数量或者所述时间戳,所述第二排序依据为所述时间戳或者所述数字货币的数量。
可选的,所述真实值的获取方法包括:
在所述当前竞选周期中的第N-(N/M)*Q个区块产生时,获取所述真实值,其中,N为所述任意一个竞选周期中需竞选的区块的数量,M为任意一个竞选周期中选出的出块节点的个数,Q为[1,P)范围内的整数,P为[2,M)范围内的整数。
可选的,还包括:
如果没有获取到所述真实值,则禁止所述竞选节点出块。
可选的,所述外部随机变量的确定过程包括:
将所述区块链中的节点投票产生的所述外部随机变量,作为至少一个竞选周期的所述外部随机变量。
可选的,所述外部随机变量满足预设条件,所述预设条件包括以下至少一项:
在所述确定出块节点之前,不可获知真实值;
不可操控;
变化的频率高于出块的频率。
一种区块链的共识装置,包括:
请求获取单元,用于获取竞选节点的竞选请求,所述竞选请求包括外部随机变量的值,所述外部随机变量为区块链外部产生的随机变量,所述外部随机变量的值由所述竞选节点确定;
出块节点选择单元,用于至少依据所述外部随机变量的值和所述外部变量的真实值,从所述竞选节点中选择出块节点。
一种区块链的共识设备,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现上述的区块链的共识方法的各个步骤。
一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述的区块链的共识方法的各个步骤。
本申请所述的区块链的共识方法、装置、设备及存储介质,获取竞选节点的竞选请求,竞选请求包括外部随机变量的值,至少依据外部随机变量的值和外部变量的真实值,从竞选节点中选择出块节点。因为外部随机变量为随机产生的变量,所以,能够满足共识算法的公平性需求。因为外部随机变量为区块链外部产生的随机变量,不受区块链内部变化的控制,因此,引入外部随机变量的共识算法,具有更高的安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种区块链的共识方法的流程图;
图2为本申请实施例公开的又一种区块链的共识方法的流程图;
图3为本申请实施例公开的又一种区块链的共识方法的流程图;
图4为本申请实施例公开的一种区块链的共识装置的结构示意图;
图5为本申请实施例公开的一种区块链的共识设备的结构示意图。
具体实施方式
区块链共识算法的目的至少在于,在区块链中的节点竞争出块的过程中,从竞选节点中选择出块节点。
通常,区块链中的节点均可以竞争成为出块节点,并且,由区块链中的至少半数以上的节点参与共识,以选择出块节点。因此,在以下实施例中,流程的执行主体均为区块链中的任意一个节点,至少半数以上节点执行以下共识流程后,就出块节点的选择达成共识。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例公开的一种区块链的共识方法,包括以下步骤:
S101:获取竞选节点的竞选请求。
其中,竞选请求包括外部随机变量的值。外部随机变量为区块链外部产生的随机变量,其不受区块链内部变化的影响。
可选的,本实施例中,外部随机变量为满足以下条件的随机变量:
1、不可提前获知真实值。即随机变量的值为与随机事件的发生相关的数值,在随机事件发生之前,不可能提前获知真实值。结合图1所示的流程,即在确定出块节点之前,不可获知真实值。
2、不可操作。不可操作是指理论上无法操作,或者操控成本远大于出块的获利。
3、变化的频率高于出块的频率。
以上条件能够使得外部随机变量具有客观性和公平性,从而保证共识算法的公平性。
基于以上条件,外部随机变量的一个示例为某机场在当前时刻之前的,最后一架航班落地的时间。外部随机变量的另一个示例为,股指收盘数或特定时间(每小时、每半小时、每十分钟等)的股指数。
可选的,因为单一随机变量的健壮性通常弱于多随机变量的健壮性,所以,为了增加外部随机变量的不可预测性,从而进一步提高共识算法的公平性,可以使用多个外部随机变量。
具体的,可以将一组不相关的外部随机变量进行组合,通常来说,若能保证n个随机变量的不相关性,那么一个由n个元素构成的随机变量组的健壮性以及攻击难度,是单一随机变量的n倍。
例如,将一架航班的落地时间,扩展为n架不相关的航班的落地时间,又例如,将一架航班的落地时间,扩展为一架航班的落地时间和当日股指收盘数。又例如,外部随机变量为「某航班降落时间,某某股票收盘价,某地3点温度…」。
需要说明的是,区块链中任意一个欲参与出块竞选的节点,均可以发送竞选请求,也可以接收其它竞选节点发送的竞选请求。任意一个竞选节点发出的竞选请求中的外部随机变量的值,为该竞选节点预测的值,即该竞选节点可以使用预设的算法,预测出外部随机变量的值。也可以,是从其它设备获取的值,或者,从其它设备获取的值中选择的一个值。总而言之,任意一个竞选节点发出的竞选请求中的外部随机变量的值,为该竞选节点确定的值。
S102:至少依据外部随机变量的值和外部变量的真实值,从竞选节点中选择出块节点。
可选的,任意一个竞选请求中的外部随机变量的值与真实值越接近,该竞选节点成为出块节点的可能性越高。或者,任意一个竞选请求中的外部随机变量的值与真实值的差异越大,该竞选节点成为出块节点的可能性越高。或者,也可以通过使用以外部随机变量的值与真实值为依据的其它规则(例如两者的比值),选择出块节点,本实施例不做限定。
可选的,真实值可以由第三方提供。
从图1所示的流程可以看出,在出块节点的竞选过程中,引入外部随机变量,首先外部随机变量的随机性,能够满足共识算法的公平性需求,更为重要的是,因为外部随机变量不受区块链内部变化的影响,所以即使区块链的安全防护被攻破,完全操控本实施例所述的共识方法的难度也高于现有的共识算法,从而使得共识机制具有更高的安全性。
除了外部随机变量之外,选择出块节点的依据还可以包括其它参数。图2为本申请实施例公开的又一种区块链的共识方法,包括以下步骤:
S201:获取竞选节点的竞选请求,竞选请求包括外部随机变量的值、质押的数字货币的数量、以及竞选请求的时间戳。
为了保证被选中的出块节点再后续真正提供区块,本实施例中,要求参与竞选出块的节点,即竞选节点质押数字货币,且质押的数字货币不再返还。
可选的,除了以上参数外,竞选请求还可以包括其它参数。具体的,如表1所示:
表1
Figure GDA0003763012180000061
Figure GDA0003763012180000071
表1中,Round代表参与的竞选的轮次,将在图3所示的流程中详细对轮次进行说明。Topic表示外部随机变量的名称,value表示外部随机变量的值。
表2为使用多个不相关的外部随机变量的竞选请求的示例:
表2
Figure GDA0003763012180000072
S202:按照竞选请求中的外部随机变量的值与真实值之间的差距从小到大的顺序,对竞选节点进行排序。
本步骤中,对于差距相同的竞选节点,暂定排序并列。
可选的,对于多个外部随机变量的情况,可以按照以下规则,计算外部变量的值与真实值之间的差距:
将n个外部随机变量的值与对应的真实值之间的差距中的最小值,作为外部变量的值与真实值之间的差距。例如,对于表2所示的情况,外部变量的值与真实值之间的差距=min(sum(real_flighti_time)-sum(guess_flighti_time)),i=1、2、……n。n为航班的数量。其中,real_flighti_time为第i个外部随机变量的真实值,guess_flighti_time为第i个外部随机变量的值。
S203:在差距相同的情况下,数字货币的数量越多,排序越靠前。
在本步骤中,对于差距和数字货币的数量相同的竞选节点,暂定排序并列。
S204:在差距和数字货币的数量均相同的情况下,时间戳越早,排序越靠前。
可选的,在出块节点出块成功后,可以按照数字货币的数量,分配酬金。
S205:将排序中的前预设数量的竞选节点,作为出块节点。
从图2所示的流程可以看出,可以使用外部随机变量与其它参数一同确定出块节点,有利于进一步提高共识算法的公平性和安全性。并且,竞选请求的数字货币质押,解决了恶意攻击者穷举攻击的问题。
需要说明的是,图2中,以差距从小到大、数字货币的数量从小到大、以及时间戳从先到后的规则进行排序,除此之外,还可以使用规则进行排序,例如,按照差距、数字货币的数量中的至少一项从大到小排序,和/或时间戳从后到先进行排序,又例如,在按照差距排序之后,先按照时间戳排序,再按照数字货币的数量排序。即本实施例中,不对排序规则进行限定。
图3为本申请实施例公开的又一种区块链的共识方法,在本实施例中,规定了共识步骤的时序性,假设将N个区块的出块节点的竞选和出块作为一个轮次(即竞选周期),即在一个竞选周期内,需要完成选择N个块的出块节点以及由出块节点提供N个块的过程。
图3中包括任意一个竞选周期(以下简称为当前竞选周期)中的步骤:
S301:获取竞选节点在当前竞选周期中的第N-(N/M)*P个块产生之前,发出的竞选请求。
其中,N为一个预设的竞选周期中需竞选的区块的数量,M为一个竞选周期中选出的出块节点的个数,P为[2,M)范围内的整数。因此,在当前以及下一个竞选周期中需竞选的区块的数量均为N,在当前以及下一个竞选周期中选出的出块节点的个数均为M。
该步骤的目的在于,确保在当前竞选周期中,各个出块节点出块结束后,即开始下一竞选周期的出块过程。也就是说,相邻的前后两个竞选周期有重叠,在前一个竞选周期的出块过程中的某个时刻点之前,要完成下一个竞选周期的出块节点的竞选请求的收集过程,从而保证当前竞选周期的出块结束后,下一个竞选周期已经完成出块节点的选择,并开始出块,以保证出块的连续性,提高出块的效率。
因此,申请人在研究的过程中,依据保证出块的连续性需求,通过实验得出在当前竞选周期中的第N-(N/M)*P个块产生之前,收集完毕下一个竞选周期的竞选请求,才能确保当前竞选周期出块结束后,即开始下一个竞选周期的出块,从而保证出块的连续性。其中,P的具体取值,可以依据竞选节点提供一个区块的实际时长确定。
S302:在竞选请求中的轮次为下一个竞选周期的情况下,确定竞选请求有效,执行S303,否则,确定竞选请求无效,可以发出无效提示。前述表1以表2中的Round参与的竞选的轮次,因为当前竞选周期收集的是参与下一个竞选周期的竞选的请求,所以参与下一轮竞选的请求才为有效竞选请求,有可能,竞选节点的网络故障导致竞选请求传输延时,在其它节点接收到竞选请求后,竞选请求中指示的轮次已过或者竞选请求中指示的轮次收集请求的时间区间已过,在此情况下,确定竞选请求无效。
S303:在当前竞选周期中的第N-(N/M)*Q个块产生时,获取外部随机变量的真实值,并依据有效竞选请求中的外部随机变量的值与真实值的差距、数字货币的数量和竞选请求的时间戳,确定竞选节点的排序,将排序中的前M个竞选节点,作为出块节点。
其中,Q为[1,P)范围内的整数。N-(N/M)*Q的设置的目的也为保证出块的连续性。申请人在研究的过程中发现,只有在该时间点获取到真实值,才能保证后续的排序等用于选择出块节点的过程,才能在当前竞选周期出块完成之前完成,从而保证当前竞选周期出块结束后,下一个竞选周期即开始出块。
需要说明的是,如果没有获取到真实值,则禁止下一个竞选周期的所有竞选节点出块,以保证区块链的安全。可选的,为了提高安全性,也可以禁止当前竞选周期的所有竞选节点出块。
S304:在当前竞选周期的下一个竞选周期,出块节点按照排序出块。
可选的,如果当前竞选周期选出的出块节点,没有在下一个竞选周期内出块,则禁止出块节点参与预设时间段内的出块节点的竞选。预设时间段可以为一个或多个竞选周期。
从图3所示的流程可以看出,通过竞选请求的收集时机和出块节点的选择时机的设定,可以保证出块的连续性。并且,竞选请求的收集阶段和竞选阶段分离,保证了竞选请求是在外部随机变量产生前提交。
可选的,以上流程中使用的外部随机变量,可以在流程开始之前,由区块链中的各个节点投票确定。具体的,由创世块等区块提供外部随机变量集合,集合中包括各个外部随机变量的名称,各个节点进行投票,选取出在共识流程中使用的外部随机变量。
可选的,可以每一轮都通过投票产生外部随机变量,也可以一次投票产生的外部随机变量在多轮竞选周期中使用,这里不做限定。
图4为本申请实施例公开的一种区块链的共识装置,包括:
请求获取单元401,用于获取竞选节点的竞选请求,所述竞选请求包括外部随机变量的值,所述外部随机变量为区块链外部产生的随机变量,所述外部随机变量的值由所述竞选节点确定;
出块节点确定单元402,用于至少依据所述外部随机变量的值和所述外部变量的真实值,从所述竞选节点中选择出块节点。
可选地,请求获取单元401获取竞选节点的竞选请求的具体实现方式为:获取所述竞选节点在当前竞选周期中的第N-(N/M)*P个区块产生之前,发出的竞选请求,其中,N为任意一个竞选周期中需竞选的区块的数量,M为任意一个竞选周期中选出的出块节点的个数,P为[2,M)范围内的整数。
出块节点确定单元402至少依据所述外部随机变量的值和所述外部变量的真实值,从所述竞选节点中选择出块节点的具体实现方式为:至少依据所述外部随机变量的值和所述外部随机变量的真实值,确定所述竞选节点的排序;基于所述排序,从所述竞选节点中选择所述出块节点。
进一步的,竞选请求还包括:质押的数字货币的数量和发送所述竞选请求的时间戳中的至少一项。在此情况下,出块节点确定单元402至少依据所述外部随机变量的值和所述外部变量的真实值,从所述竞选节点中选择出块节点的具体实现方式为:按照所述竞选请求中的所述外部随机变量的值与所述真实值之间的差距,对所述竞选节点进行排序;按照第一排序依据,确定所述差距相同的竞选节点的排序;按照第二排序依据,确定所述差距和所述数字货币的数量均相同的竞选节点的排序,其中,所述第一排序依据为所述数字货币的数量或者所述时间戳,所述第二排序依据为所述时间戳或者所述数字货币的数量。
进一步的,所述装置还包括:真实值的获取模块,用于在所述当前竞选周期中的第N-(N/M)*Q个区块产生时,获取所述真实值,其中,N为所述任意一个竞选周期中需竞选的区块的数量,M为任意一个竞选周期中选出的出块节点的个数,Q为[1,P)范围内的整数,P为[2,M)范围内的整数。如果没有获取到所述真实值,则禁止所述竞选节点出块。
进一步的,所述装置还包括:外部随机变量确定模块,用于将所述区块链中的节点投票产生的所述外部随机变量,作为至少一个竞选周期的所述外部随机变量。
需要说明的是,所述区块链的共识装置可以设置为可插拔的形式。在初始插入区块链的情况下,可能需要个节点配合升级,并在半数以上的节点升级成功后,即可启用该共识装置。
本申请实施例还公开了一种区块链的共识设备,请参阅图5,示出了该区块链的共识设备的结构示意图,该设备可以包括:至少一个处理器501,至少一个通信接口502,至少一个存储器503和至少一个通信总线504;
在本申请实施例中,处理器501、通信接口502、存储器503、通信总线504的数量为至少一个,且处理器501、通信接口502、存储器503通过通信总线504完成相互间的通信;
处理器501可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器503可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于实现上述区块链的共识方法。
本申请实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种区块链的共识方法,其特征在于,包括:
获取竞选节点的竞选请求,所述竞选请求包括外部随机变量的值,所述外部随机变量为区块链外部产生的随机变量,所述外部随机变量的值由所述竞选节点确定;
所述外部随机变量满足预设条件,所述预设条件包括:在随机事件发生之前不可提前获知真实值,不可操控,以及变化的频率高于出块的频率;
至少依据所述外部随机变量的值和所述外部随机变量的真实值,从所述竞选节点中选择出块节点;
所述真实值的获取方法包括:在当前竞选周期中的第N-(N/M)*Q个区块产生时,获取所述真实值,其中,N为任意一个竞选周期中需竞选的区块的数量,M为任意一个竞选周期中选出的出块节点的个数,Q为[1,P)范围内的整数,P为[2,M)范围内的整数;
所述获取竞选节点的竞选请求,包括:
获取所述竞选节点在当前竞选周期中的第N-(N/M)*P个区块产生之前,发出的竞选请求,其中,N为任意一个竞选周期中需竞选的区块的数量,M为任意一个竞选周期中选出的出块节点的个数,P为[2,M)范围内的整数,所述P的取值依据竞选节点提供一个区块的实际时长确定,将N个区块的出块节点的竞选和出块作为一个竞选周期。
2.根据权利要求1所述的方法,其特征在于,所述至少依据所述外部随机变量的值和所述外部随机变量的真实值,从所述竞选节点中选择出块节点,包括:
至少依据所述外部随机变量的值和所述外部随机变量的真实值,确定所述竞选节点的排序;
基于所述排序,从所述竞选节点中选择所述出块节点。
3.根据权利要求2所述的方法,其特征在于,所述竞选请求还包括:
质押的数字货币的数量和发送所述竞选请求的时间戳中的至少一项;
所述至少依据所述外部随机变量的值和所述外部随机变量的真实值,确定所述竞选节点的排序,包括:
按照所述竞选请求中的所述外部随机变量的值与所述真实值之间的差距,对所述竞选节点进行排序;
按照第一排序依据,确定所述差距相同的竞选节点的排序;
按照第二排序依据,确定所述差距和所述数字货币的数量均相同的竞选节点的排序,其中,所述第一排序依据为所述数字货币的数量或者所述时间戳,所述第二排序依据为所述时间戳。
4.根据权利要求1所述的方法,其特征在于,还包括:
如果没有获取到所述真实值,则禁止所述竞选节点出块。
5.根据权利要求1所述的方法,其特征在于,所述外部随机变量的确定过程包括:
将所述区块链中的节点投票产生的所述外部随机变量,作为至少一个竞选周期的所述外部随机变量。
6.一种区块链的共识装置,其特征在于,包括:
请求获取单元,用于获取竞选节点的竞选请求,所述竞选请求包括外部随机变量的值,所述外部随机变量为区块链外部产生的随机变量,所述外部随机变量的值由所述竞选节点确定;
所述外部随机变量满足预设条件,所述预设条件包括:在随机事件发生之前,不可提前获知真实值;不可操作;以及,变化的频率高于出块的频率;
所述请求获取单元,具体用于:获取所述竞选节点在当前竞选周期中的第N-(N/M)*P个区块产生之前,发出的竞选请求,其中,N为任意一个竞选周期中需竞选的区块的数量,M为任意一个竞选周期中选出的出块节点的个数,P为[2,M)范围内的整数,所述P的取值依据竞选节点提供一个区块的实际时长确定,将N个区块的出块节点的竞选和出块作为一个竞选周期;
所述真实值的获取方法包括:在所述当前竞选周期中的第N-(N/M)*Q个区块产生时,获取所述真实值,其中,N为所述任意一个竞选周期中需竞选的区块的数量,M为任意一个竞选周期中选出的出块节点的个数,Q为[1,P)范围内的整数,P为[2,M)范围内的整数;
出块节点选择单元,用于至少依据所述外部随机变量的值和所述外部随机变量的真实值,从所述竞选节点中选择出块节点。
7.一种区块链的共识设备,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如权利要求1~5中任一项所述的区块链的共识方法的各个步骤。
8.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1~5中任一项所述的区块链的共识方法的各个步骤。
CN201911327077.9A 2019-12-20 2019-12-20 一种区块链的共识方法、装置、设备及存储介质 Active CN111130875B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911327077.9A CN111130875B (zh) 2019-12-20 2019-12-20 一种区块链的共识方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911327077.9A CN111130875B (zh) 2019-12-20 2019-12-20 一种区块链的共识方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111130875A CN111130875A (zh) 2020-05-08
CN111130875B true CN111130875B (zh) 2022-09-30

Family

ID=70500682

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911327077.9A Active CN111130875B (zh) 2019-12-20 2019-12-20 一种区块链的共识方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111130875B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112738196B (zh) * 2020-12-25 2021-11-30 卓尔智联(武汉)研究院有限公司 区块链代表节点选取方法、装置、计算机设备和存储介质
CN112822239A (zh) * 2020-12-30 2021-05-18 深圳市宝能投资集团有限公司 一种区块链共识方法、装置、电子设备及存储介质
CN114090306B (zh) * 2022-01-21 2022-04-19 安徽中科晶格技术有限公司 可插拔的区块链分层共识方法、系统、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108596621A (zh) * 2018-04-28 2018-09-28 深圳市优学链科技有限公司 区块链记账节点生成方法、装置、计算机设备及存储介质
CN108810077A (zh) * 2018-04-19 2018-11-13 深圳市网心科技有限公司 区块链共识处理方法、电子装置及计算机可读存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107450981B (zh) * 2017-05-31 2020-04-24 创新先进技术有限公司 一种区块链共识方法及设备
CN109146146A (zh) * 2018-07-27 2019-01-04 阿里巴巴集团控股有限公司 事件预测方法及装置、电子设备
CN109949157B (zh) * 2019-03-08 2022-03-18 矩阵元技术(深圳)有限公司 一种业务数据的上链方法、装置及系统
CN110060159A (zh) * 2019-03-12 2019-07-26 蔡少龙 基于超级节点的数据处理方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108810077A (zh) * 2018-04-19 2018-11-13 深圳市网心科技有限公司 区块链共识处理方法、电子装置及计算机可读存储介质
CN108596621A (zh) * 2018-04-28 2018-09-28 深圳市优学链科技有限公司 区块链记账节点生成方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN111130875A (zh) 2020-05-08

Similar Documents

Publication Publication Date Title
Yu et al. Repucoin: Your reputation is your power
KR102240939B1 (ko) 트랜잭션 증명 방식의 합의 알고리즘이 적용된 블록체인 시스템 및 그 방법
CN108717630B (zh) 一种出块方法及其实现系统
CN111445333B (zh) 区块生成方法、装置、计算机设备以及存储介质
CN107220130B (zh) 一种在区块链的节点处实现的信息共识方法、装置及系统
CN110011974B (zh) 区块链的记账方法、装置、终端和计算机可读存储介质
CN111130875B (zh) 一种区块链的共识方法、装置、设备及存储介质
Islam et al. A comparative analysis of proof-of-authority consensus algorithms: Aura vs Clique
KR20220091560A (ko) 블록체인 기반 데이터 검출 방법 및 디바이스, 및 컴퓨터 판독가능 저장 매체
CN115242420B (zh) 基于智能合约的区块链贡献证明共识方法及系统
CN112347184A (zh) 分叉处理方法以及区块链节点
CN110855432A (zh) 基于可验证随机函数分配验证者奖励的异步bft&dpos共识机制
JP7311794B2 (ja) 情報処理装置及びプログラム
CN116389483A (zh) 一种可监管的区块链动态分片设计方法及系统
CN118138301A (zh) 基于信誉度和banzhaf指数的区块链共识方法
CN111082990B (zh) 一种区块链的共识方法、装置、设备及存储介质
CN116112507B (zh) 基于分层区块链多任务异步执行方法及装置
Masood et al. Consensus algorithms in distributed ledger technology for open environment
CN112417052A (zh) 区块链网络中的数据同步方法、装置、设备及存储介质
Mišić et al. QPoS: Decentralized stake-based leader and voter selection in a PBFT system with mobile voters
CN111124672A (zh) 基于Redis集群的数据分配的方法及相关设备
CN116233140A (zh) 基于权重的出块节点确定方法、装置、设备及存储介质
CN112511312A (zh) 一种可组装的共识方法及系统
US10553062B2 (en) Method for generating winning numbers and apparatus
CN114465866B (zh) 基于信任度和PBFT的DPoS方法

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 401121 b7-7-2, Yuxing Plaza, No.5 Huangyang Road, Yubei District, Chongqing

Applicant after: Chongqing duxiaoman Youyang Technology Co.,Ltd.

Address before: 201800 room j1328, 3 / F, building 8, 55 Huiyuan Road, Jiading District, Shanghai

Applicant before: SHANGHAI YOUYANG NEW MEDIA INFORMATION TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20211215

Address after: 100193 Room 606, 6 / F, building 4, West District, courtyard 10, northwest Wangdong Road, Haidian District, Beijing

Applicant after: Du Xiaoman Technology (Beijing) Co.,Ltd.

Address before: 401121 b7-7-2, Yuxing Plaza, No.5 Huangyang Road, Yubei District, Chongqing

Applicant before: Chongqing duxiaoman Youyang Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant