一种联盟链共识达成方法、装置及存储介质与流程

文档序号:25861464发布日期:2021-07-13 16:17阅读:120来源:国知局
一种联盟链共识达成方法、装置及存储介质与流程

本申请涉及区块链技术领域,尤其涉及一种联盟链共识达成方法、装置及存储介质。



背景技术:

区块链可以分为公链、私链和联盟链(consortiumblockchain)。其中,联盟链是指,针对某个特定群体的成员和有限第三方,内部指定多个预选节点为记账节点,每个区块数据的生成由所有的预选节点共同决定,其他节点可以参与交易,但不过问记账过程。共识算法是联盟链至关重要的组成部分,是联盟链解决信任问题的基础算法;然而相关技术中,联盟链的共识往往效率较低,因此,如何提升共识效率是需要解决的技术问题。



技术实现要素:

本申请实施例提供一种联盟链共识达成方法、装置及存储介质,可以提升共识效率。

本申请实施例的技术方案是这样实现的:

第一方面本申请实施例提供一种联盟链共识达成方法,包括:

获取联盟链中的交易信息;

基于所述交易信息中的交易紧急程度和交易金额,确认交易优先级;

基于所述交易优先级,对所述交易执行共识。

上述方案中,所述获取联盟链中的交易信息之前,所述方法还包括:

确认联盟链中的至少一个代理节点;

其中,所述至少一个代理节点用于产生至少一个交易和所述至少一个交易对应的交易信息。

上述方案中,所述基于所述交易信息中的交易紧急程度和交易金额,确认交易优先级,包括:

基于所述交易紧急程度确认所述交易信息对应的紧急程度等级;

基于所述交易金额确认所述交易信息对应的金额等级;

基于所述紧急程度等级和所述紧急程度等级对应的第一权重的乘积,与所述金额等级和所述金额等级对应的第二权重的乘积之和,确认第一优先级。

上述方案中,所述基于所述交易信息中的交易紧急程度和交易金额,确认交易优先级,还包括:

所述联盟链中至少一个节点确认所述第一优先级的合理性;

基于所述至少一个节点的确认结果修正所述第一优先级,确认所述修正后的第一优先级为所述交易优先级。

上述方案中,所述基于所述交易优先级,对所述交易执行共识,包括:

基于所述交易的优先级,发送所述交易信息对应的验证信息;

验证节点基于所述交易的优先级验证所述交易信息的合法性,得到验证结果;

若所述联盟链包括的第一记账节点基于所述验证结果确认所述交易信息合法,则所述第一记账节点基于所述交易优先级生成所述交易信息对应的区块。

上述方案中,所述方法还包括:

所述联盟链包括的至少一个第二记账节点将所述区块连接至所述联盟链中的区块。

上述方案中,所述方法还包括:

若所述第一记账节点基于所述验证结果确认所述交易信息不合法,所述验证节点基于所述交易优先级,再次确认所述交易信息对应的验证信息。

上述方案中,所述确认联盟链中的至少一个代理节点,包括:

基于历史共识信息,确认所述联盟链中全部代理节点的贡献值和/或与所述贡献值对应的贡献等级;

基于所述贡献值和贡献等级,确认所述联盟链中全部代理节点中的恶意节点和异常节点;

基于所述恶意节点的数量、所述异常节点的数量和第一策略,将与所述恶意节点的数量与所述异常节点的数量之和相等的候补代理节点转换为代理节点,形成至少一个代理节点。

上述方案中,所述基于所述恶意节点的数量、所述异常节点的数量和第一策略,将与所述恶意节点的数量与所述异常节点的数量之和相等的候补代理节点转换为代理节点,包括:

在所述恶意节点的数量和所述异常节点数量的数量之和大于或等于第一阈值的情况下,将与所述恶意节点的数量与所述异常节点的数量之和相等的候补代理节点转换为代理节点;

或者,在所述候补代理节点转换为所述代理节点之后的第二时间,将与所述恶意节点的数量与所述异常节点的数量之和相等的候补代理节点转换为代理节点。

上述方案中,所述基于所述贡献值和/或贡献等级,确认所述联盟链中全部代理节点中的恶意节点和异常节点之后,所述方法还包括:

在所述联盟链中删除所述恶意节点;

和/或,在所述联盟链中冻结所述异常节点。

第二方面,本申请实施例提供一种联盟链共识达成装置,所述装置包括:

获取单元,用于获取联盟链中的交易信息;

确认单元,用于基于所述交易信息中的交易紧急程度和交易金额,确认交易优先级;

共识单元,用于基于所述交易优先级,对所述交易执行共识。

第三方面,本申请实施例提供一种存储介质,存储有可执行程序,所述可执行程序被处理器执行时,实现上述联盟链共识达成装置执行的联盟链共识达成方法。

第四方面,本申请实施例提供一种联盟链共识达成装置,所述联盟链共识达成装置使得处理器执行上述联盟链共识达成方法。

本申请实施例提供的联盟链共识达成方法、装置及存储介质,获取联盟链中的交易信息;基于所述交易信息中的交易紧急程度和交易金额,确认交易优先级;基于所述交易优先级,对所述交易执行共识,可以提升联盟链的共识效率。

附图说明

图1为本申请实施例提供的联盟链共识达成方法的一种可选流程示意图;

图2为本申请实施例提供的确认联盟链中的节点的方法的可选流程示意图;

图3为本申请实施例提供的联盟链共识达成方法的另一种可选流程示意图;

图4为本申请实施例提供的联盟链共识达成装置的可选结构示意图;

图5为本申请实施例的联盟链共识达成装置的硬件组成结构示意图。

具体实施方式

以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

相关技术中,区块链可以分为:公链、私链和联盟链。所谓联盟链是指:针对某个特定群体的成员和有限第三方,其内部指定多个预选节点为记账节点,每个区块数据的生成由所有的预选节点共同决定,其他节点可以参与交易,但不过问记账过程。这与公链的任何人都可以随时进入和记账不同,在联盟链中,外部方只可通过授权开放的应用程序接口(applicationprogramminginterface,api)进行数据查询。共识算法是区块链至关重要的组成部分,是区块链解决信任问题的基础算法,然而相关技术中,联盟链的共识往往效率较低。

基于目前联盟链的联盟链共识达成方法中存在的问题,本申请提出一种联盟链共识达成方法,能够解决现有技术方案中无法解决的技术难题和缺点。

图1示出了本申请实施例提供的联盟链共识达成方法的一种可选流程示意图,将根据各个步骤进行说明。

步骤s101,获取联盟链中的交易信息。

在一些实施例中,交易产生时,联盟链中各个节点之间互相产生交易信息,所述联盟链共识达成装置(以下简称装置)获取联盟链中各个节点产生的交易信息。

其中,所述各个节点可以是所述联盟链中的交易发起节点、记账节点、验证节点、传播节点中至少一种。

步骤s102,基于所述交易信息中的交易紧急程度和交易金额,确认交易优先级。

在一些实施例中,所述装置基于所述交易信息中交易紧急程度和交易金额,确认交易优先级。

具体实施时,所述装置基于所述交易紧急程度确认所述交易信息对应的紧急程度等级。

例如,发起交易的节点可以直接标记交易紧急程度为高级、中级或低级,对应的紧急程度等级分别为3级、2级或1级。

或者,发起交易的节点可以在所述交易信息中添加紧急程度分值,基于紧急程度分值、第一紧急程度阈值和第二紧急程度阈值(第一紧急程度阈值大于第二紧急程度阈值),划分交易紧急程度;例如,若紧急程度分值大于或等于第一紧急程度阈值,确认紧急程度等级为高级;若紧急程度分值小于第一紧急程度阈值且大于或等于第二紧急程度阈值,确认紧急程度等级为中级;若紧急程度分值小于第二紧急程度阈值,确认紧急程度等级为低级。可选的,高级、中级和低级,对应的紧急程度等级分别为3级、2级和1级。所述第一紧急程度阈值和所述第二紧急程度阈值可以根据实际需要设置。

在另一些实施例中,所述装置基于所述交易金额确认所述交易信息对应的金额等级。

例如,所述装置可以根据交易金额、第一金额阈值和第二金额阈值(第一金额阈值大于第二金额阈值),划分交易的金额等级。若交易金额大于或等于第一金额阈值,确认金额等级为高级;若交易金额小于第一金额阈值且大于或等于第二金额阈值,确认金额等级为中级;若交易金额小于第二金额阈值,确认金额等级为低级。可选的,高级、中级和低级,对应的金额等级分别为3级、2级和1级。所述第一金额阈值和所述第二金额阈值可以根据实际需要设置。

在再一些可选实施例中,所述装置还可以基于所述紧急程度等级和所述紧急程度等级对应的第一权重的乘积,与所述金额等级和所述金额等级对应的第二权重的乘积之和,确认第一优先级。

例如,优先级计算公式可以为:

l=m*a+n*b

其中,l为优先级,m为第二权重,a为金额等级,n为第一权重,b为紧急程度等级。可选地,m+n=1,m和n的具体取值可以根据实际需求设置,例如m=0.4,n=0.6。

在一些可选实施例中,所述装置可以确认所述第一优先级为所述交易优先级。

或者,所述装置可以基于所述联盟链中至少一个节点确认所述第一优先级的合理性;基于所述至少一个节点的确认结果修正所述第一优先级,确认所述修正后的第一优先级为所述交易优先级。

例如,某个交易的紧急程度等级由3级修改为1级,相应的,所述联盟链中至少一个节点确认所述交易的第一优先级不合理,进而基于修改后的紧急程度等级修正所述第一优先级。

步骤s103,基于所述交易优先级,对所述交易执行共识。

在一些实施例中,所述装置基于所述交易优先级,对所述交易执行共识。

具体实施时,所述装置基于所述交易的优先级,向所述联盟链中的验证节点发送所述交易信息对应的验证信息;所述验证节点基于所述交易的优先级验证所述交易信息的合法性,得到验证结果;若所述联盟链包括的第一记账节点基于所述验证结果确认所述交易信息合法,则所述第一记账节点基于所述交易优先级生成所述交易信息对应的区块。

具体的,所述交易优先级高的验证信息先于交易优先级低的验证信息发出;交易优先级高的交易信息的合法性验证先于交易优先级低的交易信息的合法性验证。所述交易信息合法可以至少包括:所述交易信息的数据结构语法有效。

或者,若所述第一记账节点基于所述验证结果确认所述交易信息不合法,所述验证节点基于所述交易优先级,再次确认所述交易信息对应的验证信息。

在一些可选实施例中,所述第一记账节点基于所述交易优先级生成所述交易信息对应的区块之后,所述方法还可以包括:所述联盟链包括的至少一个第二记账节点将所述区块连接至所述联盟链中的区块。

如此,通过本申请实施例提供的联盟链共识达成方法,通过获取联盟链中的交易信息;基于所述交易信息中的交易紧急程度和交易金额,确认交易优先级;基于所述交易优先级,对所述交易执行共识,对于优先级高的交易信息先执行共识,可以提升联盟链的共识效率,避免相关技术中优先级低的交易先于优先级高的交易完成共识。

在一些实施例中,步骤s101至步骤s103的联盟链共识达成方法执行之前或执行之后,所述方法还包括:确认联盟链中的节点。

图2示出了本申请实施例提供的确认联盟链中的节点的方法的可选流程示意图,将根据各个步骤进行说明。

步骤s201,基于历史共识信息,确认所述联盟链中全部代理节点的贡献值和/或与所述贡献值对应的贡献等级。

在一些实施例中,所述装置基于历史共识信息,确认所述联盟链中全部代理节点的贡献值和/或与所述贡献值对应的贡献等级。

具体实施时,所述历史共识信息可以是即将执行的共识之前一轮的共识信息;若即将执行的共识为第一次执行的共识,则无需执行步骤s201至步骤s203。

所述装置基于之前一轮的共识过程,确认联盟链中全部代理节点的贡献值;和/或,所述装置基于所述全部代理节点的贡献值,确定所述全部代理节点的与所述贡献值对应的贡献等级。

具体的,所述装置可以基于至少一个阈值范围确定所述贡献值对应的贡献等级。例如,贡献等级分为5级,基于第一阈值范围、第二阈值范围、第三阈值范围确定所述贡献值对应的贡献等级,若贡献值大于或等于第一阈值范围,贡献等级为5级;若贡献值在第一阈值范围内,贡献等级为4级;若贡献值在第二阈值范围内,贡献等级为3级;若贡献值在第三阈值范围内,贡献等级为2级;若贡献值小于第三阈值范围,贡献等级为1级。可选地,可以将贡献等级分为3级、10级等,具体可以根据实际需求设置。

在一些实施例中,所述代理节点可以是所述联盟链中的交易发起节点、记账节点、验证节点和传播节点中至少一种。

步骤s202,基于所述贡献值和贡献等级,确认所述联盟链中全部代理节点中的恶意节点和异常节点。

在一些实施例中,所述装置基于所述贡献值和贡献等级,确认所述联盟链中全部代理节点中的恶意节点和异常节点;其中,若任一个代理节点的贡献值小于第一阈值或者任一个代理节点的贡献等级小于第一等级,确认所述任一个代理节点为恶意节点;若任一个代理节点的贡献值为0,确认所述任一个代理节点为异常节点。

其中,所述节点信息可以至少包括:恶意节点的数量、异常节点的数量、代理节点的数量变化、代理节点是否有空缺、代理节点的空缺数量。

在一些可选实施例中,所述装置确认所述联盟链中全部代理节点中的恶意节点和异常节点之后,所述装置还可以在所述联盟链中删除恶意节点;和/或,在所述联盟链中冻结异常节点。

步骤s203,基于所述恶意节点的数量、所述异常节点的数量和第一策略,将与所述恶意节点的数量与所述异常节点的数量之和相等的候补代理节点转换为代理节点,形成至少一个代理节点。

在一些实施例中,所述装置基于所述恶意节点的数量、所述异常节点的数量和第一策略,将与所述恶意节点的数量与所述异常节点的数量之和相等的候补代理节点转换为代理节点,形成至少一个代理节点。

具体实施时,所述装置包括的反馈维护系统可以将即将执行的共识之前一轮共识的节点信息存储至状态表中;并设置归零触发器,将所述即将执行的共识之前一轮共识的的节点信息删除。可以由所述装置包括的全局计数装置从所述状态表中获取所述节点信息,基于恶意节点的数量、所述异常节点的数量和第一策略,将与所述恶意节点的数量与所述异常节点的数量之和相等的候补代理节点转换为代理节点,形成至少一个代理节点。

具体地,在所述恶意节点的数量和所述异常节点数量的数量之和大于或等于第一阈值的情况下,将与所述恶意节点的数量与所述异常节点的数量之和相等的候补代理节点转换为代理节点;或者,在所述候补代理节点转换为所述代理节点之后的第二时间,将与所述恶意节点的数量与所述异常节点的数量之和相等的候补代理节点转换为代理节点。

如此,所述装置在一轮共识结束后,删除联盟链中的恶意节点、冻结联盟链中的异常节点,并将候补代理节点转换为代理节点,实现联盟链中的至少一个代理节点的确认,确认联盟链中的恶意节点和异常节点无法参与下一轮共识,确保联盟链中节点的可靠性,进而提升共识的可靠性。

图3示出了本申请实施例提供的联盟链共识达成方法的另一种可选流程示意图,将根据各个步骤进行说明。

在一些实施例中,可以将图3所示的联盟链共识达成方法划分为两个阶段:节点确认阶段和共识阶段;其中,节点确认阶段对应步骤s301至步骤s304,共识阶段对应步骤s305至步骤s312。

步骤s301,共识初始化。

在一些实施例中,共识初始化的过程中,联盟链所属的系统会初始化所述联盟链中全部代理节点的贡献值和贡献等级。可选地,所述系统将所述联盟链中全部代理节点的贡献值和贡献等级清零。

在一些可选实施例中,经过一轮共识后,代理节点的贡献值和贡献等级会根据在共识过程中代理节点的动作动态更新。

在一些实施例中,所述代理节点可以是所述联盟链中的交易发起节点、记账节点、验证节点和传播节点中至少一种。

步骤s302,候补监控。

在一些实施例中,在共识初始化阶段,所述系统包括的全局计数器会从反馈系统维护的状态表中读取节点信息,然后将所需要的候补代理节点数量更新到候补缓冲区中。根据全局计数器中记录的数据,可以监控到系统中代理节点数量的变化,方便系统进行候补。

具体实施时,所述系统将候补缓冲区的初始大小可以设置为系统中节点总数量的一半,公式如下:

其中,n表示为候补缓冲区的初始大小,即可容纳的候补代理节点数量,n为加入区块链网络的节点总数。

在一些可选实施例中,为了避免多轮共识后,全局计数器中存储的数据增多,全局计数器可以在每一轮共识结束后设置一个归零触发器,用于清除掉全局计数器中的数据,以保障节点信息的及时更新。

在一些可选实施例中,在每一轮共识结束后,所述反馈系统基于共识过程中代理节点的贡献值和贡献等级,确定恶意节点的数量和异常节点的数量,并将所述恶意节点的数量和异常节点的数量存储至所述反馈系统维护的状态表中。

具体实施时,代理节点的贡献值和贡献等级动态更新后,验证节点对代理节点进行检测,若某一个代理节点的贡献值低于第一阈值和贡献等级低于第一等级,判断为恶意节点;若代理节点不工作(贡献值为0),判断为异常代理节点。删除恶意节点,冻结异常代理节点,将代理节点的数量变化、代理节点的位置空缺信息更新到反馈系统维护的状态表中。恶意节点被删除、异常节点被冻结,都会造成代理节点位置空缺。

其中,所述节点信息可以至少包括:恶意节点的数量、异常节点的数量、代理节点的数量变化、代理节点是否有空缺、代理节点的空缺数量。

步骤s303,节点检测。

在一些实施例中,第一轮共识并不需要进行节点候补,从第二轮共识开始,需要对候补代理节点进行节点检测,来限制潜在的恶意节点,并将合格的候补代理节点存放到候补缓冲区中。

在一些可选实施例中,候补代理节点也会参与上一轮共识,检测上一轮共识后,候补代理节点的贡献值和贡献等级,将贡献值大于或等于第一阈值和/或贡献等级大于或等于第一等级的候补代理节点存放到候补缓存区。

步骤s304,基于第一策略进行节点候补。

在一些实施例中,所述第一策略可以是定时候补策略。

具体的,在反馈系统剔除某一个恶意代理节点或者冻结某一异常代理节点后,所述反馈系统可以创建第一定时器并运行所述第一定时器,在所述第一定时器运行结束后进行节点候补。其中,第一定时器的运行时间可以根据恶意节点的数量和/或异常节点的数量设置;可选地,恶意节点的数量和/或异常节点的数量多,第一定时器的运行时间长;恶意节点的数量和/或异常节点的数量少,第一定时器的运行时间短。

步骤s305,确认交易的交易紧急程度。

在一些实施例中,交易产生时(共识开始时),联盟链中各个节点间相互产生交易信息,同时交易发起节点(代理节点)在交易信息中添加交易紧急程度的标签并将交易信息传播到联盟链网络中。

例如,发起交易的节点可以直接标记交易紧急程度为高级、中级或低级,对应的紧急程度等级分别为3级、2级或1级。

或者,发起交易的节点在所述交易信息中添加紧急程度分值,基于紧急程度分值、第一紧急程度阈值和第二紧急程度阈值(第一紧急程度阈值大于第二紧急程度阈值),划分交易紧急程度;例如,若紧急程度分值大于或等于第一紧急程度阈值,确认紧急程度等级为高级;若紧急程度分值小于第一紧急程度阈值且大于或等于第二紧急程度阈值,确认紧急程度等级为中级;若紧急程度分值小于第二紧急程度阈值,确认紧急程度等级为低级。可选的,高级、中级和低级,对应的紧急程度等级分别为3级、2级和1级。所述第一紧急程度阈值和所述第二紧急程度阈值可以根据实际需要设置。

步骤s306,确认交易的金额等级。

在一些实施例中,所述系统根据记账节点所设置的交易金额阈值计算交易金额等级,在交易信息中添加金额等级标签。

所述交易金额阈值可以包括第一金额阈值和第二金额阈值(第一金额阈值大于第二金额阈值)。例如,所述系统可以根据交易金额、第一金额阈值和第二金额阈值(第一金额阈值大于第二金额阈值),划分交易的金额等级。若交易金额大于或等于第一金额阈值,确认金额等级为高级;若交易金额小于第一金额阈值且大于或等于第二金额阈值,确认金额等级为中级;若交易金额小于第二金额阈值,确认金额等级为低级。可选的,高级、中级和低级,对应的金额等级分别为3级、2级和1级。所述第一金额阈值和所述第二金额阈值可以根据实际需要设置。

或者,所述交易金额阈值可以是一个范围,如[100000,500000]。用a表征交易金额,用t表征交易金额阈值。当a>t时,为大额交易,则它的金额等级为高级;当a=t时,为普通金额交易,则它的金额等级次之;当a<t时,为小额交易,则它的金额等级为低级。

步骤s307,确认交易的优先级。

在一些实施例中,所述系统中智能合约根据交易信息中的交易紧急程度和金额等级,通过优先级计算式得到该笔交易优先级l,并将优先级l添加到交易信息中。

根据交易优先级计算公式:l=m*a+n*b,其中,l为优先级,m为第二权重,a为金额等级,n为第一权重,b为紧急程度等级。可选地,m+n=1,m和n的具体取值可以根据实际需求设置,例如m=0.4,n=0.6。

特别地,交易发起节点(代理节点)可根据交易的紧急性设置交易紧急程度等级,增加交易节点的主动性。

在一些可选实施例中,所述系统还可以将交易优先级的结果发到联盟链,由联盟链包括的至少一个节点通过投票做二次共识,根据二次共识结果对交易优先级进行修改(根据二次共识结果,可能将交易优先级高的修改为交易优先级低,也可能将交易优先级低修改为交易优先级高,例如,某笔交易突然改为不紧急那么就可以将交易优先级更改为中级或低级,又或者某笔交易突然很急,那就可以将所述交易的交易优先级更改为高级或中级),根据二次共识后的优先级顺序对交易进行传播。

步骤s308,基于交易的交易优先级将所述交易在所述联盟链中传播。

在一些实施例中,联盟链中的传播节点根据优先级l依次将交易信息发送至邻近的验证节点进行验证。

步骤s309,基于交易的交易优先级验证所述交易信息。

在一些实施例中,当验证节点接收传播节点或普通节点发送的至少一个交易信息,并基于所述交易信息对应的交易优先级依次进行验证,并将验证结果发送至至少一个记账节点。

步骤s310,基于验证结果,生成相应的区块。

在一些实施例中,第一记账节点收到验证节点发来的验证信息,基于所述验证结果确认所述交易信息合法,则所述第一记账节点基于所述交易优先级生成所述交易信息对应的区块。

或者,若所述第一记账节点基于所述验证结果确认所述交易信息不合法,则所述第一记账节点将所述交易放进交易池,所述验证节点重复步骤s309再次验证交易池中的交易信息。

步骤s311,第二记账节点验证所述第一记账节点产生的区块。

在一些实施例中,至少一个第二记账节点验证所述第一记账节点产生的区块,若所述区块的信息均合法则传播此区块,若所述区块中包含不合法信息,则将此区块传播至第一记账节点。

其中,区块的信息合法可以至少包括:区块的数据结构语法有效、确认包含足够的工作量证明、区块头的哈希值小于目标难度、区块时间戳早于验证时刻第一时间阈值、区块的大小在长度限制之内、所述区块中包括的第一个交易是铸币库(coinbase)交易。

步骤s312,第二记账节点将所述区块在联盟链中广播。

在一些实施例中,所述至少一个第二记账节点将验证合法的区块连接到上一个区块,并在联盟链中广播所述区块。

如此,所述装置在一轮共识结束后,删除联盟链中的恶意节点、冻结联盟链中的异常节点,并将候补代理节点转换为代理节点,实现联盟链中的至少一个代理节点的确认,确认联盟链中的恶意节点和异常节点无法参与下一轮共识,确保联盟链中节点的可靠性,进而提升共识的可靠性。通过本申请实施例提供的联盟链共识达成方法,通过获取联盟链中的交易信息;基于所述交易信息中的交易紧急程度和交易金额,确认交易优先级;基于所述交易优先级,对所述交易执行共识,对于优先级高的交易信息先执行共识,可以提升联盟链的共识效率,避免相关技术中优先级低的交易先于优先级高的交易完成共识。

图4是本申请实施例提供的联盟链共识达成装置的可选结构示意图,将根据各个步骤进行说明。

在一些实施例中,所述联盟链共识达成装置400包括:获取单元401,确认单元402和共识单元403。

所述获取单元401,用于获取联盟链中的交易信息;

所述确认单元402,用于基于所述交易信息中的交易紧急程度和交易金额,确认交易优先级;

所述共识单元403,用于基于所述交易优先级,对所述交易执行共识。

在一些实施例中,所述确认单元402,还用于确认联盟链中的至少一个代理节点;其中,所述至少一个代理节点用于产生至少一个交易和所述至少一个交易对应的交易信息。

在一些实施例中,所述确认单元402具体用于:

基于所述交易紧急程度确认所述交易信息对应的紧急程度等级;

基于所述交易金额确认所述交易信息对应的金额等级;

基于所述紧急程度等级和所述紧急程度等级对应的第一权重的乘积,与所述金额等级和所述金额等级对应的第二权重的乘积之和,确认第一优先级。

在一些实施例中,所述确认单元402具体用于:

所述联盟链中至少一个节点确认所述第一优先级的合理性;

基于所述至少一个节点的确认结果修正所述第一优先级,确认所述修正后的第一优先级为所述交易优先级。

所述共识单元403,具体用于基于所述交易的优先级,发送所述交易信息对应的验证信息;基于所述交易的优先级验证所述交易信息的合法性,得到验证结果;若所述联盟链包括的第一记账节点基于所述验证结果确认所述交易信息合法,则所述第一记账节点基于所述交易优先级生成所述交易信息对应的区块。

在一些实施例中,所述联盟链共识达成装置400还可以包括:连接单元404。

所述连接单元404,用于将所述区块连接至所述联盟链中的区块。

所述确认单元402,还用于若所述第一记账节点基于所述验证结果确认所述交易信息不合法,所述验证节点基于所述交易优先级,再次确认所述交易信息对应的验证信息。

所述确认单元402,还用于基于历史共识信息,确认所述联盟链中全部代理节点的贡献值和/或与所述贡献值对应的贡献等级;基于所述贡献值和贡献等级,确认所述联盟链中全部代理节点中的恶意节点和异常节点;基于所述恶意节点的数量、所述异常节点的数量和第一策略,将与所述恶意节点的数量与所述异常节点的数量之和相等的候补代理节点转换为代理节点,形成至少一个代理节点。

所述确认单元402,具体用于在所述恶意节点的数量和所述异常节点数量的数量之和大于或等于第一阈值的情况下,将与所述恶意节点的数量与所述异常节点的数量之和相等的候补代理节点转换为代理节点;或者,在所述候补代理节点转换为所述代理节点之后的第二时间,将与所述恶意节点的数量与所述异常节点的数量之和相等的候补代理节点转换为代理节点。

所述确认单元402,还用于在所述联盟链中删除恶意节点;和/或,在所述联盟链中冻结异常节点。

图5是本申请实施例的联盟链共识达成装置的硬件组成结构示意图,联盟链共识达成装置700包括:至少一个处理器701、存储器702和至少一个网络接口704。联盟链共识达成装置700中的各个组件通过总线系统705耦合在一起。可理解,总线系统705用于实现这些组件之间的连接通信。总线系统705除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为总线系统705。

可以理解,存储器702可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是rom、可编程只读存储器(programmableread-onlymemory,prom)、可擦除可编程只读存储器(erasableprogrammableread-onlymemory,eprom)、电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、磁性随机存取存储器(ferromagneticrandomaccessmemory,fram)、快闪存储器(flashmemory)、磁表面存储器、光盘、或只读光盘(compactdiscread-onlymemory,cd-rom);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(randomaccessmemory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(staticrandomaccessmemory,sram)、同步静态随机存取存储器(synchronousstaticrandomaccessmemory,ssram)、动态随机存取存储器(dynamicrandomaccessmemory,dram)、同步动态随机存取存储器(synchronousdynamicrandomaccessmemory,sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesynchronousdynamicrandomaccessmemory,ddrsdram)、增强型同步动态随机存取存储器(enhancedsynchronousdynamicrandomaccessmemory,esdram)、同步连接动态随机存取存储器(synclinkdynamicrandomaccessmemory,sldram)、直接内存总线随机存取存储器(directrambusrandomaccessmemory,drram)。本申请实施例描述的存储器702旨在包括但不限于这些和任意其它适合类型的存储器。

本申请实施例中的存储器702用于存储各种类型的数据以支持联盟链共识达成装置700的操作。这些数据的示例包括:用于在联盟链共识达成装置700上操作的任何计算机程序,如应用程序722。实现本申请实施例方法的程序可以包含在应用程序722中。

所述本申请实施例揭示的方法可以应用于处理器701中,或者由处理器701实现。处理器701可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,所述方法的各步骤可以通过处理器701中的硬件的集成逻辑电路或者软件形式的指令完成。所述的处理器701可以是通用处理器、数字信号处理器(digitalsignalprocessor,dsp),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器701可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器702,处理器701读取存储器702中的信息,结合其硬件完成前述方法的步骤。

在示例性实施例中,联盟链共识达成装置700可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,asic)、dsp、可编程逻辑器件(programmablelogicdevice,pld)、复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld)、fpga、通用处理器、控制器、mcu、mpu、或其他电子元件实现,用于执行前述方法。

本申请实施例还提供了一种存储介质,用于存储计算机程序。

可选的,该存储介质可应用于本申请实施例中的第一客户端,并且该计算机程序使得计算机执行本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围,凡在本申请的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本申请的保护范围之内。

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