发明内容
有鉴于此,本申请提供一种区块链生成方法、分布式节点和区块链网络,通过并行运算提高区块链的生成速度,从而极大提高区块链网络的吞吐量。
为了实现上述目的,现提出的方案如下:
一种区块链生成方法,所述方法应用于区块链网络,所述区块链网络包括多个分布式节点,包括:
根据分布式节点自身的交易数据进行蒙特卡洛树预测,得到第一蒙特卡洛树预测信息;
接收其他分布式节点发送的第二蒙特卡洛树预测信息,并基于所述第二蒙特卡洛书预测信息对所述第一蒙特卡洛树预测信息进行修正;
根据修正后的第一蒙特卡洛树预测信息,生成蒙特卡洛树,并将所述蒙特卡洛树的主支作为所述分布式节点的准区块链;
从所述多个分布式节点的准区块链中确定所述区块链网络的主区块链。
优选的,所述将所述蒙特卡洛树的主支作为所述分布式节点的准区块链之后,还包括:
对所述多个分布式节点的准区块链进行筛选和修正处理。
优选的,所述对所述多个分布式节点的准区块链进行筛选和修正处理,包括:
对任意分布式节点,接收其他分布式节点发送的准区块链;
比较所述其他分布式节点发送的准区块链和所述分布式节点自身的准区块链;
根据比较结果判断所述分布式节点自身的准区块链是否满足预设要求;
若是则保留所述分布式节点自身的准区块链,并基于其他分布式节点的准区块链对所述分布式节点自身的准区块链进行修正;
若否则删除所述分布式节点自身的准区块链。
优选的,从所述多个分布式节点的准区块链中确定所述区块链网络的主区块链,包括:
所述采用全网投票的方法从所述多个分布式节点的准区块链中选取所述区块链网络的区块链。
优选的,所述基于所述第二蒙特卡洛书预测信息对所述第一蒙特卡洛树预测信息进行修正之后,还包括:缓存修正后的所述第一蒙特卡洛树预测信息。
一种分布式节点,其特征在于,包括:
静态分支预测器,用于根据分布式节点自身的交易数据进行蒙特卡洛树预测,得到第一蒙特卡洛树预测信息;
动态分支预测器,用于接收其他分布式节点发送的第二蒙特卡洛树预测信息,并基于所述第二蒙特卡洛书预测信息对所述第一蒙特卡洛树预测信息进行修正;
分支流水发生器,用于根据修正后的第一蒙特卡洛树预测信息,生成蒙特卡洛树,并将所述蒙特卡洛树的主支作为所述分布式节点的准区块链。
优选的,其特征在于,还包括:
准区块链处理器,用于对所述多个分布式节点的准区块链进行筛选和修正处理。
优选的,所述准区块链处理器具体包括:
准区块链接收单元,用于接收其他分布式节点发送的准区块链;
比较单元,用于比较所述其他分布式节点发送的准区块链和所述分布式节点自身的准区块链;
判断单元,用于根据比较结果判断所述分布式节点自身的准区块链是否满足预设要求;
修正单元,用于当所述分布式节点自身的准区块链满足预设要求时,保留所述分布式节点自身的准区块链,并基于其他分布式节点的准区块链对所述分布式节点自身的准区块链进行修正;
若否则删除所述分布式节点自身的准区块链。
优选的,还包括:分支预测缓存器,用于缓存修正后的所述第一蒙特卡洛树预测信息。
一种区块链网络,包括上述内容所述的分布式节点,以及全网投票器;
其中,所述全网投票器用于采用全网投票的方法从多个分布式节点的准区块链中选取所述区块链网络的区块链。
经由上述技术方案可知,本申请公开了一种区块链生成方法、分布式节点和区块链网络。首先,分布式节点根据自身的交易数据进行蒙特卡洛树预测,得到蒙特卡洛树预测信息。同时根据其他分布式节点的蒙特卡洛树预测信息对自身的蒙特卡洛书预测进行修正,以便生成蒙特卡洛树,从而确定该分布式节点的准区块链。进而,区块链网络从多个分布式节点的准区块链中确定主区块链。与现有技术相比,本发明通过并行运算的方式生成多个准区块链,进而从多个准区块链中确定区块链网络的主区块链,提高区块链的生成速度,极大提高区块链网络的吞吐量。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保0护的范围。
参见图1示出了本发明一个实施例公开的一种区块链生成方法的流程示意图。
由图1可知,该方法包括:
S101:根据分布式节点自身的交易数据进行蒙特卡洛树预测,得到第一蒙特卡洛树预测信息。
在无法感知全网最优分支的情况下,分布式节点根据节点自身的交易数据进行一个局部分支蒙特卡洛树预测,得意第一蒙特卡洛树预测信息。
S102:接收其他分布式节点发送的第二蒙特卡洛树预测信息,并基于所述第二蒙特卡洛书预测信息对所述第一蒙特卡洛树预测信息进行修正。
对于任意分布式节点,该分布式节点接收其他分布式节点发送的蒙特卡洛书预测信息,即第二蒙特卡洛树预测信息。比较其他节点的蒙特卡洛书预测信息是否比自身的蒙特卡洛书预测信息更为可新,从而基于其他分布式节点的蒙特卡洛书预测信息对自身的蒙特卡洛斯预测信息进行修正。比如,发现其他节点的预测树中有一个交易是自己节点交易信息的前置关联交易,此时当前节点就应该立即对自己预测树的相关节点进行剪枝。
S103:根据修正后的第一蒙特卡洛树预测信息,生成蒙特卡洛树,并将所述蒙特卡洛树的主支作为所述分布式节点的准区块链。
接收修正后的蒙特卡洛书预测信息,按照节点共识算法不断生成新区块链的区块,组成蒙特卡洛树,并将所述蒙特卡洛树的主支作为所述分布式节点的准区块链。
S104:从所述多个分布式节点的准区块链中确定所述区块链网络的主区块链。
由上述技术方案可知,本申请公开了一种区块链生成方法。首先,分布式节点根据自身的交易数据进行蒙特卡洛树预测,得到蒙特卡洛树预测信息。同时根据其他分布式节点的蒙特卡洛树预测信息对自身的蒙特卡洛书预测进行修正,以便生成蒙特卡洛树,从而确定该分布式节点的准区块链。进而,区块链网络从多个分布式节点的准区块链中确定主区块链。这里和传统的区块链技术非常不同,传统区块链技术会等待当前区块被确认以后才开始在当前区块的基础上生成下一个区块。但我们的分支预测算法将不断在当前尚未确认的区块基础上,根据蒙特卡洛书的预测信息,不断产生新的区块。本发明通过并行运算的方式生成多个准区块链,进而从多个准区块链中确定区块链网络的主区块链,提高区块链的生成速度,极大提高区块链网络的吞吐量。
需要说明的是,为了快速从多个准区块链中选取主区块链,需要对多个分布式节点的准区块链进行筛选和修正处理。
参见图2示出了本发明另一个实施例公开的一种区块链生成方法的流程示意图。
S201:根据分布式节点自身的交易数据进行蒙特卡洛树预测,得到第一蒙特卡洛树预测信息。
在无法感知全网最优分支的情况下,分布式节点根据节点自身的交易数据进行一个局部分支蒙特卡洛树预测,得意第一蒙特卡洛树预测信息。
S202:接收其他分布式节点发送的第二蒙特卡洛树预测信息,并基于所述第二蒙特卡洛书预测信息对所述第一蒙特卡洛树预测信息进行修正。
对于任意分布式节点,该分布式节点接收其他分布式节点发送的蒙特卡洛书预测信息,即第二蒙特卡洛树预测信息。比较其他节点的蒙特卡洛书预测信息是否比自身的蒙特卡洛书预测信息更为可新,从而基于其他分布式节点的蒙特卡洛书预测信息对自身的蒙特卡洛斯预测信息进行修正。比如,发现其他节点的预测树中有一个交易是自己节点交易信息的前置关联交易,此时当前节点就应该立即对自己预测树的相关节点进行剪枝。
S203:根据修正后的第一蒙特卡洛树预测信息,生成蒙特卡洛树,并将所述蒙特卡洛树的主支作为所述分布式节点的准区块链。
S204:对任意分布式节点,接收其他分布式节点发送的准区块链。
需要说明的是,上述其他分布式节点为任意分布式节点的局部节点,而并非所有的分布式节点。
S205:比较所述其他分布式节点发送的准区块链和所述分布式节点自身的准区块链。
S206:根据比较结果判断所述分布式节点自身的准区块链是否满足预设要求。
S207:若是则保留所述分布式节点自身的准区块链,并基于其他分布式节点的准区块链对所述分布式节点自身的准区块链进行修正,若否则删除所述分布式节点自身的准区块链。
上述方法的目的是在整个区块网络上不断寻找局部最优解,进而从所得到的所有局部最优解中确定全局最优解。随着区块链网络节点数量的增多上述。
可选的,在上述实施例中为了避免断电情况的影响,需要对修正后的第一蒙特卡洛树预测信息进行缓存。
参见图3示出了本发明另一个实施例公开的一种分布式节点的结构示意图。
由图3可知,该分布式节点包括:静态分支预测器1、动态分支预测器2、分支流水发生器3、准区块链处理器4、分支缓存器5。
静态分支预测器1,用于根据分布式节点自身的交易数据进行蒙特卡洛树预测,得到第一蒙特卡洛树预测信息。
在无法感知全网最优分支的情况下,分布式节点的静态分支预测器根据节点自身的交易数据进行一个局部分支蒙特卡洛树预测,得意第一蒙特卡洛树预测信息。
动态分支预测器2,用于接收其他分布式节点发送的第二蒙特卡洛树预测信息,并基于所述第二蒙特卡洛书预测信息对所述第一蒙特卡洛树预测信息进行修正。
动态分支预测器2接收其他分布式节点发送的蒙特卡洛书预测信息,即第二蒙特卡洛树预测信息。比较其他节点的蒙特卡洛书预测信息是否比自身的蒙特卡洛书预测信息更为可新,从而基于其他分布式节点的蒙特卡洛书预测信息对自身的蒙特卡洛斯预测信息进行修正。
分支流水发生器3,接收修正后的第一蒙特卡洛树预测信息,并根据修正后的第一蒙特卡洛书预测信息生成蒙特卡洛树,并将所述蒙特卡洛树的主支作为所述分布式节点的准区块链。
准区块链处理器4,用于对所述多个分布式节点的准区块链进行筛选和修正处理。
分支预测缓存器5,用于缓存修正后的所述第一蒙特卡洛树预测信息。
参见图4示出了本发明另一个实施例公开的一种分布式节点的结构示意图。
与上一个实施例不同的是,在本实施例中该分布式节点的准区块链处理器具体包括:
准区块链接收单元41,用于接收其他分布式节点发送的准区块链。
比较单元42,用于比较所述其他分布式节点发送的准区块链和所述分布式节点自身的准区块链。
判断单元43,用于根据比较结果判断所述分布式节点自身的准区块链是否满足预设要求;
修正单元45,用于当所述分布式节点自身的准区块链满足预设要求时,保留所述分布式节点自身的准区块链,并基于其他分布式节点的准区块链对所述分布式节点自身的准区块链进行修正;若否则删除所述分布式节点自身的准区块链。
可选的,在本发明公开的其他实施例中,本发明还公开了一种区块链网络。该区块链网络包括上述所述的分布式节点,以及全网投票器。
其中,所述全网投票器用于采用全网投票的方法从多个分布式节点的准区块链中选取所述区块链网络的区块链。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下 由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。