CN111600960A - 区块链中的混合式共识机制的切换方法及相关设备 - Google Patents
区块链中的混合式共识机制的切换方法及相关设备 Download PDFInfo
- Publication number
- CN111600960A CN111600960A CN202010439673.2A CN202010439673A CN111600960A CN 111600960 A CN111600960 A CN 111600960A CN 202010439673 A CN202010439673 A CN 202010439673A CN 111600960 A CN111600960 A CN 111600960A
- Authority
- CN
- China
- Prior art keywords
- consensus mechanism
- edpos
- cpow
- block
- probability
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开了一种区块链中的混合式共识机制的切换方法及相关设备。混合式共识机制包括CPoW共识机制和EDPoS共识机制,该方法包括;按照预设算法产生随机信标;根据各超级节点获得的投票总数量,计算CPoW共识机制获得出块权的概率和EDPoS共识机制获得出块权的概率;根据计算的CPoW共识机制获得出块权的概率和EDPoS共识机制获得出块权的概率,将预设的随机信标的取值范围进行区间划分,得到与CPoW共识机制对应的第一区间和与EDPoS共识机制对应的第二区间;若产生的随机信标落在第一区间,确定基于CPoW共识机制进行出块,若产生的随机信标落在第二区间,确定基于EDPoS共识机制进行出块。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种区块链中的混合式共识机制的切换方法及相关设备。
背景技术
共识机制是区块链技术的核心之一,所有记账节点之间通过共识机制达成共识来认定一个记录的有效性,杜绝造假的可能。
随着区块链技术的发展,各种共识机制也在不断的被提出,目前常见的技术方案主要有以下几种。
1)工作量证明(Proof of Work,PoW)共识机制
PoW共识机制中,通过庞大的算力解决一个数学难题,从而得到出块权,获得相应的奖励。实际上,PoW共识机制中绝大多数的算力资源都是浪费的,且效率低下。
2)权益证明(Proof of Stake,PoS)共识机制
为了解决PoW的效率低下和资源浪费问题,出现了PoS共识机制。PoS共识机制中,根据节点持有奖励的量和时间进行利息分配。虽然PoS共识机制避免了非常复杂的运算,节约了资源,但是每一笔交易依然需要网络中所有持有奖励的节点进行确认,每秒能处理的交易量也非常少。
3)代理权益证明(Delegated Proof of Stake,DPoS)共识机制
DpoS共识机制是一种基于投票选举的共识算法,在DpoS共识机制中,不需要算力解决数学难题,而是通过投票选出生产者(即超级节点)来出块,如果生产者不称职,就随时有可能被通过投票踢出局,这也就解决了PoS的性能问题。在启动节点之前需要进行节点投票,满足最低投票要求才能启动主网。
以Enterprise Operation System(商用分布式设计区块链操作系统,EOS)为例,启动主网需要超过15%的奖励用于投票,这导致EOS主网启动花费了超过1个月的时间。
为防止参与共识机制的单节点崩塌而导致整个区块链的运行停止,以及防止因DPoS节点集体罢工而导致区块链网络整体瘫痪,可持续的工作量证明共识机制(continuable Proof of Work,CPoW)和更加“去中心化”的可拓展的委托权益证明共识机制(Extensible Delegated Proof of Stake,EDPoS)形成的混合式共识机制应运而生,这就涉及到两个共识机制的切换问题,目前,关于两个共识机制的切换,主要面临以下两个问题:首先,公链启动阶段,区块链系统中只通过CPoW共识机制出块,到达一定的标准后,启动EDPoS共识机制,但是如何实现CPoW共识机制到EDPoS共识机制的平滑过渡仍然是亟待解决的问题。其次,在CPoW共识机制和EDPoS共识机制混合工作的过程中,两种共识机制如何进行更加稳定的切换也仍然是亟待解决的问题。
发明内容
本申请的目的是提供一种区块链中的混合式共识机制的切换方法及相关设备,以解决相关技术中混合式共识机制中存在的切换问题。
本申请的目的是通过以下技术方案实现的:
一种区块链中的混合式共识机制的切换方法,所述混合式共识机制包括CPoW共识机制和EDPoS共识机制,所述区块链中的混合式共识机制的切换方法包括;
按照预设算法产生随机信标;
根据各超级节点获得的投票总数量,计算所述CPoW共识机制获得出块权的概率和所述EDPoS共识机制获得出块权的概率;
根据计算的所述CPoW共识机制获得出块权的概率和所述EDPoS共识机制获得出块权的概率,将预设的随机信标的取值范围进行区间划分,得到与所述CPoW共识机制对应的第一区间和与所述EDPoS共识机制对应的第二区间;
若所述产生的随机信标落在所述第一区间,确定基于所述CPoW共识机制进行出块,若所述产生的随机信标落在所述第二区间,确定基于所述EDPoS共识机制进行出块,以实现所述CPoW共识机制和所述EDPoS共识机制的切换。
可选的,所述确定基于所述EDPoS共识机制进行出块之后,所述方法还包括:
基于所述EDPoS共识机制和所述产生的随机信标,确定出块节点以进行出块。
可选的,所述确定基于所述CPoW共识机制进行出块之后,所述方法还包括:
基于所述CPoW共识机制,确定出块节点以进行出块。
可选的,所述按照预设算法产生随机信标,包括:
利用ECC算法产生一组秘钥对,所述秘钥对包括私钥{a0,a1,…,at-1}和公钥{A0,A1,…,At-1},满足Ai=aiG,i的取值为0,1,…,t-1;t表示超级节点的个数,i表示t个超级节点中的一个超级节点,G为椭圆曲线基点;
在本轮协商对标区块的N个区块之前将登记信息广播上链以实现节点登记,所述登记信息包括多项式系数,所述多项式系数为{A0,A1,…,At-1},A0作为协商公钥;
对于实现登记的超级节点,根据登记的顺序和获得的投票数量,进行序号计算,根据计算的序号对实现登记的超级节点进行排序;
基于所述排序,由当前超级节点i根据其它超级节点j发布的协商公钥创建共同密钥Kij,将秘密分片以共同密钥Kij加密后广播全网,以便对应的超级节点j解密后利用超级节点i的登记信息通过校验公式对秘密分片Sij进行校验,j的取值为0,1,…,t-1,若校验公式成立,则将通过校验的秘密分片进行全网广播以便由其它超级节点继续对秘密分片进行校验;
根据秘密分片的接收情况和校验情况,判断其它超级节点中是否存在不可靠的超级节点,若存在,将不可靠的超级节点剔除;基于可靠的超级节点,重复上述过程,以最终得到全网一致的随机信标。
可选的,所述根据各超级节点获得的投票总数量,计算所述CPoW共识机制获得出块权的概率和所述EDPoS共识机制获得出块权的概率,包括:
按照如下公式计算参与所述CPoW共识机制的节点获得的等效投票Vwork:
Vwork=S*(1-Vd/S)^3;
其中,Vd为参与所述EDPoS共识机制的各超级节点得到的投票总数量,S为全网投票总供应量;
按照如下公式确定所述CPoW共识机制获得出块权的概率Pwork:
Pwork=Vwork/(Vd+Vwork);
按照如下公式确定所述EDPoS共识机制获得出块权的概率Pedpos:
Pedpos=Vd/(Vd+Vwork)=1–Pwork。
可选的,所述根据计算的所述CPoW共识机制获得出块权的概率和所述EDPoS共识机制获得出块权的概率,将预设的随机信标的取值范围进行区间划分,得到与所述CPoW共识机制对应的第一区间和与所述EDPoS共识机制对应的第二区间,包括:
根据所述CPoW共识机制获得出块权的概率,确定所述第一区间在所述预设的随机信标的取值范围中的百分比;
根据所述EDPoS共识机制获得出块权的概率,确定所述第二区间在所述预设的随机信标的取值范围中的百分比。
一种区块链中的混合式共识机制的切换装置,所述混合式共识机制包括CPoW共识机制和EDPoS共识机制,所述区块链中的混合式共识机制的切换装置包括:
随机信标产生模块,用于按照预设算法产生随机信标;
出块概率计算模块,用于根据各超级节点获得的投票总数量,计算所述CPoW共识机制获得出块权的概率和所述EDPoS共识机制获得出块权的概率;
区间划分模块,用于根据计算的所述CPoW共识机制获得出块权的概率和所述EDPoS共识机制获得出块权的概率,将预设的随机信标的取值范围进行区间划分,得到与所述CPoW共识机制对应的第一区间和与所述EDPoS共识机制对应的第二区间;
共识机制切换模块,用于若所述产生的随机信标落在所述第一区间,确定基于所述CPoW共识机制进行出块,若所述产生的随机信标落在所述第二区间,确定基于所述EDPoS共识机制进行出块,以实现所述CPoW共识机制和所述EDPoS共识机制的切换。
一种区块链中的混合式共识机制的切换设备,所述混合式共识机制包括CPoW共识机制和EDPoS共识机制,所述区块链中的混合式共识机制的切换设备包括:
处理器,以及与所述处理器相连接的存储器;
所述存储器用于存储计算机程序;
所述处理器用于调用并执行所述存储器中的所述计算机程序,以执行如以上任一项所述的方法中各个步骤。
一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如以上任一项所述的方法中各个步骤。
一种区块链系统,包括如以上所述的区块链中的混合式共识机制的切换设备。
本申请采用以上技术方案,具有如下有益效果:
本申请的方案中,基于EDPoS共识机制的特点,不管是在公链启动阶段,还是在CPoW共识机制和EDPoS共识机制混合工作的过程中,EDPoS共识机制是否能够启动,都与投票情况直接相关,本申请的方案中,基于各超级节点的实际投票情况,分别计算出了CPoW共识机制获得出块权的概率和EDPoS共识机制获得出块权的概率,基于这两个概率将预设的随机信标的取值范围划分了两个区间,如果按照预设算法产生的随机信标落在与所述CPoW共识机制对应的第一区间,则确定轮到CPoW共识机制,如果按照预设算法产生的随机信标落在了与EDPoS共识机制对应的第二区间,则确定轮到EDPoS共识机制,如此,实现了两种共识机制的切换,由于两种共识机制的切换是基于实际投票情况实现的,而EDPoS共识机制的启动又与投票情况直接相关,因此,共识机制的切换结果是与实际情况相符的,从而可以实现两种共识机制的平滑过度且非常稳定,又由于随机信标在产生之前,任何节点都是无法获知的,具有真随机属性,将随机信标与基于投票情况得到的两种共识机制获得出块权的概率相结合,也可以更加快速、公平的出块。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的一种区块链中的混合式共识机制的切换方法的流程图。
图2是本申请另一个实施例提供的一种区块链中的混合式共识机制的切换装置的结构示意图。
图3是本申请另一个实施例提供的一种区块链中的混合式共识机制的切换设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将对本申请的技术方案进行详细的描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。
实施例
参见图1,图1是本申请一个实施例提供的一种区块链中的混合式共识机制的切换方法的流程图。
如图1所示,本实施例提供一种区块链中的混合式共识机制的切换方法,所述混合式共识机制包括CPoW共识机制和EDPoS共识机制,所述区块链中的混合式共识机制的切换方法至少包括如下步骤:
步骤11、按照预设算法产生随机信标。
本步骤中,产生的随机信标是一种真正安全的、随机的数字,在产生之前,区块链中的任何节点都无法获知,随机信标的产生过程具体如下:
利用ECC算法产生一组秘钥对,所述秘钥对包括私钥{a0,a1,…,at-1}和公钥{A0,A1,…,At-1},满足Ai=aiG,i的取值为0,1,…,t-1;t表示超级节点的个数,i表示t个超级节点中的一个超级节点,G为椭圆曲线基点。根据对有效的超级节点的设定,假设以获得超过投票供应总量的百分比p=2%作为参与出块的标准,则t的最大值为50,即t=1/2%。
在本轮协商对标区块的N个区块之前将登记信息广播上链以实现节点登记,所述登记信息包括多项式系数,以便后续通过多项式计算实现数据重构,所述多项式系数为{A0,A1,…,At-1},A0作为协商公钥。N的取值可以根据实际需要进行设置。对标区块,是指本轮协商需要产生的区块,以N的取值为16为例,假设本轮协商需要产生的区块为高度为100的区块,那么,需要在16个区块之前,即产生高度为84的区块之前,将登记信息广播上链。本轮协商的结果广播上链后将在16个区块后起作用。
对于实现登记的超级节点,根据登记的顺序和获得的投票数量,进行序号计算,根据计算的序号对实现登记的超级节点进行排序。进行序号计算时,可以按照如下公式进行计算:
[token vote/(S×p)] (1)
其中,token vote为超级节点获得的投票数量,S为投票供应总量(即全网总token的量),p为投票供应总量的百分比。
基于所述排序,由当前超级节点i根据其它超级节点j发布的协商公钥创建共同密钥Kij,将秘密分片以共同密钥Kij加密后广播全网,以便对应的超级节点j解密后利用超级节点i的登记信息通过校验公式对秘密分片Sij进行校验,j的取值为0,1,…,t-1,j不等于i,若校验公式成立,则将通过校验的秘密分片进行全网广播以便由其它超级节点继续对秘密分片进行校验。
根据秘密分片的接收情况和校验情况,判断其它超级节点中是否存在不可靠的超级节点,若存在,将不可靠的超级节点剔除;基于可靠的超级节点,重复上述过程,以最终得到全网一致的随机信标。
其中,秘密分片的接收情况包括超级节点是否能够接收其它超级节点广播的秘密分片,如果因网络情况等异常无法接收秘密分片,则无法收集到其它超级广播的所有的校验通过的秘密分片,这样的超级节点就是不可靠的。
其中,秘密分片的校验情况是指秘密分片是否通过了各个超级节点的校验,如果某个超级节点对该秘密分片校验不通过,则认为发出该秘密分片的超级节点是不可靠的。
对于不可靠的超级节点,将无法进入下一阶段的计算。假如,剔除了两个不可靠的超级节点,下一阶段的计算时,进行数据重构{A0,A1,…,At-1}和{a0,a1,…,at-1}时,t的数量就会减少两个。
如此,随机信标的产生过程是非常可靠的,能自证出块合法性。
步骤12、根据各超级节点获得的投票总数量,计算所述CPoW共识机制获得出块权的概率和所述EDPoS共识机制获得出块权的概率。
本步骤中,引入了参与CPoW共识机制的节点的等效投票的概念。
假设超级节点i获得的投票数量为Vi,各超级节点获得的投票总数量Vd=V0+V1+...+Vt-1,投票供应总量为S。
按照如下公式计算参与所述CPoW共识机制的节点获得的等效投票Vwork:
Vwork=S*(1-Vd/S)^3 (2);
其中,Vd为参与所述EDPoS共识机制的各超级节点得到的投票总数量,S为全网投票总供应量;
按照如下公式确定所述CPoW共识机制获得出块权的概率Pwork:
Pwork=Vwork/(Vd+Vwork) (3);
按照如下公式确定所述EDPoS共识机制获得出块权的概率Pedpos:
Pedpos=Vd/(Vd+Vwork)=1–Pwork (4)。
如此,巧妙的将所有的CpoW共识机制的节点作为一个整体计算等效投票,从而分别得出CpoW共识机制获得出块权的概率和EDPoS共识机制获得出块权的概率。
步骤13、根据计算的所述CPoW共识机制获得出块权的概率和所述EDPoS共识机制获得出块权的概率,将预设的随机信标的取值范围进行区间划分,得到与所述CPoW共识机制对应的第一区间和与所述EDPoS共识机制对应的第二区间。
步骤14、若所述产生的随机信标落在所述第一区间,确定基于所述CPoW共识机制进行出块,若所述产生的随机信标落在所述第二区间,确定基于所述EDPoS共识机制进行出块,以实现所述CPoW共识机制和所述EDPoS共识机制的切换。
举例来说,我们假设预设的随机信标有1到100的取值范围,计算的EDPoS共识机制获得出块权的概率为70%,CPoW共识机制获得出块权的概率为30%,基于此,假设将随机信标划分为与所述CPoW共识机制对应的第一区间[1,70)和与CPoW共识机制对应的第二区间[70,100]两个区间,如果随机信标落在第一区间,就采用EDPoS共识机制,如果随机信标落在第二区间,就采用CPoW共识机制。
基于EDPoS共识机制的特点,不管是在公链启动阶段,还是在CPoW共识机制和EDPoS共识机制混合工作的过程中,EDPoS共识机制是否能够启动,都与投票情况直接相关,本申请的方案中,基于各超级节点的实际投票情况,分别计算出了CPoW共识机制获得出块权的概率和EDPoS共识机制获得出块权的概率,基于这两个概率将预设的随机信标的取值范围划分了两个区间,如果按照预设算法产生的随机信标落在与所述CPoW共识机制对应的第一区间,则确定轮到CPoW共识机制,如果按照预设算法产生的随机信标落在了与EDPoS共识机制对应的第二区间,则确定轮到EDPoS共识机制,如此,实现了两种共识机制的切换,由于两种共识机制的切换是基于实际投票情况实现的,而EDPoS共识机制的启动又与投票情况直接相关,因此,共识机制的切换结果是与实际情况相符的,从而可以实现两种共识机制的平滑过度且非常稳定,又由于随机信标在产生之前,任何节点都是无法获知的,具有真随机属性,将随机信标与基于投票情况得到的两种共识机制获得出块权的概率相结合,相当于通过随机数掷骰过程确定本次出块的共识机制是CpoW共识机制还是EDPoS共识机制,也可以更加快速、公平的出块。
另外,由于采用了CPoW共识机制和EDPoS共识机制两种混合式共识机制,公链不会因为EDPoS共识机制的超级节点的退出而停止,保证了公链的可持续性运行。
CPoW共识机制获得出块权的概率和参与EDPoS共识机制协商的各超级节点获得的投票总数量相关,统计如下表1:
V<sub>d</sub>/S | P<sub>work</sub> |
0 | 100% |
0.25 | 62.8% |
0.5 | 20% |
0.75 | 2% |
1 | 0% |
由此可以看出,在起始阶段,参与EDPoS共识机制的节点和投票比较少,共识机制退化为以CPoW共识机制为主,当投票越来越多,CPoW共识机制的出块几率会迅速降低。
在所述确定基于所述EDPoS共识机制进行出块之后,就可以基于所述EDPoS共识机制和上述产生的随机信标,确定出块节点以进行出块,具体的,确定出块节点的方式与DPoS共识机制中的方式一致,此处不做赘述。
同样,在确定基于所述CPoW共识机制进行出块之后,就可以基于所述CPoW共识机制,确定出块节点以进行出块,具体的,确定出块节点的方式与PoW共识机制中的方式一致,此处不做赘述。
参见图2,图2是本申请另一个实施例提供的一种区块链中的混合式共识机制的切换装置的结构示意图。
如图2所示,本实施例提供的一种区块链中的混合式共识机制的切换装置,所述混合式共识机制包括CPoW共识机制和EDPoS共识机制,所述区块链中的混合式共识机制的切换装置包括:
随机信标产生模块201,用于按照预设算法产生随机信标;
出块概率计算模块202,用于根据各超级节点获得的投票总数量,计算所述CPoW共识机制获得出块权的概率和所述EDPoS共识机制获得出块权的概率;
区间划分模块203,用于根据计算的所述CPoW共识机制获得出块权的概率和所述EDPoS共识机制获得出块权的概率,将预设的随机信标的取值范围进行区间划分,得到与所述CPoW共识机制对应的第一区间和与所述EDPoS共识机制对应的第二区间;
共识机制切换模块204,用于若所述产生的随机信标落在所述第一区间,确定基于所述CPoW共识机制进行出块,若所述产生的随机信标落在所述第二区间,确定基于所述EDPoS共识机制进行出块,以实现所述CPoW共识机制和所述EDPoS共识机制的切换。
本申请实施例提供的区块链中的混合式共识机制的切换装置的具体实施方案可以参考以上任意例的区块链中的混合式共识机制的切换方法的实施方式,此处不再赘述。
参见图3,图3是本申请另一个实施例提供的一种区块链中的混合式共识机制的切换设备的结构示意图。
如图3所示,本实施例提供的一种区块链中的混合式共识机制的切换设备,所述混合式共识机制包括CPoW共识机制和EDPoS共识机制,所述区块链中的混合式共识机制的切换设备包括:
处理器301,以及与所述处理器301相连接的存储器302;
所述存储器302用于存储计算机程序;
所述处理器301用于调用并执行所述存储器中的所述计算机程序,以执行如以上任意实施例所述的方法中各个步骤。
本申请实施例提供的区块链中的混合式共识机制的切换设备的具体实施方案可以参考以上任意例的区块链中的混合式共识机制的切换方法的实施方式,此处不再赘述。
本申请另一个实施例还提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如以上任意实施例所述的方法中各个步骤。
本申请实施例提供的存储介质的具体实施方案可以参考以上任意例的区块链中的混合式共识机制的切换方法的实施方式,此处不再赘述。
本申请另一个实施例还提供一种区块链系统,包括如以上任意实施例所述的区块链中的混合式共识机制的切换设备。
本实施例提供的区块链系统的具体实施方案可以参考以上任意例的区块链中的混合式共识机制的切换方法的实施方式,此处不再赘述。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种区块链中的混合式共识机制的切换方法,其特征在于,所述混合式共识机制包括CPoW共识机制和EDPoS共识机制,所述区块链中的混合式共识机制的切换方法包括;
按照预设算法产生随机信标;
根据各超级节点获得的投票总数量,计算所述CPoW共识机制获得出块权的概率和所述EDPoS共识机制获得出块权的概率;
根据计算的所述CPoW共识机制获得出块权的概率和所述EDPoS共识机制获得出块权的概率,将预设的随机信标的取值范围进行区间划分,得到与所述CPoW共识机制对应的第一区间和与所述EDPoS共识机制对应的第二区间;
若所述产生的随机信标落在所述第一区间,确定基于所述CPoW共识机制进行出块,若所述产生的随机信标落在所述第二区间,确定基于所述EDPoS共识机制进行出块,以实现所述CPoW共识机制和所述EDPoS共识机制的切换。
2.根据权利要求1所述的区块链中的混合式共识机制的切换方法,其特征在于,所述确定基于所述EDPoS共识机制进行出块之后,所述方法还包括:
基于所述EDPoS共识机制和所述产生的随机信标,确定出块节点以进行出块。
3.根据权利要求1所述的区块链中的混合式共识机制的切换方法,其特征在于,所述确定基于所述CPoW共识机制进行出块之后,所述方法还包括:
基于所述CPoW共识机制,确定出块节点以进行出块。
4.根据权利要求1所述的区块链中的混合式共识机制的切换方法,其特征在于,所述按照预设算法产生随机信标,包括:
利用ECC算法产生一组秘钥对,所述秘钥对包括私钥{a0,a1,…,at-1}和公钥{A0,A1,…,At-1},满足Ai=aiG,i的取值为0,1,…,t-1;t表示超级节点的个数,i表示t个超级节点中的一个超级节点,G为椭圆曲线基点;
在本轮协商对标区块的N个区块之前将登记信息广播上链以实现节点登记,所述登记信息包括多项式系数,所述多项式系数为{A0,A1,…,At-1},A0作为协商公钥;
对于实现登记的超级节点,根据登记的顺序和获得的投票数量,进行序号计算,根据计算的序号对实现登记的超级节点进行排序;
基于所述排序,由当前超级节点i根据其它超级节点j发布的协商公钥创建共同密钥Kij,将秘密分片以共同密钥Kij加密后广播全网,以便对应的超级节点j解密后利用超级节点i的登记信息通过校验公式对秘密分片Sij进行校验,j的取值为0,1,…,t-1,若校验公式成立,则将通过校验的秘密分片进行全网广播以便由其它超级节点继续对秘密分片进行校验;
根据秘密分片的接收情况和校验情况,判断其它超级节点中是否存在不可靠的超级节点,若存在,将不可靠的超级节点剔除;基于可靠的超级节点,重复上述过程,以最终得到全网一致的随机信标。
5.根据权利要求1所述的区块链中的混合式共识机制的切换方法,其特征在于,所述根据各超级节点获得的投票总数量,计算所述CPoW共识机制获得出块权的概率和所述EDPoS共识机制获得出块权的概率,包括:
按照如下公式计算参与所述CPoW共识机制的节点获得的等效投票Vwork:
Vwork=S*(1-Vd/S)^3
其中,Vd为参与所述EDPoS共识机制的各超级节点得到的投票总数量,S为全网投票总供应量;
按照如下公式确定所述CPoW共识机制获得出块权的概率Pwork:
Pwork=Vwork/(Vd+Vwork)
按照如下公式确定所述EDPoS共识机制获得出块权的概率Pedpos:
Pedpos=Vd/(Vd+Vwork)=1–Pwork。
6.根据权利要求1所述的区块链中的混合式共识机制的切换方法,其特征在于,所述根据计算的所述CPoW共识机制获得出块权的概率和所述EDPoS共识机制获得出块权的概率,将预设的随机信标的取值范围进行区间划分,得到与所述CPoW共识机制对应的第一区间和与所述EDPoS共识机制对应的第二区间,包括:
根据所述CPoW共识机制获得出块权的概率,确定所述第一区间在所述预设的随机信标的取值范围中的百分比;
根据所述EDPoS共识机制获得出块权的概率,确定所述第二区间在所述预设的随机信标的取值范围中的百分比。
7.一种区块链中的混合式共识机制的切换装置,其特征在于,所述混合式共识机制包括CPoW共识机制和EDPoS共识机制,所述区块链中的混合式共识机制的切换装置包括:
随机信标产生模块,用于按照预设算法产生随机信标;
出块概率计算模块,用于根据各超级节点获得的投票总数量,计算所述CPoW共识机制获得出块权的概率和所述EDPoS共识机制获得出块权的概率;
取值区间划分模块,用于根据计算的所述CPoW共识机制获得出块权的概率和所述EDPoS共识机制获得出块权的概率,将预设的随机信标的取值范围进行区间划分,得到与所述CPoW共识机制对应的第一区间和与所述EDPoS共识机制对应的第二区间;
共识机制切换模块,用于若所述产生的随机信标落在所述第一区间,确定基于所述CPoW共识机制进行出块,若所述产生的随机信标落在所述第二区间,确定基于所述EDPoS共识机制进行出块,以实现所述CPoW共识机制和所述EDPoS共识机制的切换。
8.一种区块链中的混合式共识机制的切换设备,其特征在于,所述混合式共识机制包括CPoW共识机制和EDPoS共识机制,所述区块链中的混合式共识机制的切换设备包括:
处理器,以及与所述处理器相连接的存储器;
所述存储器用于存储计算机程序;
所述处理器用于调用并执行所述存储器中的所述计算机程序,以执行如权利要求1-6任一项所述的方法中各个步骤。
9.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1-6任一项所述的方法中各个步骤。
10.一种区块链系统,其特征在于,包括如权利要求8所述的区块链中的混合式共识机制的切换设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010439673.2A CN111600960A (zh) | 2020-05-22 | 2020-05-22 | 区块链中的混合式共识机制的切换方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010439673.2A CN111600960A (zh) | 2020-05-22 | 2020-05-22 | 区块链中的混合式共识机制的切换方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111600960A true CN111600960A (zh) | 2020-08-28 |
Family
ID=72191366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010439673.2A Pending CN111600960A (zh) | 2020-05-22 | 2020-05-22 | 区块链中的混合式共识机制的切换方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111600960A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113783899A (zh) * | 2021-11-12 | 2021-12-10 | 中国信息通信研究院 | 节点退出方法和区块链 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109214795A (zh) * | 2018-09-18 | 2019-01-15 | 北京物链互联科技有限公司 | 一种基于dag算法的区块链混合共识方法 |
US20190018887A1 (en) * | 2017-04-12 | 2019-01-17 | Vijay K. Madisetti | Method and System for Tuning Blockchain Scalability, Decentralization, and Security for Fast and Low-Cost Payment and Transaction Processing |
CN109600230A (zh) * | 2018-11-27 | 2019-04-09 | 北京零和商务有限公司 | 一种区块链共识机制实现系统及其实现方法 |
CN109831425A (zh) * | 2019-01-25 | 2019-05-31 | 中国联合网络通信集团有限公司 | 区块链共识方法、装置、设备及计算机可读存储介质 |
US20190334726A1 (en) * | 2018-04-30 | 2019-10-31 | Dell Products L.P. | Blockchain-based method and system for immutable resource allocation in a cloud computing environment |
CN110474765A (zh) * | 2019-07-29 | 2019-11-19 | 广东工业大学 | 一种基于委托权益证明扩展的量子区块链构建方法 |
CN111145025A (zh) * | 2019-12-30 | 2020-05-12 | 北京工商大学 | 一种基于区块链的供应链数据双链存储优化方法 |
-
2020
- 2020-05-22 CN CN202010439673.2A patent/CN111600960A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190018887A1 (en) * | 2017-04-12 | 2019-01-17 | Vijay K. Madisetti | Method and System for Tuning Blockchain Scalability, Decentralization, and Security for Fast and Low-Cost Payment and Transaction Processing |
US20190334726A1 (en) * | 2018-04-30 | 2019-10-31 | Dell Products L.P. | Blockchain-based method and system for immutable resource allocation in a cloud computing environment |
CN109214795A (zh) * | 2018-09-18 | 2019-01-15 | 北京物链互联科技有限公司 | 一种基于dag算法的区块链混合共识方法 |
CN109600230A (zh) * | 2018-11-27 | 2019-04-09 | 北京零和商务有限公司 | 一种区块链共识机制实现系统及其实现方法 |
CN109831425A (zh) * | 2019-01-25 | 2019-05-31 | 中国联合网络通信集团有限公司 | 区块链共识方法、装置、设备及计算机可读存储介质 |
CN110474765A (zh) * | 2019-07-29 | 2019-11-19 | 广东工业大学 | 一种基于委托权益证明扩展的量子区块链构建方法 |
CN111145025A (zh) * | 2019-12-30 | 2020-05-12 | 北京工商大学 | 一种基于区块链的供应链数据双链存储优化方法 |
Non-Patent Citations (2)
Title |
---|
XIANGBIN XIAN等: "Improved Consensus Mechanisms Against Censorship Attacks", 《2019 IEEE INTERNATIONAL CONFERENCE ON INDUSTRIAL CYBER PHYSICAL SYSTEMS (ICPS)》 * |
高政风等: "基于DAG的分布式账本共识机制研究", 《软件学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113783899A (zh) * | 2021-11-12 | 2021-12-10 | 中国信息通信研究院 | 节点退出方法和区块链 |
CN113783899B (zh) * | 2021-11-12 | 2022-03-08 | 中国信息通信研究院 | 节点退出方法和区块链系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108768665B (zh) | 区块链生成方法、装置、计算机设备以及存储介质 | |
CN109379397B (zh) | 基于区块链的交易共识处理方法及装置、电子设备 | |
US11025714B2 (en) | System and method for announcing cryptographic keys on a blockchain | |
US20190074966A1 (en) | Revocation of cryptographic keys in the absence of a trusted central authority | |
WO2020042792A1 (zh) | 基于区块链的交易共识处理方法及装置、电子设备 | |
JP7398000B2 (ja) | ブロックチェーンに基づくデータ検出方法及び装置並びにコンピュータ装置及びプログラム | |
JP2021521555A (ja) | ブロックチェーンコンセンサス方法、アカウンティングノードおよびノード | |
CN113301114B (zh) | 区块链共识节点选择方法、装置、计算机设备和存储介质 | |
CN113326516A (zh) | 区块链共识方法、区块链系统及计算机设备 | |
CN113220483A (zh) | 一种区块链共识主节点的切换方法及系统 | |
US20220278854A1 (en) | Unity Protocol Consensus | |
CN113822672A (zh) | 一种基于零知识证明的区块链共识方法 | |
WO2023124364A1 (zh) | 一种防欺诈的秘密分享方法及装置 | |
CN114281888A (zh) | 一种区块链共识方法、装置、设备及存储介质 | |
Ganesh et al. | Broadcast extensions with optimal communication and round complexity | |
CN112118138B (zh) | 区块链共识机制实现系统和方法 | |
CN113660125A (zh) | 一种基于随机可信委员会的共识方法及装置 | |
CN110990790A (zh) | 一种数据处理方法及设备 | |
CN111600960A (zh) | 区块链中的混合式共识机制的切换方法及相关设备 | |
CN113988831A (zh) | 一种基于联盟链的转账方法 | |
CN111082990B (zh) | 一种区块链的共识方法、装置、设备及存储介质 | |
CN112634034A (zh) | 预约方法、装置、电子设备及计算机可读存储介质 | |
WO2023103689A1 (zh) | 一种区块链中随机数的生成方法、装置、区块链节点、存储介质和计算机程序产品 | |
CN112131602B (zh) | 基于可信计算进行节点间信任关系快速扩展的方法、装置及相关产品 | |
CN112751675B (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 | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20230509 |
|
AD01 | Patent right deemed abandoned |