首页 / 专利库 / 银行与财务事项 / 分布式账本技术 / 投票-共识分布式账本

投票-共识分布式账本

阅读:167发布:2020-05-26

专利汇可以提供投票-共识分布式账本专利检索,专利查询,专利分析的服务。并且一种技术,包括:在用于根据基于投票的共识 算法 操作的 分布式账本 网络的已有 节点 处,识别分布式账本网络的新候选节点,其中,所述识别是基于与分布式账本网络无关的已有的唯一标识符而进行的。,下面是投票-共识分布式账本专利的具体信息内容。

1.一种方法,包括:
在用于根据基于投票的共识算法操作的分布式账本网络的已有节点处,识别所述分布式账本网络的新候选节点,其中,所述识别是基于与所述分布式账本网络无关的已有的唯一标识符而进行的。
2.根据权利要求1所述的方法,还包括:使用所述已有的唯一标识符传送加入所述分布式账本网络的邀请。
3.根据权利要求1所述的方法,其中,所述已有的唯一标识符包括从包括以下项的组中选择的标识符:电子邮件地址,邮政地址,移动电话号码,固定电话号码,以及官方地区或国家政府注册号码。
4.一种方法,包括:
在基于根据基于投票的共识算法操作的分布式账本网络的已有节点的邀请已加入所述分布式账本网络的新节点处,检查所述新节点邀请另一个节点加入所述分布式账本网络的一个或多个预定条件是否被满足。
5.根据权利要求4所述的方法,其中,所述检查包括:检查包括邀请所述新节点加入所述网络的所述已有节点的前一代节点已进行的邀请的数量是否超过所述前一代的所有节点可用的最大邀请数量的预定百分比。
6.根据权利要求4或5所述的方法,其中,所述检查包括:检查所述新节点已进行的邀请的数量是否等于所述新节点可用的最大邀请数量。
7.根据任一项前述权利要求所述的方法,其中,所述分布式账本的操作涉及所述网络的每个节点至少部分地响应于确定预定阈值数量的投票节点已投票接受所述账本的改变而在本地记录所述账本的所述改变。
8.根据权利要求7所述的方法,其中,所述投票节点是具有直接或间接地基于可信节点的邀请而注册为投票节点的基本不可变记录的节点。
9.根据权利要求8所述的方法,其中,所述投票节点是链的一个或多个区块记录基于可信节点的邀请而注册为投票节点的节点。
10.根据权利要求9所述的方法,其中,所述投票节点是所述区块链的一个或多个区块记录在可信节点的邀请之后通过加入所述一组节点的测试的节点。
11.根据权利要求10所述的方法,其中,对候选节点的所述测试包括:在所述区块链的一个或多个区块中记录用于所述候选节点的网络标识符;在所述区块链的一个或多个随后的区块中记录所述分布式账本网络的已有节点的私密问题,其中,每个私密问题只能用被传送给候选节点的私密数字的知识成功回答;在所述区块链的一个或多个随后的区块中记录所述候选节点对所述私密问题的私密回答;以及在所述区块链的一个或多个随后的区块中记录所述私密数字以及所述分布式账本网络的任何已有节点能够通过其来解密其它已有节点的所述私密问题和所述私密问题的所述私密回答的信息,由此,验证所述私密问题的所述私密回答是正确的。
12.根据权利要求9至11中任一项所述的方法,其中,可信节点包括起源节点,或所述区块链记录回溯到起源节点的一个或多个邀请链的节点。
13.根据权利要求9至12中任一项所述的方法,其中,所述投票节点是区块链的一个或多个区块记录基于可信节点的邀请并且根据一个或多个邀请规则而注册为投票节点的节点。
14.根据权利要求13所述的方法,其中,所述一个或多个邀请规则包括对准许新注册节点的邀请数量的限制,和/或新注册节点的一个或多个邀请的定时。
15.一种装置,包括:
处理器;以及
包括计算机程序代码的存储器,其中,所述存储器和所述计算机程序代码被配置为与所述处理器一起使所述装置:
在用于根据基于投票的共识算法操作的分布式账本网络的已有节点处,识别所述分布式账本网络的新候选节点,其中,所述识别是基于与所述分布式账本网络无关的已有的唯一标识符而进行的。
16.根据权利要求15所述的装置,其中,所述存储器和所述计算机程序代码进一步被配置为与所述处理器一起使所述装置:使用所述已有的唯一标识符传送加入所述分布式账本网络的邀请。
17.根据权利要求15所述的装置,其中,所述已有的唯一标识符包括从包括以下项的组中选择的标识符:电子邮件地址,邮政地址,移动电话号码,固定电话号码,以及官方地区或国家政府注册号码。
18.一种装置,包括:
处理器;以及
包括计算机程序代码的存储器,其中,所述存储器和所述计算机程序代码被配置为与所述处理器一起使所述装置:
在基于根据基于投票的共识算法操作的分布式账本网络的已有节点的邀请已加入所述分布式账本网络的新节点处,检查所述新节点邀请另一个节点加入所述分布式账本网络的一个或多个预定条件是否被满足。
19.根据权利要求18所述的装置,其中,所述存储器和所述计算机程序代码进一步被配置为与所述处理器一起使所述装置:检查包括邀请所述新节点加入所述网络的所述已有节点的前一代节点已进行的邀请的数量是否超过所述前一代的所有节点可用的最大邀请数量的预定百分比。
20.根据权利要求18或19所述的装置,其中,所述存储器和所述计算机程序代码进一步被配置为与所述处理器一起使所述装置:检查所述新节点已进行的邀请的数量是否等于所述新节点可用的最大邀请数量。
21.根据权利要求15至20中任一项所述的装置,其中,所述分布式账本的操作涉及所述网络的每个节点至少部分地响应于确定预定阈值数量的投票节点已投票接受所述账本的改变而在本地记录所述账本的所述改变。
22.根据权利要求21所述的装置,其中,所述投票节点是具有直接或间接地基于可信节点的邀请而注册为投票节点的基本不可变记录的节点。
23.根据权利要求22所述的装置,其中,所述投票节点是区块链的一个或多个区块记录基于可信节点的邀请而注册为投票节点的节点。
24.根据权利要求23所述的装置,其中,所述投票节点是所述区块链的一个或多个区块记录在可信节点的邀请之后通过加入所述一组节点的测试的节点。
25.根据权利要求24所述的装置,其中,对候选节点的所述测试包括:在所述区块链的一个或多个区块中记录用于所述候选节点的网络标识符;在所述区块链的一个或多个随后的区块中记录所述分布式账本网络的已有节点的私密问题,其中,每个私密问题只能用被传送给候选节点的私密数字的知识成功回答;在所述区块链的一个或多个随后的区块中记录所述候选节点对所述私密问题的私密回答;以及在所述区块链的一个或多个随后的区块中记录所述私密数字以及所述分布式账本网络的任何已有节点能够通过其来解密其它已有节点的所述私密问题和所述私密问题的所述私密回答的信息,由此,验证所述私密问题的所述私密回答是正确的。
26.根据权利要求23至25中任一项所述的装置,其中,可信节点包括起源节点,或所述区块链记录回溯到起源节点的一个或多个邀请链的节点。
27.根据权利要求23至26中任一项所述的装置,其中,所述投票节点是区块链的一个或多个区块记录基于可信节点的邀请并且根据一个或多个邀请规则而注册为投票节点的节点。
28.根据权利要求27所述的装置,其中,所述一个或多个邀请规则包括对准许新注册节点的邀请数量的限制,和/或新注册节点的一个或多个邀请的定时。
29.一种装置,包括:
用于在用于根据基于投票的共识算法操作的分布式账本网络的已有节点处,识别所述分布式账本网络的新候选节点的装置,其中,所述识别是基于与所述分布式账本网络无关的已有的唯一标识符而进行的。
30.一种装置,包括:
用于在基于分布式账本网络的已有节点的邀请已加入根据基于投票的共识算法操作的所述分布式账本网络的新节点处,检查所述新节点邀请另一个节点加入所述分布式账本网络的一个或多个预定条件是否被满足的装置。
31.一种计算机程序产品,包括程序代码构件,所述程序代码构件在被加载到计算机中时控制所述计算机:
在用于根据基于投票的共识算法操作的分布式账本网络的已有节点处,识别所述分布式账本网络的新候选节点,其中,所述识别是基于与所述分布式账本网络无关的已有的唯一标识符而进行的。
32.一种计算机程序产品,包括程序代码构件,所述程序代码构件在被加载到计算机中时控制所述计算机:
在基于分布式账本网络的已有节点的邀请已加入根据基于投票的共识算法操作的所述分布式账本网络的新节点处,检查所述新节点邀请另一个节点加入所述分布式账本网络的一个或多个预定条件是否被满足。

说明书全文

投票-共识分布式账本

背景技术

[0001] 复制的分布式账本是在多个站点(节点)处维持的账本,其中所有节点根据关于对它们的相应的账本的本地记录进行了什么改变的公共共识算法进行操作。
[0002] 根据一种被称为工作量证明的共识算法,当进行改变的请求伴随着与所请求的改变相关的数学谜题的解决方案时,每个节点对其账本的本地记录进行改变。根据另一种被称为权益证明的共识算法,对账本的每个改变由操作公共分布式账本的一组节点中随机选择的一个节点控制。这两种共识算法都有其缺点。工作量证明算法涉及在一个或多个节点处浪费大量的计算能,因为它们竞争控制对分布式账本的改变。另一方面,权益证明算法易受具有控制操作分布式账本的大部分节点的资源的实体支配的影响。
[0003] 另一个共识算法涉及每个节点在它识别出改变被操作分布式账本的多数节点支持时对账本进行改变。已经确认这样的问题:根据这种共识算法操作的分布式账本也易受具有生成和控制操作分布式账本的大量节点的资源的实体支配的影响。
[0004] 本发明发明人已确认提供一种新的分布式账本技术的挑战,该技术消除或减少了这些缺点。

发明内容

[0005] 在此提供一种方法,其包括:在用于根据基于投票的共识算法操作的分布式账本网络的已有节点处,识别分布式账本网络的新候选节点,其中,所述识别是基于与分布式账本网络无关的已有的唯一标识符而进行的。
[0006] 根据一个实施例,所述方法还包括:使用所述已有的唯一标识符传送加入分布式账本网络的邀请。
[0007] 根据一个实施例,所述已有的唯一标识符包括从包括以下项的组中选择的标识符:电子邮件地址,邮政地址,移动电话号码,固定电话号码,以及官方地区或国家政府注册号码。
[0008] 在此还提供一种方法,其包括:在基于分布式账本网络的已有节点的邀请已加入根据基于投票的共识算法操作的分布式账本网络的新节点处,检查新节点邀请另一个节点加入分布式账本网络的一个或多个预定条件是否被满足。
[0009] 根据一个实施例,所述检查包括:检查包括邀请新节点加入网络的已有节点的前一代节点已进行的邀请的数量是否超过所述前一代的所有节点可用的最大邀请数量的预定百分比。
[0010] 根据一个实施例,所述检查包括:检查新节点已进行的邀请的数量是否等于新节点可用的最大邀请数量。
[0011] 根据一个实施例,分布式账本的操作涉及网络的每个节点至少部分地响应于确定预定阈值数量的投票节点已投票接受账本的改变而在本地记录账本的所述改变。
[0012] 根据一个实施例,所述投票节点是具有直接或间接地基于可信节点的邀请而注册为投票节点的基本不可变记录的节点。
[0013] 根据一个实施例,所述投票节点是链的一个或多个区块记录基于可信节点的邀请而注册为投票节点的节点。
[0014] 根据一个实施例,所述投票节点是所述区块链的一个或多个区块记录在可信节点的邀请之后通过加入所述一组节点的测试的节点。
[0015] 根据一个实施例,对候选节点的所述测试包括:在区块链的一个或多个区块中记录用于候选节点的网络标识符;在区块链的一个或多个随后的区块中记录分布式账本网络的已有节点的私密问题,其中,每个私密问题只能用被传送给候选节点的私密数字的知识成功回答;在区块链的一个或多个随后的区块中记录候选节点对私密问题的私密回答;以及在区块链的一个或多个随后的区块中记录所述私密数字以及分布式账本网络的任何已有节点能够通过其来解密其它已有节点的私密问题和私密问题的私密回答的信息,由此,验证私密问题的私密回答是正确的。
[0016] 根据一个实施例,可信节点包括起源节点,或所述区块链记录回溯到起源节点的一个或多个邀请链的节点。
[0017] 根据一个实施例,所述投票节点是区块链的一个或多个区块记录基于可信节点的邀请并且根据一个或多个邀请规则而注册为投票节点的节点。
[0018] 根据一个实施例,所述一个或多个邀请规则包括对准许新注册节点的邀请数量的限制,和/或新注册节点的一个或多个邀请的定时。
[0019] 在此还提供一种装置,其包括:处理器;以及包括计算机程序代码的存储器,其中,存储器和计算机程序代码被配置为与处理器一起使所述装置:在用于根据基于投票的共识算法操作的分布式账本网络的已有节点处,识别分布式账本网络的新候选节点,其中,所述识别是基于与分布式账本网络无关的已有的唯一标识符而进行的。
[0020] 根据一个实施例,存储器和计算机程序代码进一步被配置为与处理器一起使所述装置:使用所述已有的唯一标识符传送加入分布式账本网络的邀请。
[0021] 根据一个实施例,所述已有的唯一标识符包括从包括以下项的组中选择的标识符:电子邮件地址,邮政地址,移动电话号码,固定电话号码,以及官方地区或国家政府注册号码。
[0022] 在此还提供一种装置,其包括:处理器;以及包括计算机程序代码的存储器,其中,存储器和计算机程序代码被配置为与处理器一起使所述装置:在基于分布式账本网络的已有节点的邀请已加入根据基于投票的共识算法操作的分布式账本网络的新节点处,检查新节点邀请另一个节点加入分布式账本网络的一个或多个预定条件是否被满足。
[0023] 根据一个实施例,存储器和计算机程序代码进一步被配置为与处理器一起使所述装置:检查包括邀请新节点加入网络的已有节点的前一代节点已进行的邀请的数量是否超过所述前一代的所有节点可用的最大邀请数量的预定百分比。
[0024] 根据一个实施例,存储器和计算机程序代码进一步被配置为与处理器一起使所述装置:检查新节点已进行的邀请的数量是否等于新节点可用的最大邀请数量。
[0025] 根据一个实施例,分布式账本的操作涉及网络的每个节点至少部分地响应于确定预定阈值数量的投票节点已投票接受账本的改变而在本地记录账本的所述改变。
[0026] 根据一个实施例,所述投票节点是具有直接或间接地基于可信节点的邀请而注册为投票节点的基本不可变记录的节点。
[0027] 根据一个实施例,所述投票节点是区块链的一个或多个区块记录基于可信节点的邀请而注册为投票节点的节点。
[0028] 根据一个实施例,所述投票节点是所述区块链的一个或多个区块记录在可信节点的邀请之后通过加入所述一组节点的测试的节点。
[0029] 根据一个实施例,对候选节点的所述测试包括:在区块链的一个或多个区块中记录用于候选节点的网络标识符;在区块链的一个或多个随后的区块中记录分布式账本网络的已有节点的私密问题,其中,每个私密问题只能用被传送给候选节点的私密数字的知识成功回答;在区块链的一个或多个随后的区块中记录候选节点对私密问题的私密回答;以及在区块链的一个或多个随后的区块中记录所述私密数字以及分布式账本网络的任何已有节点能够通过其来解密其它已有节点的私密问题和私密问题的私密回答的信息,由此,验证私密问题的私密回答是正确的。
[0030] 根据一个实施例,可信节点包括起源节点,或所述区块链记录回溯到起源节点的一个或多个邀请链的节点。
[0031] 根据一个实施例,所述投票节点是区块链的一个或多个区块记录基于可信节点的邀请并且根据一个或多个邀请规则而注册为投票节点的节点。
[0032] 根据一个实施例,所述一个或多个邀请规则包括对准许新注册节点的邀请数量的限制,和/或新注册节点的一个或多个邀请的定时。
[0033] 在此还提供一种装置,其包括:用于在用于根据基于投票的共识算法操作的分布式账本网络的已有节点处,识别分布式账本网络的新候选节点的装置,其中,所述识别是基于与分布式账本网络无关的已有的唯一标识符而进行的。
[0034] 在此还提供一种装置,其包括:用于在基于分布式账本网络的已有节点的邀请已加入根据基于投票的共识算法操作的分布式账本网络的新节点处,检查新节点邀请另一个节点加入分布式账本网络的一个或多个预定条件是否被满足的装置。
[0035] 在此还提供一种计算机程序产品,其包括程序代码构件,程序代码构件在被加载到计算机中时控制计算机:在用于根据基于投票的共识算法操作的分布式账本网络的已有节点处,识别分布式账本网络的新候选节点,其中,所述识别是基于与分布式账本网络无关的已有的唯一标识符而进行的。
[0036] 在此还提供一种计算机程序产品,其包括程序代码构件,程序代码构件在被加载到计算机中时控制计算机:在基于分布式账本网络的已有节点的邀请已加入根据基于投票的共识算法操作的分布式账本网络的新节点处,检查新节点邀请另一个节点加入分布式账本网络的一个或多个预定条件是否被满足。附图说明
[0037] 在下面仅通过示例的方式,参考附图来详细描述本发明的实施例,其中:
[0038] 图1示出操作公共分布式账本的一组节点;
[0039] 图2示出用于在图1的每个节点处使用的装置的示例;
[0040] 图3示出根据本发明的实施例的在分布式账本网络的节点处用于将新节点引入分布式账本网络中的一组操作的示例;
[0041] 图4示出根据本发明的实施例的在用于分布式账本网络的节点处对分布式账本的本地记录进行改变的一组操作的示例;
[0042] 图5示出根据本发明的实施例的在分布式账本网络的节点处用于发展分布式账本网络的一组操作的示例;
[0043] 图6示出根据本发明的实施例的用于构建具有对分布式账本的改变进行投票的权利的一组节点的技术的一个示例。

具体实施方式

[0044] 图1示出了操作公共分布式账本的一组互连节点2。如下所述,所有节点2已经基于起源节点(或多个起源节点中的一个)或者已经基于回溯到起源节点(或多个起源节点中的一个)的邀请链而加入该组的节点的直接邀请而加入该组。
[0045] 图2示出了用于在图1的每个节点2处使用的装置的示例。处理器4根据存储在存储器6处的程序代码进行操作。处理器4和存储器6两者都可以实现为一个或多个芯片。存储器6可以包括只读存储器、易失性存储器、非易失性存储器、以及随机存取存储器。可以在一个或多个电路板上提供上述元件。该装置还包括接口8,其用于向分布式账本网络的一个或多个其它节点2传送数据并且从分布式账本网络的一个或多个其它节点2传送数据。
[0046] 应当理解,上述图2中所示的装置可以包括其它元件,这些元件不直接涉及在下面描述的本发明的实施例。
[0047] 在下面描述的由处理器4执行的所有操作遵循存储在存储器6处的程序代码。在一个实施例中,由处理器4执行的所有操作遵循记录在分布式区块链的一个或多个区块中的一个或多个智能合约的代码,其副本被本地存储在存储器6处。
[0048] 根据本发明的一个实施例,一组节点/节点网络的构建开始于:在一个或多个起源节点处的处理器4邀请其它节点(第一代节点)加入该组,以及继续于:除了起源节点邀请进一步的第一代节点之外,在那些第一代节点处的处理器4还邀请其它节点(第二代节点),以此类推。网络的创建被记录在区块链(在下面被称为“成员区块链”,但其也可用于记录除了关于该组的构建的历史的信息以外的数据)中,其中,该组的组成中的每个改变(节点的添加等)被记录在区块中,该区块链接到链中的前一区块,以使得尝试稍后篡改链的一个区块中的记录将需要改变链中的下一区块,依此类推。因此,任何改变链的一个区块的尝试都将需要改变链中的所有后续区块。在区块链技术的一个示例中,单向函数(例如,散列函数)用于在区块之间创建链接,这显著增加了重建具有到较早区块的必要链接的区块所需的计算时间。
[0049] 在一个实施例中,邀请过程涉及在邀请节点(起源节点,或者例如基于起源节点的邀请而已经是该组的一部分的其它节点)处的处理器4通过已有的唯一ID(例如,已有的电子邮件地址)来识别网络的新候选节点(图3的步骤300),并为新候选节点生成具有到已有ID的有效不可逆唯一链接的账本网络ID,诸如对已有的唯一ID和在邀请节点处生成的随机数(例如,从64个基数的集合中随机选择的8个或更多个数字,包括26个小写罗字母字符、26个大写罗马字母字符、数字0至9、以及诸如“+”和“/”的两个更进一步的字符)的串联应用单向函数(诸如,散列函数)的结果。
[0050] 对于已有的唯一ID(从中导出了新的网络ID,如上所述)包括电子邮件地址的示例,邀请节点处的处理器4生成并向电子邮件地址发送邀请电子邮件,包括用于生成网络ID的随机数(步骤302)。
[0051] 从向其发送随机数的电子邮件地址导出的新的网络ID也可被记录在区块链的新区块中。如上所述,新的网络ID是根据已有的唯一ID而生成的,以这种方式,即使获知随机数(如下所述,最终开放地记录在区块链上),也无法从新的网络ID计算出已有的唯一ID。
[0052] 然后,受邀节点处的处理器4可以通过发布(例如,通过在区块链的新区块中记录,或者以其它方式)加入标识上述网络id的账本网络的意图来响应电子邮件邀请(步骤304)。
[0053] 在已构成网络的一部分的所有其它节点处的处理器4(在下文中被称为挑战节点)然后与受邀节点交换一组相应的加密密钥(步骤306)。这可以使用共享秘密技术(例如,使用Diffie-Helman算法)在任何开放式通信网络上私密进行。该交换可以开始于受邀节点在发布其加入账本网络的意图时识别私钥-公钥对的公钥。如下所述,在受邀节点与网络的已有“挑战”节点之间共享的共享秘密被用于以下两者:(i)在作为将新节点引入网络的过程的一部分的节点之间的提问和回答的私密通信,以及(ii)用于建立关于对由账本网络操作的分布式账本进行改变的共识的投票过程。
[0054] 在每个已有挑战节点处的处理器4还计算随机加密密钥(与用于相应的挑战节点与受邀节点之间的私密通信的共享秘密分开),并生成只能用上述随机数的知识成功回答的问题,诸如:随机数的第n个数字是什么?随机数和另一个特定数字的总和是多少?随机数对132取模是多少?或者,可以用随机数的知识简单计算正确回答的任何其它问题。在挑战节点处的处理器4使用随机加密密钥对问题进行加密,并使用共享秘密生成随机加密密钥的加密版本。在挑战节点处的处理器4生成针对受邀节点的包括加密问题和随机加密密钥的加密版本的消息(步骤308)。该消息也可被记录在区块链的新区块中。网络的所有已有“挑战”节点如上所述地操作,以使得受邀节点接收与已有节点一样多的问题(每个问题用相应的随机加密密钥加密)。
[0055] 对于来自每个已有挑战节点的每个消息,在受邀节点处的处理器4使用相应的共享秘密来解密相应的随机加密密钥的加密版本,然后,使用相应的解密的随机加密密钥对相应的问题进行解密。对于每个问题,在受邀节点处的处理器4使用其随机数的知识来计算问题的回答,并使用由相应的挑战节点提供的相应的随机加密密钥来对回答进行加密。加密的回答以它们的加密形式记录在区块链的一个或多个新区块中(步骤310)。
[0056] 随后,在区块链的新区块中开放地记录小随机数,并且所有的随机加密密钥(挑战节点使用它加密针对受邀节点的相应的问题及其回答)也被开放地记录在区块链的一个或多个新区块中(步骤312),任何节点可以通过该随机加密密钥来解密向受邀节点提出的所有问题以及受邀节点对这些问题的所有回答,由此,验证受邀节点提供对已有挑战节点所提出的所有问题的正确回答。因此,区块链提供了已被可信节点邀请并且已通过加入账本网络的测试的受邀节点的有效不可变记录。区块链的有效不可变特性可以防止任何不诚实的篡改任何单个区块中的记录,从而有效地阻止任何节点不用适当的邀请且无需通过测试就加入账本网络并且能够对分布式账本的改变进行投票。
[0057] 在一个实施例中,记录在区块链的一个或多个区块中的智能合约仅准许起源节点邀请新节点加入网络;在另一个实施例中,记录在区块链的一个或多个区块中的智能合约准许构成账本网络的一部分的所有节点邀请新节点;在又一个实施例中,记录在区块链的一个或多个区块中的智能合约准许一个或多个起源节点针对每个非起源节点决定是否准许该非起源节点邀请新节点。
[0058] 如上所述,已加入账本网络的节点对分布式账本进行操作,分布式账本可以是与上述成员区块链相同的账本,以用于保存每个节点加入账本网络的过程的有效不可变记录,或者可以是一个单独的附加账本。建立关于对分布式账本进行改变的共识是通过节点对网络的改变进行投票来实现的。如上所述,在一个节点处认证由另一个节点进行的投票使用在加入过程期间在节点之间共享的相应共享秘密来完成。
[0059] 图4示出了在构成账本网络的一部分的节点A处的处理器4处的一组操作(与维持分布式账本相关)的示例。在节点A处的处理器4接收对改变账本的请求(步骤400)。处理器检查是否至少预定阈值数量的网络节点投票改变(步骤402)。处理器使用在节点A与网络的所有其它节点之间共享的共享秘密(当节点A加入网络或另一个节点加入账本网络时,这取决于谁先发生)来验证其它节点进行的投票。根据一个示例,预定阈值数量可以是网络的已有节点总数中的多数。如果该检查的结果是肯定的,则处理器根据请求,更新其账本的本地副本(步骤404)。另一方面,如果该检查的结果是否定的,则处理器不改变其账本的本地副本(步骤406)。构成账本网络的一部分的所有其它节点以相同的方式操作,由此,在构成账本网络的一部分的每个节点处维持账本的相同副本。
[0060] 如果在稍后阶段中,账本网络的节点将网络的另一个节点识别为可疑受损节点,则该节点遵循在区块链的一个或多个区块中记录的智能合约中的指令要求在剩余节点中投票,该投票是关于从账本网络中排除可疑受损节点和基于来自受损节点的邀请(受损节点的直接邀请,或者构成回溯到受损节点的邀请的邀请链的一部分的邀请)已构成网络的一部分的任何其它节点两者。每个剩余节点(即,除了受损节点和基于来自受损节点的邀请已构成网络的一部分的任何其它节点以外的账本网络的所有已有节点)投票是否从网络中排除受损节点和相关节点。投票的认证使用在网络加入过程期间在相应的节点对之间共享的相应的共享秘密。如果至少预定阈值数量(例如,剩余节点总数中的多数)的剩余节点投票排除,则在节点处要求排除的处理器4通过启动针对所有剩余节点的新的加入过程来开始刷新账本网络。新的加入过程涉及在每对剩余节点之间共享相应的新的共享秘密,这有效地排除了被排除节点对分布式账本的改变的任何未来的影响。在一个示例中,在区块链的一个或多个区块中记录的智能合约可准许网络的任何已有节点要求投票表决从账本网络中移除可疑受损节点和相关节点。在另一个示例中,智能合约可仅准许那些具有邀请新节点加入网络的许可的节点要求投票表决从账本网络中移除可疑受损节点和相关节点。根据另一个示例,智能合约可准许起源节点从账本网络中移除可疑受损节点和相关节点,并启动针对剩余节点的上述新的加入过程,而不需要至少预定的多数阈值数量(例如,多数)的剩余节点支持移除。
[0061] 如上所述,建立/发展网络可涉及除了起源节点以外的节点,其具有邀请新节点加入账本网络的许可。根据一个实施例,区块链的一个或多个区块记录一个或多个智能合约,其规定关于新节点何时可邀请其它节点加入网络的规则。一组规则的一个示例是:(i)任何节点自己可邀请最多2个新节点加入网络,但是可以在使用第一邀请之后仅使用第二邀请;(ii)在刚好前一代节点可用的所有邀请中的至少预定百分比(例如,75%)已被使用之后,一个代的节点仅具有使用它们的邀请的许可。在图6中示出了用于非常简单的网络构建的一组规则的示例。起源节点(也被称为第0代/级节点)邀请两个新节点(第1代/级节点)用户
1和用户2加入账本网络。在加入账本网络之后,这两个第1代节点各自使用它们的两个可用邀请中的一个将第2代节点用户3和用户5引入账本网络。此时,仅第1代节点(用户1和2)可用的邀请中的50%(4个中的2个)已被使用,并且新节点用户3和用户5尚未具有邀请新节点加入账本网络的许可。只有在第1代节点用户1和/或用户2使用他们的第二邀请(以将用户4和/或用户6引入账本网络)之后,任何第2代节点(用户3至6中的任何一个)才具有邀请任何新节点加入账本网络的许可。类似地,只有在第2代节点(用户3至6)已经使用第2代节点可用的总邀请的至少75%之后,第3代节点中的任何一个(图4中的用户7至14)才可以开始邀请新节点加入账本网络。该方法可确保账本网络的新节点不会使账本网络被其直接或间接选择的新节点淹没,由此,更好地防止任何单个实体控制大多数节点,从而可以控制分布式账本的改变。在该示例中,对于任何新节点可用的邀请的数量以及用于下一代节点开始进行第二邀请的触发条件(例如,阈值百分比,例如,75%)对于每一代是相同的,但是根据一个变形,这些中的任一个或两者针对不同的代而被不同地设置。
[0062] 图5示出了在根据上述示例性规则操作的节点的处理器处的一组操作的示例。处理器4确定节点是否已进行第一邀请(步骤500)。如果没有,则处理器4继续进行第一邀请(步骤504)。如果有,则处理器4检查前一代节点中的所有已有节点进行的所有邀请的总和是否例如大于前一代的所有已有节点可用的最大邀请数量的总和的75%(步骤506)。如果是,则处理器继续进行第二邀请(步骤508),从而使得结束(步骤510)该节点的邀请过程,因为该节点的特定示例仅允许最多两个邀请。如果否,则处理器返回到步骤506(步骤512)。
[0063] 针对使用电子邮件地址作为已有的唯一ID(账本网络ID基于已有的唯一ID)的示例而描述了本发明的实施例。但是,可以使用其它的已有的唯一ID,诸如邮政地址、移动电话和其它电话号码,普通信件、短消息(短消息服务(SMS)消息)或电话呼叫可用于将上述随机数传送到账本网络的候选新节点。MAC或IP地址也可用作唯一IDS;类似地,可以使用与通信系统无关的已有的唯一ID,诸如国家保险号码。使用这种已有的唯一公共ID可能涉及中央方管理和扰乱公共ID。
[0064] 基于对通过与分布式账本网络无关的已有的唯一标识符而识别的新节点的邀请来构建分布式账本网络使得对于任何单个控制实体更难以用在其控制下的节点来填充分布式账本网络,由此,使得对于任何单个实体更难以控制对分布式账本的改变。
[0065] 当被加载到计算机时,适当适配的计算机程序代码产品可用于实现实施例。用于提供操作的程序代码产品可以通过载体介质来存储和提供,诸如载体盘、卡或带。可以经由数据网络下载程序代码产品。可以在服务器中用适当的软件来提供实现。
[0066] 本发明的实施例可以在诸如集成电路模块的各种组件中实践。集成电路的设计基本上是高度自动化的过程。复杂且功能强大的软件工具可用于将逻辑级设计转换为准备在半导体衬底上蚀刻和形成的半导体电路设计。
[0067] 程序,诸如由加利福尼亚州山景城的Synopsys公司和加利福尼亚州圣何塞的Cadence Design公司所提供的那些,使用完善的设计规则以及预先存储的设计模块库自动在半导体芯片上布线和放置元件。一旦完成半导体电路的设计,就可以将采用标准化电子格式(例如,Opus、GDSII等)的设计结果传送到半导体制造设施或“fab”以进行制造。
[0068] 除了在上面明确提及的修改之外,对于本领域的技术人员显而易见的是,可以在本发明的范围内对所描述的实施例进行各种其它修改。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈