背景技术:
1、拜占庭容错协议(byzantine fault tolerant protocol)通常可以是指使得分布式网络中的不可信计算装置集合能够关于该分布式网络中的一个或多于一个服务器已接收到的一个或多于一个事务(transaction)达成共识的协议集。分布式网络可以在对等网络中管理或由私人实体管理。
技术实现思路
1、本发明的示例性实施例涉及描述一种高效、可扩展且快速的异步bft协议,该异步bft协议针对各事务具有至多o(n)的计算复杂度,由此使得更多对等体(peer)能够加入包括不断增长数量的对等体的wan。由于异步bft协议的计算复杂度为o(n)(其小于o(n2)),因此该协议比大多数传统异步bft协议高效得多地进行扩展。
2、本文详细描述了一种用于确定分布式网络环境中的事务的有效性的系统。根据本发明的实施例,所述系统可以包括多个对等体服务器,其中所述多个对等体服务器中的第一对等体服务器包括一个或多于一个处理器和用于存储计算机可执行指令的存储器。当所述一个或多于一个处理器执行所述计算机可执行指令时,所述系统可以向多个对等体服务器广播第一事务。所述系统还可以从所述多个对等体服务器中选举至少一个对等体领导。所述系统还可以向所述多个对等体服务器中的一个或多于一个对等体服务器广播与从所述多个对等体服务器接收到的事务的第一子集相关联的第一索引集。所述系统还可以至少部分地基于与所述事务的第二子集的相关联的第二索引子集来执行二进制一致性协议的第一实例。所述系统还可以输出包括所述事务中的一个或多于一个事务的共识向量。
3、根据实施例,所述多个对等体服务器可以被选举为对等体领导。被选举为所述对等体领导的对等体服务器可以至少部分地基于被假设为不可信或具有故障的多个对等体服务器的数量。在一些实施例中,被选举为所述对等体领导的多个对等体服务器是所述多个对等体服务器的第一子集。
4、所述一个或多于一个处理器可以生成索引集,其中所述索引集与所述一个或多于一个处理器接收到的事务的第一子集所来自的多个对等体服务器的第一子集相对应。所述一个或多于一个处理器还可以被配置为从所述多个对等体服务器的第二子集接收所述事务的第二子集。所述一个或多于一个处理器还可以被配置为至少部分地基于所述第二索引子集将第一值输入到所述二进制一致性协议的所述第一实例中。
5、在一些实施例中,所输入的第一值可以是二进制数。所述一个或多于一个处理器还可以被配置为至少部分地基于确定为所述二进制一致性协议的所述至少一个第二实例输出了所述第一值,来输出所述共识向量。
6、根据本发明的实施例,本文描述了一种用于确定分布式网络环境中的事务的有效性的方法。所述方法可以包括:向多个对等体广播事务。所述方法还可以包括:从多个对等体服务器中选举至少一个对等体领导。所述方法还可以包括:向所述多个对等体服务器中的一个或多于一个对等体服务器广播与从所述多个对等体服务器接收到的事务的第一子集相关联的第一索引集。所述方法还可以包括:至少部分地基于与所述事务的第二子集的相关联的第二索引子集来执行二进制一致性协议的第一实例。所述方法还可以包括:输出包括所述事务中的一个或多于一个事务的共识向量。
7、所述多个对等体服务器中的一个或多于一个对等体服务器可以被选举为对等体领导。可以被选举为所述对等体领导的多个对等体服务器的数量至少部分地基于被假设为不可信或具有故障的多个对等体服务器的数量。所述多个对等体服务器中被选举为所述对等体领导的一个或多于一个对等体服务器可以是所述多个对等体服务器的第一子集。
8、所述方法还可以包括:生成索引集,其中所述索引集与所述一个或多于一个处理器接收到的事务的第一子集所来自的多个对等体服务器的第一子集相对应。所述方法还可以包括:从所述多个对等体服务器的第二子集接收所述事务的第二子集。所述方法还可以包括:至少部分地基于所述第二索引子集将第一值输入到所述二进制一致性协议的所述第一实例中。
9、所输入的第一值可以是二进制数。并且所述方法还可以包括:确定所述二进制一致性协议的已输出所述第一值的至少一个第二实例。
10、根据本发明的实施例,本文公开了一种非暂时性计算机可读介质,其存储有计算机可执行指令,所述计算机可执行指令使得所述至少一个处理器确定分布式网络环境中的事务的有效性。所述至少一个处理器可以执行所述计算机可执行指令,从而使得所述至少一个处理器进行向多个对等体广播事务的操作。所述至少一个处理器可以执行所述计算机可执行指令,从而使得所述至少一个处理器进行从多个对等体服务器中选举至少一个对等体领导的操作。所述计算机可执行指令还可以使得所述至少一个处理器进行向所述多个对等体服务器中的一个或多于一个对等体服务器广播与从所述多个对等体服务器接收到的事务的第一子集相关联的第一索引集的操作。所述计算机可执行指令还可以使得所述至少一个处理器进行至少部分地基于与所述事务的第二子集的相关联的第二索引子集来执行二进制一致性协议的第一实例的操作。所述计算机可执行指令还可以使得所述至少一个处理器进行输出包括所述事务中的一个或多于一个事务的共识向量的操作。
11、设想了实施例的任意组合和/或排列。通过以下结合附图考虑的详细说明,其他目的和特征将变得清楚。然而,应当理解,附图仅被设计为例示,而不是作为对本发明的限制的定义。
1.一种用于确定分布式网络环境中的事务的有效性的系统,所述系统包括:
2.根据权利要求1所述的系统,其中,所述多个对等体服务器中的一个或多于一个对等体服务器被选举为对等体领导。
3.根据权利要求2所述的系统,其中,被选举为所述对等体领导的多个对等体服务器的数量至少部分地基于被假设为不可信或具有故障的多个对等体服务器的数量。
4.根据权利要求2所述的系统,其中,所述多个对等体服务器中被选举为所述对等体领导的一个或多于一个对等体服务器是所述多个对等体服务器的第一子集。
5.根据权利要求4所述的系统,其中,所述一个或多于一个处理器还被配置为:
6.根据权利要求1所述的系统,其中,所述一个或多于一个处理器还被配置为:
7.根据权利要求6所述的系统,其中,所述一个或多于一个处理器还被配置为:
8.根据权利要求7所述的系统,其中,所输入的第一值是二进制数。
9.根据权利要求7所述的系统,其中,所述一个或多于一个处理器还被配置为:
10.根据权利要求9所述的系统,其中,所述一个或多于一个处理器还被配置为:
11.一种用于确定分布式网络环境中的事务的有效性的方法,所述方法包括:
12.根据权利要求11所述的方法,其中,所述多个对等体服务器中的一个或多于一个对等体服务器被选举为对等体领导。
13.根据权利要求12所述的方法,其中,被选举为所述对等体领导的多个对等体服务器的数量至少部分地基于被假设为不可信或具有故障的多个对等体服务器的数量。
14.根据权利要求12所述的方法,其中,所述多个对等体服务器中被选举为所述对等体领导的一个或多于一个对等体服务器是所述多个对等体服务器的第一子集。
15.根据权利要求14所述的方法,还包括:
16.根据权利要求11所述的方法,还包括:
17.根据权利要求16所述的方法,其中,所述方法还包括:
18.根据权利要求17所述的方法,其中,所输入的第一值是二进制数。
19.根据权利要求17所述的方法,还包括:
20.一种非暂时性计算机可读介质,其存储有计算机可执行指令,所述计算机可执行指令在由至少一个处理器执行时,使得所述至少一个处理器进行以下操作: