区块链共识方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:24456073 阅读:26 留言:0更新日期:2020-06-10 15:35
本申请涉及一种上述区块链共识方法、装置、计算机设备和存储介质,第一共识节点获取当前时隙内的交易数据,并根据交易数据更新第一共识节点的第一账本状态数据;第一共识节点为当前时隙对应的出块节点;然后,将包含交易数据以及第一账本状态数据的第一区块,发送至各个第二共识节点;第一区块用于指示第二共识节点基于第一区块确定是否返回确认签名信息;在接收到预设数量的确认签名信息后,将接收到的确认签名信息与第一区块打包生成第二区块;并将第二区块广播至各个第二共识节点以及各个非共识节点。采用上述方法可以提升区块链系统的共识效率。

Blockchain consensus methods, devices, computer equipment and storage media

【技术实现步骤摘要】
区块链共识方法、装置、计算机设备和存储介质
本申请涉及信息
,特别是涉及一种区块链共识方法、装置、计算机设备和存储介质。
技术介绍
随着信息技术的发展,区块链技术开始应用于比特币等金融领域。区块链为一个公开的分布式账簿系统,通过分布式数据存储、共识算法、加密算法等技术,来保障数据的不可篡改、不可抵赖以及永久保存。在区块链系统中,共识机制是保持区块链安全稳定运行的核心。共识机制主要通过一定规则,使系统中各个节点就系统中记录的数据达成一致。传统技术中,一种共识方法通过区块链系统中的一部分共识节点执行出块,以及对区块进行确认。其中一个共识节点将交易信息打包出块之后,可以通过网络向系统内的其它普通节点以及共识节点广播区块;该出块的共识节点接收到其它共识节点的确认签名信息后,区块链系统中的各节点才可以将确认后的区块写入本地区块链中。但是,采用上述共识方法,出块的共识节点接收其它共识节点的确认签名信息的时间较长,导致共识效率低。
技术实现思路
基于此,有必要针对上述技术问题,提供一种区块链共识方法、装置、计算机设备和存储介质。一种区块链共识方法,方法包括:获取当前时隙内的交易数据,并根据交易数据更新第一共识节点的第一账本状态数据;第一共识节点为当前时隙对应的出块节点;将包含交易数据以及第一账本状态数据的第一区块,发送至各个第二共识节点;第一区块用于指示第二共识节点基于第一区块确定是否返回确认签名信息;在接收到预设数量的确认签名信息后,将接收到的确认签名信息与第一区块打包生成第二区块;将第二区块广播至各个第二共识节点以及各个非共识节点。在其中一个实施例中,上述预设数量大于或等于第二共识节点的数量的三分之二。在其中一个实施例中,上述获取当前时隙内的交易数据之前,方法还包括:根据预设的逻辑时钟,判断当前时隙是否为第一共识节点的出块时隙;若是,则执行获取当前时隙内的交易数据的步骤;若否,则将接收到的交易数据转发至当前时隙对应的共识节点。在其中一个实施例中,上述第一区块通过覆盖所有共识节点的第一网络发送;第一网络为基于点对点传输的星型网络。在其中一个实施例中,上述第一区块还用于指示第二共识节点在确定返回确认签名信息之后,将第三区块写入存储区域;第三区块包括第二账本状态数据以及交易数据;第二账本状态数据为第二共识节点基于第一区块进行更新所获得的。在其中一个实施例中,上述第二区块用于指示第二共识节点将所述存储区域中的所述第三区块写入本地区块链中。在其中一个实施例中,上述方法还包括:根据区块链系统中各个候选节点的出块权重,确定共识节点列表;候选节点包括提交共识申请的非共识节点以及各个共识节点;出块权重由各候选节点对应的投票结果,和/或各个共识节点的出块执行情况确定。一种区块链共识装置,上述装置包括:获取模块,用于获取当前时隙内的交易数据,并根据交易数据更新第一共识节点的第一账本状态数据;第一共识节点为当前时隙对应的出块节点;发送模块,用于将包含交易数据以及第一账本状态数据的第一区块,发送至各个第二共识节点;第一区块用于指示第二共识节点基于第一区块确定是否返回确认签名信息;打包模块,用于在接收到预设数量的确认签名信息后,将接收到的确认签名信息与第一区块打包生成第二区块;广播模块,用于将第二区块广播至各个第二共识节点以及各个非共识节点。一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,上述处理器执行计算机程序时实现上述区块链共识方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时实现上述区块链共识方法的步骤。上述区块链共识方法、装置、计算机设备和存储介质,第一共识节点获取当前时隙内的交易数据,并根据交易数据更新第一共识节点的第一账本状态数据;第一共识节点为当前时隙对应的出块节点;然后,将包含交易数据以及第一账本状态数据的第一区块,发送至各个第二共识节点;第一区块用于指示第二共识节点基于第一区块确定是否返回确认签名信息;在接收到预设数量的确认签名信息后,将接收到的确认签名信息与第一区块打包生成第二区块;并将第二区块广播至各个第二共识节点以及各个非共识节点。由于第一共识节点将第一区块发送至各个第二共识节点,使得区块链系统可以通过各共识节点完成区块的共识,而不需要通过所有节点共同完成共识,提升了共识达成效率;进一步地,第一共识节点在接收到预设数量的确认签名信息之后,将第二区块广播至所有节点,而不需要接收到所有第二共识节点返回的确认签名信息,缩短了确认签名信息获取时长,从而提升共识效率;另外,上述第二区块为所有共识节点已达成共识的区块,因此区块链系统中的节点接收到第一共识节点广播的第二区块之后,可以直接对第二区块进行存储操作,进一步提升共识效率。附图说明图1为一个实施例中区块链共识方法的应用环境图;图2为一个实施例中区块链共识方法的流程示意图;图3为一个实施例中区块链共识方法的流程示意图;图4为另一个实施例中区块链共识方法的流程示意图;图5为一个实施例中区块链共识装置的结构框图;图6为一个实施例中区块链共识装置的结构框图;图7为一个实施例中区块链共识装置的结构框图;图8为一个实施例中计算机设备的内部结构图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。本申请提供的区块链共识方法,可以应用于如图1所示的应用环境中。其中,各个共识节点100以及各个普通节点200通过网络连接;各个节点可以用独立的服务器或者是多个服务器组成的服务器集群来实现。在一个实施例中,如图2所示,提供了一种区块链共识方法,以该方法应用于图1中,当前时隙对应的第一共识节点100为例进行说明,包括以下步骤:S101、获取当前时隙内的交易数据,并根据交易数据更新第一共识节点的第一账本状态数据;第一共识节点为当前时隙对应的出块节点。其中,上述交易数据可以是比特币转账数据,也可以是智能合同调用数据,还可以是区域链系统支持的其它数据,对于上述交易数据的类型在此不做限定。上述第一共识节点为当前时隙对应的出块节点。区块链系统中可以包括共识节点以及非共识节点,其中,共识节点执行对数据进行共识的操作,以确保各节点存储的数据的正确性。对于同一个出块时隙,区块链系统可以通过其中一个共识节点执行出块操作;也就是说当前时隙内,第一共识节点可以执行当前时隙内各个节点的交易数据,并执行交易数据的打包发送。出块时隙与出块节点对应时,可以根据物理时钟确定当前时隙对应的第一共识节点,也可以根据逻辑时钟来判断,在此不做限定。具体地,上述第一共识节点在获取交易数据时,可以获取非共识节点发起的交易数据,也可以获本文档来自技高网...

【技术保护点】
1.一种区块链共识方法,所述方法包括:/n获取当前时隙内的交易数据,并根据所述交易数据更新第一共识节点的第一账本状态数据;所述第一共识节点为所述当前时隙对应的出块节点;/n将包含所述交易数据以及所述第一账本状态数据的第一区块,发送至各个第二共识节点;所述第一区块用于指示所述第二共识节点基于所述第一区块确定是否返回确认签名信息;/n在接收到预设数量的确认签名信息后,将接收到的确认签名信息与所述第一区块打包生成第二区块;/n将所述第二区块广播至各个第二共识节点以及各个非共识节点。/n

【技术特征摘要】
1.一种区块链共识方法,所述方法包括:
获取当前时隙内的交易数据,并根据所述交易数据更新第一共识节点的第一账本状态数据;所述第一共识节点为所述当前时隙对应的出块节点;
将包含所述交易数据以及所述第一账本状态数据的第一区块,发送至各个第二共识节点;所述第一区块用于指示所述第二共识节点基于所述第一区块确定是否返回确认签名信息;
在接收到预设数量的确认签名信息后,将接收到的确认签名信息与所述第一区块打包生成第二区块;
将所述第二区块广播至各个第二共识节点以及各个非共识节点。


2.根据权利要求1所述的区块链共识方法,其特征在于,所述预设数量大于或等于所述第二共识节点的数量的三分之二。


3.根据权利要求1所述的区块链共识方法,其特征在于,所述获取当前时隙内的交易数据之前,所述方法还包括:
根据预设的逻辑时钟,判断当前时隙是否为所述第一共识节点的出块时隙;
若是,则执行获取当前时隙内的交易数据的步骤;
若否,则将接收到的交易数据转发至当前时隙对应的共识节点。


4.根据权利要求1-3任一项所述的区块链共识方法,其特征在于,所述第一区块通过覆盖所有共识节点的第一网络发送;所述第一网络为基于点对点传输的星型网络。


5.根据权利要求1-3任一项所述的区块链共识方法,其特征在于,所述第一区块还用于指示所述第二共识节点在返回确认签名信息之后,将第三区块写入存储区域;所述第三区块包括第二账本状态数据以及所述交易数据;所述第二账本状态数据为所述第二共识节点基于所述第一区块进行更...

【专利技术属性】
技术研发人员:张博邹均吕坤徐俊
申请(专利权)人:广州运通链达金服科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1