基于权益证明的验证组建组方法和装置与流程

文档序号:22041308发布日期:2020-08-28 18:09阅读:98来源:国知局
基于权益证明的验证组建组方法和装置与流程

本发明涉及区块链技术领域,尤其涉及一种基于权益证明的验证组建组方法和装置。



背景技术:

区块链是共识算法、分布式存储、点对点传输、加密算法等计算机技术的新型系统。被广泛应用于证券交易、电子商务、智能合约、物联网、社交通讯以及文件存储等众多领域。要想整个区块链网络节点维持一份相同的数据,同时保证每个参与者的公平性,整个体系的所有参与者必须要有统一的协议,也就是达成共识。共识机制是特殊节点的投票,在很短的时间内完成对交易的验证和确认;对一笔交易,如果利益不相干的若干个节点能够达成共识,我们就可以认为全网对此也能够达成共识。

为了克服经典pow(proofofwork,工作量证明)共识算法的低性能,高能耗问题,近年来,越来越多的公链采用了pos(proofofstake,权益证明)共识算法。众所周知,基于pos的公有链的挖矿机制一般可分为提案和验证两个阶段:提案阶段和验证阶段,其中,提案阶段可选择提案节点,由提案节点负责打包交易生成候选区块,此阶段可能产生多个候选区块;而在验证阶段中,由部分或全部矿工来担当验证节点,对候选区块进行投票并达成组内共识产生最终可以上链的区块。最终上链的区块的出块过程由1个提案者和多个验证者协同完成。

在现有公链中,采用vrf算法的公链有不少,比如algorand,cardano,ont等等,这些公链通常会在验证阶段采用vrf预先建组的方式,通过vrf算法从全体矿工池中提前确定出验证组成员。但是通过vrf(verifiablerandomfunction,可验证随机函数)随机出的组成员无法确保节点的在线情况,可能出现过多的节点不在线从而导致整个验证组无法正常工作的情形。



技术实现要素:

针对现有技术中的缺陷,本发明的实施例提供了建组方法和装置方法和装置,能够实现不同区块的公平公正的权重比较,增强系统的健壮性和安全性。

一方面,本发明的实施例提供了一种基于权益证明的验证组建组方法,包括:

按照预设的建组周期,从轻节点侯选池中筛选出多个在线的节点;

基于筛选出的多个在线的节点,创建下一个验证工作时期的验证组;

设定所述验证组在预设的生存周期内的验证共识机制,所述生存周期包括一个或多个验证工作时期。

可选地,所述按照预设的建组周期,从轻节点侯选池中筛选出多个在线的节点,包括:

按照预设的建组周期,从轻节点侯选池中筛选出m个验证候选节点,m为大于1的整数;

接收所述验证候选节点返回的建组请求交易;

从发送建组请求交易并成功上链的多个所述验证候选节点中筛选出多个节点,并作为在线的节点。

可选地,所述从发送建组请求交易并成功上链的多个所述验证候选节点中筛选出多个节点,包括:

根据建组请求交易的上链时间,筛选出在预设的限定时间内返回成功上链的建组请求交易的多个验证候选节点。

可选地,所述从发送建组请求交易并成功上链的多个所述验证候选节点中筛选出多个节点,包括:

根据建组请求交易的上链时间,筛选出建组请求交易上链最早的n个验证候选节点,n为大于1的整数。

可选地,所述方法还包括:将如下三种验证候选节点从所述轻节点候选池中剔除:

未返回建组请求交易的验证候选节点;

返回建组请求交易但未在预设的限定时间内返回的验证候选节点;

在预设的限定时间内返回建组请求交易但建组请求交易未成功上链的验证候选节点。

可选地,所述验证共识机制包括:

在预设的生存周期内,所述验证组内节点根据预设门限个组成员的签名生成唯一的组签名。

可选地,所述预设门限大于所述验证组内节点总量的一半;或者,所述预设门限大于所述验证组内节点总量的2/3。

又一方面,本发明的实施例还提供了一种基于权益证明的验证组建组装置,包括:

在线节点筛选模块,用于按照预设的建组周期,从轻节点侯选池中筛选出多个在线的节点;

验证组创建模块,用于基于筛选出的多个在线的节点,创建下一个验证工作时期的验证组;

验证组设定模块,用于设定所述验证组在预设的生存周期内的验证共识机制,所述生存周期包括一个或多个验证工作时期。

又一方面,本发明的实施例还提供了一种电子设备,包括处理器、存储器和总线,其中:

所述处理器,所述存储器通过总线完成相互间的通信;

所述处理器可以调用存储器中的计算机程序,以执行上述实施例提供的任意一种基于权益证明的验证组建组方法的各步骤。

再一方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例提供的任意一种基于权益证明的验证组建组方法的各步骤。

本发明实施例提供的基于权益证明的验证组建组方法和装置,在下一个验证工作时期到来之前,提前筛选出在线的节点;基于在线的节点创建下一个验证工作时期的验证组;设定验证组在预设的生存周期内的验证共识机制。这样,可以剔除掉不在线的节点,保证验证组内实际入组成员为活跃矿工,从而保障验证组的正常验证工作。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了根据本发明一实施例的基于权益证明的验证组建组方法的示例性流程图;

图2示出了根据本发明一实施例的在线节点筛选方法的示例性流程图;

图3示出了根据本发明一实施例的基于权益证明的验证组建组装置的结构示意图;

图4示出了根据本发明一实施例的电子设备的结构示意图。

具体实施方式

以下将结合附图对本发明的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本发明所保护的范围。

本申请使用的“单元”、“装置”等术语旨在包括与计算机相关的实体,例如但不限于硬件、固件、软硬件组合、软件或者执行中的软件。例如,单元可以是,但并不仅限于:处理器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。举例来说,计算设备上运行的应用程序和此计算设备都可以是单元。一个或多个单元可以位于执行中的一个进程和/或线程内,一个单元也可以位于一台计算机上和/或分布于两台或更多台计算机之间。

下面结合附图详细说明本发明的技术方案。

参考图1,其示出了根据本发明一实施例的基于权益证明的验证组建组方法的示例性流程图。

如图1所示,本发明实施例提供的基于权益证明的验证组建组方法,可以包括如下步骤:s110:按照预设的建组周期,从轻节点侯选池中筛选出多个在线的节点;s120:基于筛选出的多个在线的节点,创建下一个验证工作时期的验证组;s130:设定所述验证组在预设的生存周期内的验证共识机制,所述生存周期包括一个或多个验证工作时期。

在步骤s110中,建组周期是由本领域技术人员根据实际需求进行预先设置。每到一个建组周期,系统可以从轻节点侯选池进行在线的节点的筛选,为下一个验证工作时期的验证组选出在线的候选者。实际应用中,每个验证组在工作之前可提前一个时期建立。

图2示出了根据本发明一实施例的在线节点筛选方法的流程示意图。

如图2所示,本发明实施例提供的在线节点筛选方法,可以包括如下步骤:s1101:按照预设的建组周期,从轻节点侯选池中筛选出m个验证候选节点,m为大于1的整数;s1102:接收所述验证候选节点返回的建组请求交易;s1103:筛选发送建组请求交易并成功上链的多个所述验证候选节点,作为在线的节点。

本发明的一些实施例中,系统可以按照预设的建组周期,首先从轻节点侯选池中筛选出m个验证候选节点。关于验证候选节点的筛选,可以采用随机选取的方式,例如,可以通过vrf算法随机选取。其中,m为大于1的整数,可以由本领域技术人员根据实际需求进行预先设置。

实际应用中,系统筛选出m个验证候选节点中可能包括在线的节点和不在线的节点。因此,后续需要对在线的节点进行筛选。

本发明的一些实施例中,在系统筛选出m个验证候选节点之后,验证候选节点能够感知到自己已被选中。实际应用中,验证候选节点可以通过vrf算法计算了解到自己已被选中。

本发明的一些实施例中,了解到自己已被选中后,验证候选节点了可以自动发送建组请求交易。

本发明的一些实施例中,了解到自己已被选中后,验证候选节点可以根据自己的实际情况选择是否发送建组请求交易。

相应地,在验证候选节点发送建组请求交易之后,系统可以接收验证候选节点返回的建组请求交易。

可以理解的是,发送建组请求交易且成功上链的节点,为系统中的在线的节点。因此,本发明实施例中,系统筛选发送建组请求交易并成功上链的多个验证候选节点,作为在线的节点。

本发明实施例中,通过建组请求交易的发送和接收,可以便于筛选出在线的节点,以此保证基于在线的节点创建的验证组的成员在线,避免出现过多的不在线节点而导致验证组无法正常工作。

本发明的一些实施例中,可以将发送建组请求交易并成功上链的多个验证候选节点均作为在线的节点。

考虑到,实际应用中可能会出现发送建组请求交易并成功上链的验证候选节点的数量较多,而为了快速完成验证所需的验证组成员的数量并不多的情形。因此,本发明的一些实施例中,系统可以对发送建组请求交易并成功上链的多个所述验证候选节点进行二次筛选。

考虑在线的节点的复杂性,例如,有些节点较为活跃,而有些节点的活跃度不高,有些节点的网络情况良好,有些节点的网络情况差等。为了提高验证组的工作质量,可以在对多个验证候选节点进行二次筛选的过程对上述情形进行考虑。

具体地,本发明的一些实施例中,系统可以根据建组请求交易的上链时间,筛选出在预设的限定时间内返回成功上链的建组请求交易的多个验证候选节点。其中,限定时间由本领域技术人员根据实际情况进行预先设置,例如,可以设置为1分钟、30秒等。通过上述这种方式的筛选,便于筛选出在线的,且网络情况良好,活跃度高的节点。

可选地,本发明的一些实施例中,在对验证组的组成员的数量有要求的情况下,系统可以根据建组请求交易的上链时间,筛选出建组请求交易上链最早的n个验证候选节点,n为大于1的整数。其中,n由本领域技术人员根据验证组的组成员的数量需求预先设置。这样,在保障验证组的组成员的数量需求的情形下,可以筛选出响应比较快的在线节点,便于提高验证组的工作质量。

实际应用中,系统在筛选出在预设的限定时间内返回建组请求交易的多个验证候选节点之后,还可以进一步根据建组请求交易的上链时间,筛选出建组请求交易上链最早的l个验证候选节点。其中,l为大于1的整数,由本领域技术人员根据验证组的组成员的数量需求预先设置。可以理解的是,l与n均由本领域技术人员根据验证组的组成员的数量需求预先设置,l与n可能相同,也可能不同。这样,可以筛选出在线的,且网络情况良好,活跃度高的节点,也可以保障验证组的组成员的数量需求。

本发明的一些实施例中,通过步骤s110筛选出的多个在线的节点之后,在步骤s120中,可以将筛选出的多个在线的节点作为验证组的组成员,也可以对筛选出的多个在线的节点根据需求进行再次筛选,得到验证组的组成员;基于确定的组成员,创建下一个验证工作时期的验证组。实际应用中,在创建验证组的过程中,可以明确每个成员在验证组中的位置,以便后续的验证工作。

本发明的一些实施例中,通过步骤s120创建下一个验证工作时期的验证组之后,可以对验证组进行验证共识机制的设定。本发明实施例中,创建的验证组将在工作几个时期后解散,存在生存周期。其中,验证组的生存周期由本领域技术人员根据实际需求进行设置,生存周期可以包括一个或多个验证工作时期。

本发明的一些实施例中,在预设的生存周期内,验证组内节点根据预设门限个组成员的签名可以恢复生成唯一的组签名。这样,可以保证验证节点的冗余性,有利于验证组的正常工作。其中,预设门限由本领域技术人员根据实际需求进行设置,例如,预设门限可以大于验证组内节点总量的一半;或者预设门限可以大于验证组内节点总量的2/3。

本发明的实施例提供的基于权益证明的验证组建组方法,在下一个验证工作时期到来之前,提前筛选出在线的节点;基于在线的节点创建下一个验证工作时期的验证组;设定验证组在预设的生存周期内的验证共识机制。这样,可以剔除掉不在线的节点,保证验证组内实际入组成员为活跃矿工,从而保障验证组的正常验证工作。

本发明的一些实施例中,本次创建验证组之后,为了提高下一次创建验证组的效率,可以在从轻节点候选池中筛选出多个在线的节点的过程中,可以将不在线的节点从轻节点候选池中剔除。具体地,可以将如下三种验证候选节点从所述轻节点候选池中剔除:

未返回建组请求交易的验证候选节点;返回建组请求交易但未在预设的限定时间内返回的验证候选节点;在预设的限定时间内返回建组请求交易但建组请求交易未成功上链的验证候选节点。

这样,通过剔除不在线的节点,可以避免这些节点进入下一次创建验证组的轻节点侯选池中,可以保证系统的健康性的同时,提高建组效率。

在图1所示实施例的基础上,本发明的一个实施例提供了一种基于权益证明的验证组建组装置。

参考图3,其示出了根据本发明一实施例的基于权益证明的验证组建组装置的结构示意图。

如图3所示,本发明的一个实施例提供的基于权益证明的验证组建组装置可以包括:在线节点筛选模块301、验证组创建模块302和验证组设定模块303。

其中,在线节点筛选模块301用于按照预设的建组周期,从轻节点侯选池中筛选出多个在线的节点。

验证组创建模块302用于基于筛选出的多个在线的节点,创建下一个验证工作时期的验证组。

验证组设定模块303用于设定验证组在预设的生存周期内的验证共识机制,生存周期包括一个或多个验证工作时期。

本发明的一些实施例中,在线节点筛选模块301用于按照预设的建组周期,从轻节点侯选池中筛选出m个验证候选节点,m为大于1的整数;接收验证候选节点返回的建组请求交易;筛选发送建组请求交易并成功上链的多个验证候选节点,作为在线的节点。

本发明的一些实施例中,在线节点筛选模块301用于根据建组请求交易的上链时间,筛选出在预设的限定时间内返回成功上链的建组请求交易的多个验证候选节点。

本发明的一些实施例中,在线节点筛选模块301用于根据建组请求交易的上链时间,筛选出建组请求交易上链最早的n个验证候选节点,n为大于1的整数。

本发明的一些实施例中,本发明的一个实施例提供的基于权益证明的验证组建组装置还可以包括:侯选池节点剔除模块(图中未示出),用于将如下三种验证候选节点从所述轻节点候选池中剔除:

未返回建组请求交易的验证候选节点;返回建组请求交易但未在预设的限定时间内返回的验证候选节点;在预设的限定时间内返回建组请求交易但建组请求交易未成功上链的验证候选节点。

本发明的一些实施例中,验证共识机制包括:在预设的生存周期内,验证组内节点根据预设门限个组成员的签名生成唯一的组签名。

本发明的一些实施例中,预设门限大于验证组内节点总量的一半;或者,预设门限大于验证组内节点总量的2/3。

本发明的实施例提供的基于权益证明的验证组建组装置,在下一个验证工作时期到来之前,提前筛选出在线的节点;基于在线的节点创建下一个验证工作时期的验证组;设定验证组在预设的生存周期内的验证共识机制。这样,可以剔除掉不在线的节点,保证验证组内实际入组成员为活跃矿工,从而保障验证组的正常验证工作。

参考图4,其示出了根据本发明一实施例的电子设备的结构示意图。如图4所示,该电子设备400可以包括:处理器(processor)401、存储器(memory)402和总线403,其中,处理器401,存储器402通过总线403完成相互间的通信。

处理器401可以调用存储器402中的计算机程序,以执行上述实施例提供的任意一种基于权益证明的验证组建组方法的各步骤。

本发明的一个实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,该程序被处理器执行时实现上述实施例提供任意一种基于权益证明的验证组建组方法的各步骤。

此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1