【技术实现步骤摘要】
【国外来华专利技术】具有可调整法定数量的区块链分片
[0001]相关申请交叉引用
[0002]本申请为PCT申请,其要求2019年9月11日提交的第62/898,905号美国临时申请的权益,所述美国临时申请出于所有目的以全文引用的方式并入本文中。
技术介绍
[0003]分片是一种根据网络大小扩展区块链协议的方法:网络被划分(例如,经由随机取样)为被称作分片的小群验证器节点,其通过代表网络中的所有节点达成拜占庭共识(Byzantine consensus)来并行处理交互。分片可以比整个网络快得多的速率对交互(例如,交易)进行签名,这是因为分片的大小较小,而且共识协议引发的消息复杂性至少是二次的(在参与者数目方面)。
[0004]尽管如此,由于可能形成其中恶意节点占据足够大部分的网络分片的变节分片,从而损害整个分片协议的安全,因此不能任意地使分片较小。实际上,此类事件的概率随着网络分片大小的倒数呈指数增长,从而产生实际上由数百个节点组成的大分片。
[0005]本专利技术的实施例单独地以及共同地解决了这些问题和其它问题。
技术实现思路
[0006]本公开的一个实施例涉及一种方法,其包括:由节点计算机向网络分片中的多个节点计算机广播包括区块链的新区块的提议消息;由所述节点计算机从所述多个节点计算机接收至少一个投票消息,所述至少一个投票消息指示对所述新区块的验证;在预定时间量之后,由所述节点计算机接收包括至少所述新区块和基于所述至少一个投票消息创建的区块证书的多个预提交消息;以及如果所述多个预提交消息中的接收到的预提交消息的 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种方法,包括:由节点计算机向网络分片中的多个节点计算机广播包括区块链的新区块的提议消息;由所述节点计算机从所述多个节点计算机接收至少一个投票消息,所述至少一个投票消息指示对所述新区块的验证;在预定时间量之后,由所述节点计算机接收包括至少所述新区块和基于所述至少一个投票消息创建的区块证书的多个预提交消息;以及如果所述多个预提交消息中的接收到的预提交消息的数目大于与所述网络分片相关联的法定数量值,则由所述节点计算机将所述新区块提交给所述区块链。2.根据权利要求1所述的方法,其中所述提议消息包括所述新区块、视图编号和前一区块证书。3.根据权利要求2所述的方法,其中所述多个节点计算机在广播所述至少一个投票消息之前验证所述前一区块证书。4.根据权利要求1所述的方法,其中所述网络分片中的所述多个节点计算机是维持作为第一区块链的所述区块链的第一分片中的第一多个节点计算机,其中所述法定数量值是第一法定数量值,并且其中维持第二区块链的第二分片中的第二多个节点计算机与第二法定数量值相关联。5.根据权利要求4所述的方法,还包括:由所述节点计算机基于与所述第一网络分片相关联的不活动定时器来生成关断消息;以及由所述节点计算机将所述关断消息发送给所述第二网络分片中的所述第二多个节点计算机,其中所述第二网络分片是网络参考分片,其中所述参考网络分片确定关断所述第一网络分片并将所述第一多个节点计算机分布到多个额外分片。6.根据权利要求4所述的方法,其中在广播所述提议消息之前,所述方法还包括:由所述节点计算机从客户端装置接收提交交互请求消息,所述提交交互请求消息包括交互数据和由一个或多个分片创建的一个或多个包括证明,其中所述一个或多个包括证明中的至少一个包括证明是由所述第二网络分片创建的;由所述节点计算机验证所述一个或多个包括证明;以及如果所述一个或多个包括证明有效,则由所述节点计算机至少将所述交互数据包括在所述新区块中。7.根据权利要求1所述的方法,其中所述新区块包括区块标头和区块主体,其中所述区块标头是包括至少累加器值的元组。8.根据权利要求7所述的方法,其中在将所述新区块提交给所述区块链之后,所述方法还包括:由所述节点计算机从所述节点计算机的存储器移除所述区块主体。9.根据权利要求1所述的方法,其中所述网络分片中的所述多个节点计算机包括20至200个节点计算机,并且其中所述法定数量值在25至40的范围内。10.根据权利要求1所述的方法,还包括:在接收所述多个预提交消息之后,由所述节点计算机验证所述多个预提交消息。11.一种节点计算机,包括:
处理器;以及耦合到所述处理器的计算机可读介质,所述计算机可读介质包括能由所述处理器执行以实施方法的代码,所述方法包括:向网络分片中的多个节点计算机广播包括区块链的新区块的提议消息;从所述多个节点计算机接收至少一个投票消息,所述至少一个投票消息指示对所述新区块的验证;在预定时间量之后,接收包括至少所述新区块和基于所述至少一个投票消息创建的区块证书的多个预提交消息;以及如果所述多个预提交消息中的接收到的预提交消息的数目大于与所述网络分片相关联的法定数量值,则将所述新区块提交给所述区块链。12.根据权利要求11所述的节点计算机,其中所述提议消息包括所述新区块、视图编号和前一区块证书,其中所述多个预提交消息中的每个预提交消息包括所述视图编号,并且其中所述方法还包括:在接收所述多个预提交消息之后,至少使用每个预提交消息中的所述视图编号来验证所述多个预提交消息。13.根据权利要求11所述的节点计算机,其中在广播所述提议消息之前,所述方法还包括:从客户端装置接收提交交互请求消息,所述提交交互请求消息包括交互数据和一个或多个包括证明;由所述节点计算机验证所述一个或多个包括证明;以及如果所述一个或多个包括证明有效,则由所述节点计算机至少将所述交互数据包括在所述新区块中。14.根据权利要求11所述的节点计算机,其中所述网络分片是网络参考分片,而所述节点计算机是第一节点计算机并且是维持第一区块链的所述参考网络分片的当前领导者,其中第二分片中的第二多个节点计算机维持第二区块链,并且其中所述方法还包括:从所述第二多个节点计算机接收一个或多个关断消息;如果所述一个或多个关断消息中的接收到的关断消息的数目大于与所述第二网络分片相关联的关断阈值,则将所述第二多个节点计算机中的每个节点计算机指派给当前历元中节点到分片表中的空值网...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。