使用布隆过滤器对被许可的区块链进行去同步恢复的方法和系统技术方案

技术编号:20290221 阅读:70 留言:0更新日期:2019-02-10 20:35
一种使用布隆过滤器恢复丢失数据或额外数据的方法,包括:存储多个交易消息,其中,每个交易消息包括交易值;生成所述交易消息的布隆过滤器,其中,所述布隆过滤器使用多个散列循环生成并且所述布隆过滤器的尺寸是交易消息的数量的至少两倍;生成包括所述多个交易消息的数量、散列循环的数量、所述尺寸和生成的布隆过滤器的恢复消息;将恢复消息发送到共识节点;从所述共识节点接收响应消息,其中,所述响应消息包括至少一个附加交易消息;以及将所述至少一个附加交易消息插入到所述多个交易消息中。

【技术实现步骤摘要】
【国外来华专利技术】使用布隆过滤器对被许可的区块链进行去同步恢复的方法和系统相关申请的交叉引用本申请要求2016年5月24日提交的美国申请No.15/163,077的权益和优先权。通过引用的方式将上述申请的全部公开内容合并于此。
本公开涉及被许可的区块链的共识,具体地,涉及使用审计来保证添加到被许可的区块链的新区块的有效共识以及使用布隆过滤器来恢复去同步的节点。
技术介绍
区块链是可用于维护经过验证的且通常公众可访问的数据记录的分散的、分布式数据库。最近,区块链通过用于存储和验证加密货币交易的交易记录的机制而得到越来越多的使用。作为分散的、分布式数据库,区块链通常需要大量的计算工作才能将新区块添加到被验证的链中。在许多情况下,该验证是通过“工作量证明(proofofwork)”来执行的,“工作量证明”由区块链网络中的节点执行并且涉及执行非常大量的计算。随着时间的推移,通过工作量证明而在区块链中提供共识所需的处理能力已经发展到可能过于昂贵和耗时的程度。但是,对于分散的数据库,可能需要达成共识,以确保数据库的每个分布都是准确的并与其他分布匹配。遗憾的是,可能受益于使用区块链的许多计算设备因此而充当节点,但这些计算设备可能缺乏所需的处理能力来通过执行工作量证明或其他现有共识机制而能够参与。此外,现有的共识机制往往需要相当长的时间才能达成共识。例如,比特币(区块链最受欢迎的实现之一)的工作量证明通常需要十分钟以上。在许多情况下,这段时间对于区块链实现来说可能是不可接受的。因此,需要一种用于区块链的共识机制的技术解决方案,与现有区块链实现和共识机制相比,其可以快速、有效地并且以最小量的处理功率执行。更快,更有效的共识机制可以使区块链更容易地实现并且在具有较低系统规格的计算设备之间分布,同时还确保对添加到区块链中的新交易和其他记录的共识更快。
技术实现思路
本公开提供了对使用布隆过滤器来恢复丢失数据或额外数据的系统和方法的描述。一种使用布隆过滤器恢复丢失数据或额外数据的方法,包括:在处理服务器的交易数据库中存储多个交易消息,其中,每个交易消息包括与区块链交易相关的至少包括交易值的结构化数据集;由所述处理服务器的生成模块生成所述多个交易消息的布隆过滤器,其中,所述布隆过滤器使用预定数量的散列循环(hashround)生成并且所述布隆过滤器的尺寸是存储在所述交易数据库中的所述多个交易消息的计数的至少两倍;由所述处理服务器的生成模块生成恢复消息,其中,所述恢复消息至少包括所述多个交易消息的计数、散列循环的预定数量、所述尺寸和生成的布隆过滤器;由所述处理服务器的发送设备以电子方式将生成的恢复消息发送到至少一个共识节点;由所述处理服务器的接收设备从所述至少一个共识节点中的一个或多个接收响应消息,其中,所述响应消息包括至少一个附加交易消息;以及由所述处理服务器的查询模块在所述交易数据库上执行查询以插入所述至少一个附加交易消息。使用布隆过滤器恢复丢失数据或额外数据的另一种方法,包括:在处理服务器的交易数据库中存储多个交易消息,其中,每个交易消息包括与区块链交易相关的至少包括交易值的结构化数据集;由所述处理服务器的生成模块生成所述多个交易消息的布隆过滤器,其中,所述布隆过滤器使用预定数量的散列循环生成并且所述布隆过滤器的尺寸是存储在所述交易数据库中的所述多个交易消息的计数的至少两倍;由所述处理服务器的生成模块生成恢复消息,其中,所述恢复消息至少包括所述多个交易消息的计数、散列循环的预定数量、所述尺寸和生成的布隆过滤器;由所述处理服务器的发送设备以电子方式将生成的恢复消息发送到至少一个共识节点;由所述处理服务器的接收设备从所述至少一个共识节点中的一个或多个接收响应消息,其中,所述响应消息至少包括第二布隆过滤器、散列循环的指示的数量、指示的过滤器尺寸和预期的交易消息的数量;由所述处理服务器的数据识别模块基于所包括的交易值、散列循环的指示的数量、指示的过滤器尺寸、预期的交易消息的数量以及第二布隆过滤器,来识别未包括在所述第二布隆过滤器中的所述多个交易消息中的至少一个交易消息;以及由所述处理服务器的查询模块在所述交易数据库上执行查询以删除所述至少一个识别的交易消息。一种使用布隆过滤器恢复丢失数据或额外数据的系统,包括:处理服务器的交易数据库,其被配置为存储多个交易消息,其中,每个交易消息包括与区块链交易相关的至少包括交易值的结构化数据集;所述处理服务器的生成模块,其被配置为生成所述多个交易消息的布隆过滤器,其中,所述布隆过滤器使用预定数量的散列循环生成并且所述布隆过滤器的尺寸是存储在所述交易数据库中的所述多个交易消息的计数的至少两倍;以及生成恢复消息,其中,所述恢复消息至少包括所述多个交易消息的计数、散列循环的预定数量、所述尺寸和生成的布隆过滤器;所述处理服务器的发送设备,其被配置为以电子方式将生成的恢复消息发送到至少一个共识节点;所述处理服务器的接收设备,其被配置为从所述至少一个共识节点中的一个或多个接收响应消息,其中,所述响应消息包括至少一个附加交易消息;以及所述处理服务器的查询模块,其被配置为在所述交易数据库上执行查询以插入所述至少一个附加交易消息。一种使用布隆过滤器恢复丢失数据或额外数据的另一种系统,包括:处理服务器的交易数据库,其被配置为存储多个交易消息,其中,每个交易消息包括与区块链交易相关的至少包括交易值的结构化数据集;所述处理服务器的生成模块,其被配置为生成所述多个交易消息的布隆过滤器,其中,所述布隆过滤器使用预定数量的散列循环生成并且所述布隆过滤器的尺寸是存储在所述交易数据库中的所述多个交易消息的计数的至少两倍;以及生成恢复消息,其中,所述恢复消息至少包括所述多个交易消息的计数、散列循环的预定数量、所述尺寸和生成的布隆过滤器;所述处理服务器的发送设备,其被配置为以电子方式将生成的恢复消息发送到至少一个共识节点;所述处理服务器的接收设备,其被配置为从所述至少一个共识节点中的一个或多个接收响应消息,其中,所述响应消息至少包括第二布隆过滤器、散列循环的指示的数量、指示的过滤器尺寸和预期的交易消息的数量;所述处理服务器的数据识别模块,其被配置为基于所包括的交易值、散列循环的指示的数量、指示的过滤器尺寸、预期的交易消息的数量以及第二布隆过滤器,来识别未包括在所述第二布隆过滤器中的所述多个交易消息中的至少一个交易消息;以及所述处理服务器的查询模块,其被配置为在所述交易数据库上执行查询以删除所述至少一个识别的交易消息。附图说明当结合附图阅读时,从以下示例性实施例的详细描述中可以最好地理解本公开的范围。附图中包括以下图:图1是示出根据示例性实施例的用于被许可的区块链网络中的去同步节点的有效共识和恢复的高级系统架构的框图;图2是示出根据示例性实施例的用于被许可的区块链网络中的去同步节点的有效共识和恢复的图1中的审计节点的框图;图3是示出根据示例性实施例的用于识别被许可的区块链网络的共识节点中的共识提议的过程的流程图;图4A和4B是示出根据示例性实施例的通过使用图1的系统中的布隆过滤器来恢复被许可的区块链网络中的去同步的共识节点的过程的流程图;图5是示出根据示例性实施例的对被许可的区块链网络中的去同步的共识节点进行重新同步的过程的流程图;图6是示出本文档来自技高网
...

【技术保护点】
1.一种使用布隆过滤器恢复丢失数据或额外数据的方法,包括:在处理服务器的交易数据库中存储多个交易消息,其中,每个交易消息包括与区块链交易相关的至少包括交易值的结构化数据集;由所述处理服务器的生成模块生成所述多个交易消息的布隆过滤器,其中,所述布隆过滤器使用预定数量的散列循环生成并且所述布隆过滤器的尺寸是存储在所述交易数据库中的所述多个交易消息的计数的至少两倍;由所述处理服务器的所述生成模块生成恢复消息,其中,所述恢复消息至少包括所述多个交易消息的计数、散列循环的预定数量、所述尺寸和生成的布隆过滤器;由所述处理服务器的发送设备以电子方式将生成的恢复消息发送到至少一个共识节点;由所述处理服务器的接收设备从所述至少一个共识节点中的一个或多个接收响应消息,其中,所述响应消息包括至少一个附加交易消息;以及由所述处理服务器的查询模块在所述交易数据库上执行查询以插入所述至少一个附加交易消息。

【技术特征摘要】
【国外来华专利技术】2016.05.24 US 15/163,0771.一种使用布隆过滤器恢复丢失数据或额外数据的方法,包括:在处理服务器的交易数据库中存储多个交易消息,其中,每个交易消息包括与区块链交易相关的至少包括交易值的结构化数据集;由所述处理服务器的生成模块生成所述多个交易消息的布隆过滤器,其中,所述布隆过滤器使用预定数量的散列循环生成并且所述布隆过滤器的尺寸是存储在所述交易数据库中的所述多个交易消息的计数的至少两倍;由所述处理服务器的所述生成模块生成恢复消息,其中,所述恢复消息至少包括所述多个交易消息的计数、散列循环的预定数量、所述尺寸和生成的布隆过滤器;由所述处理服务器的发送设备以电子方式将生成的恢复消息发送到至少一个共识节点;由所述处理服务器的接收设备从所述至少一个共识节点中的一个或多个接收响应消息,其中,所述响应消息包括至少一个附加交易消息;以及由所述处理服务器的查询模块在所述交易数据库上执行查询以插入所述至少一个附加交易消息。2.根据权利要求1所述的方法,还包括:由所述处理服务器的散列模块使用与包括在所述多个交易消息中的每个交易消息中的交易值相关联的交易参考值,来生成所述多个交易消息的Merkle根;由所述处理服务器的所述接收设备从所述至少一个共识节点中的每一个共识节点接收提议消息,其中,所述提议消息至少包括提议的Merkle根;以及在以电子方式发送生成的恢复消息之前,由所述处理服务器的验证模块验证所生成的Merkle根不等于在每个接收的提议消息中包括的提议的Merkle根。3.根据权利要求2所述的方法,还包括:由所述处理服务器的所述散列模块使用与包括在每个相应交易消息中的所述交易值相关联的交易参考值,来生成所述多个交易消息和所述至少一个附加交易消息的新的Merkle根;以及由所述处理服务器的所述验证模块验证所述新的Merkle根等于在每个接收的提议消息中包括的所述提议的Merkle根。4.根据权利要求2所述的方法,还包括:由所述处理服务器的所述散列模块通过使用预定的散列算法对所述相应的交易值进行散列,来生成与包括在所述多个交易消息中的每个交易消息中的所述交易值相关联的交易参考值。5.根据权利要求2所述的方法,还包括:由所述处理服务器的所述查询模块在生成所述Merkle根之前,基于自然排序对与包括在所述多个交易消息中的每个交易消息中的所述交易值相关联的所述交易参考值进行排序。6.根据权利要求1所述的方法,其中,多个所述交易消息中的每一个交易消息还包括特定时隙标识符,所述恢复消息和响应消息中的每一个还包括所述特定时隙标识符,以及所述至少一个附加交易消息中的每一个附加交易消息包括所述特定时隙标识符。7.根据权利要求1所述的方法,其中,对于所述预定数量的散列循环中的每一个,使用预定的散列算法生成所述布隆过滤器。8.一种使用布隆过滤器恢复丢失数据或额外数据的方法,包括:在处理服务器的交易数据库中存储多个交易消息,其中,每个交易消息包括与区块链交易相关的至少包括交易值的结构化数据集;由所述处理服务器的生成模块生成所述多个交易消息的布隆过滤器,其中,所述布隆过滤器使用预定数量的散列循环生成并且所述布隆过滤器的尺寸是存储在所述交易数据库中的所述多个交易消息的计数的至少两倍;由所述处理服务器的所述生成模块生成恢复消息,其中,所述恢复消息至少包括所述多个交易消息的计数、散列循环的预定数量、所述尺寸和生成的布隆过滤器;由所述处理服务器的发送设备以电子方式将生成的恢复消息发送到至少一个共识节点;由所述处理服务器的接收设备从所述至少一个共识节点中的一个或多个接收响应消息,其中,所述响应消息至少包括第二布隆过滤器、散列循环的指示的数量、指示的过滤器尺寸和预期的交易消息的数量;由所述处理服务器的数据识别模块基于所包括的交易值、散列循环的所述指示的数量、指示的过滤器尺寸、预期的交易消息的数量以及第二布隆过滤器,来识别未包括在所述第二布隆过滤器中的所述多个交易消息中的至少一个交易消息;以及由所述处理服务器的查询模块在所述交易数据库上执行查询以删除至少一个所识别的交易消息。9.根据权利要求8所述的方法,其中,所述预期的交易消息的数量少于所述多个交易消息的所述计数。10.根据权利要求8所述的方法,其中,所指示的过滤器的尺寸至少是所述预期的交易消息的数量的两倍。11.根据权利要求8所述的方法,其中,在执行所述查询之后所述多个交易消息的更新的计数等于所述预期的交易消息的数量。12.根据权利要求8所述的方法,还包括:由所述处理服务器的散列模块使用与包括在所述多个交易消息中的每个交易消息中的交易值相关联的交易参考值,来生成所述多个交易消息的Merkle根;由所述处理服务器的所述接收设备从所述至少一个共识节点中的每一个共识节点接收提议消息,其中,所述提议消息至少包括提议的Merkle根;以及在以电子方式发送生成的恢复消息之前,由所述处理服务器的验证模块验证所生成的Merkle根不等于在每个接收的提议消息中包括的所述提议的Merkle根。13.根据权利要求12所述的方法,还包括:在删除至少一个所识别的交易消息之后,使用与包括在每个相应交易消息中的所述交易值相关联的交易参考值,由所述处理服务器的所述散列模块生成所述多个交易消息的新的Merkle根;以及由所述处理服务器的所述验证模块验证所述新的Merkle根等于在每个接收的提议消息中包括的所述提议的Merkle根。14.根据权利要求12所述的方法,还包括:由所述处理服务器的所述散列模块,通过使用预定的散列算法对相应的交易值进行散列,生成与包括在所述多个交易消息中的每个交易消息中的所述交易值相关联的交易参考值。15.根据权利要求12所述的方法,还包括:由所述处理服务器的所述查询模块在生成所述Merkle根之前,基于自然排序对与包括在所述多个交易消息中的每个交易消息中的所述交易值相关联的所述交易参考值进行排序。16.根据权利要求8所述的方法,其中,多个所述交易消息中的每一个交易消息还包括特定时隙标识符,以及所述恢复消息和响应消息中的每一个还包括所述特定时隙标识符。17.根据权利要求8所述的方法,其中,对于预定数量的散列循环中的每一个,使用预定的散列算法生成所述布隆过滤器。18.一种使用布隆过滤器恢复丢失数据或额外数据的系统,包括:处理服务器的交易数据库,其被配置为...

【专利技术属性】
技术研发人员:S·C·戴维斯
申请(专利权)人:万事达卡国际股份有限公司
类型:发明
国别省市:美国,US

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

1