将区块添加到被许可的区块链的方法和系统技术方案

技术编号:34687372 阅读:31 留言:0更新日期:2022-08-27 16:20
一种使用高效的共识机制将区块添加到被许可的区块链的方法和系统,包括:将准备消息以电子方式发送到与区块链相关联的多个审计节点;从所述多个审计节点中的至少大多数审计节点接收响应消息,其中,每个准备响应消息至少包括所述确认散列值和接受的提议编号;基于所述提议编号的所述数值和每个响应消息中包括的所述接受的提议编号的数值和预定标准,来识别同意的提议编号;将接受消息以电子方式发送到所述多个审计节点;将确认消息以电子方式发送到与所述区块链相关联的多个共识节点,其中,所述确认消息至少包括所述确认散列值和所识别的同意的提议编号;以及对处理服务器的存储器执行查询,以将新区块添加到所述区块链。以将新区块添加到所述区块链。以将新区块添加到所述区块链。

【技术实现步骤摘要】
将区块添加到被许可的区块链的方法和系统
[0001]本申请是2017年4月19日提交的申请号为201780032306.7的专利技术专利申请的分案申请。
[0002]相关申请的交叉引用
[0003]本申请要求2016年5月24日提交的美国申请No.15/163,007的权益和优先权。通过引用的方式将上述申请的全部公开内容合并于此。


[0004]本公开涉及被许可的区块链的共识,具体地,涉及使用审计来保证添加到被许可的区块链的新区块的高效共识以及使用布隆过滤器来恢复去同步的节点。

技术介绍

[0005]区块链是可用于维护经过验证的且通常公众可访问的数据记录的分散的、分布式数据库。最近,区块链通过用于存储和验证加密货币交易的交易记录的机制而得到越来越多的使用。作为分散的、分布式数据库,区块链通常需要大量的计算工作才能将新区块添加到被验证的链中。在许多情况下,该验证是通过“工作量证明(proof of work)”来执行的,“工作量证明”由区块链网络中的节点执行并且涉及执行非常大量的计算。随着时间的推移,通过工作量证明而在区块链中提供共识所需的处理能力已经发展到可能过于昂贵和耗时的程度。
[0006]但是,对于分散的数据库,可能需要达成共识,以确保数据库的每个分布都是准确的并与其他分布匹配。遗憾的是,可能受益于使用区块链的许多计算设备因此而充当节点,但这些计算设备可能缺乏所需的处理能力来通过执行工作量证明或其他现有共识机制而能够参与。此外,现有的共识机制往往需要相当长的时间才能达成共识。例如,比特币(区块链最受欢迎的实现之一)的工作量证明通常需要十分钟以上。在许多情况下,这段时间对于区块链实现来说可能是不可接受的。
[0007]因此,需要一种用于区块链的共识机制的技术解决方案,与现有区块链实现和共识机制相比,其可以快速、高效地并且以最小量的处理功率执行。更快,更高效的共识机制可以使区块链更容易地实现并且在具有较低系统规格的计算设备之间分布,同时还确保对添加到区块链中的新交易和其他记录的共识更快。

技术实现思路

[0008]本公开提供了对使用高效的共识机制将区块添加到被许可的区块链的系统和方法的描述。
[0009]一种使用高效的共识机制将区块添加到被许可的区块链的方法,包括:在处理服务器的存储器中存储包括多个区块的区块链,所述多个区块包括最近添加的区块,所述最近添加的区块至少包括块头和一个或多个交易值;由所述处理服务器的接收设备从与所述区块链相关联的一个或多个共识节点接收多个交易消息,其中,每个交易消息至少包括交
易值;由所述处理服务器的散列模块使用与所述多个交易消息中的每个交易消息中包括的交易值相关联的交易参考值来生成所述多个交易消息的Merkle根;由所述处理服务器的散列模块通过将散列算法应用到所述最近添加的区块中包括的块头来生成先前的散列值;由所述处理服务器的生成模块生成提议的块头,其中,所述提议的块头至少包括所述先前的散列值和生成的 Merkle根;由所述处理服务器的散列模块通过将所述散列算法应用到生成的提议的块头来生成确认散列值;由所述处理服务器的生成模块生成提议编号,其中,所述提议编号是为所述生成的提议的块头生成的数字签名的数值;由所述处理服务器的发送设备将准备消息电子的发送到与所述区块链相关联的多个审计节点,其中,所述准备消息至少包括所述生成的确认散列值和生成的提议编号;由所述处理服务器的接收设备从所述多个审计节点中的至少大多数审计节点接收响应消息,其中,每个准备响应消息至少包括生成的确认散列值和接受的提议编号;由所述处理服务器的数据识别模块基于生成的提议编号的数值和每个响应消息中包括的接受的提议编号的数值和预定标准,来识别同意的提议编号;由所述处理服务器的发送设备将接受消息电子地发送到所述多个审计节点,其中,所述接受消息至少包括生成的确认散列值和所识别的同意的提议编号;由所述处理服务器的发送设备将确认消息电子地发送到与所述区块链相关联的多个共识节点,其中,所述确认消息至少包括生成的确认散列值和识别出的同意提议编号;以及由所述处理服务器的查询模块对所述存储器执行查询,以将新区块添加到所述区块链,所述新区块至少包括所述多个交易消息中的每个交易消息中包括的交易值和新块头,所述新块头至少包括先前的散列值、生成的Merkle根和同意的提议编号。
[0010]一种使用高效的共识机制将区块添加到被许可的区块链的系统,包括:处理服务器的发送设备;所述处理服务器的数据识别模块;所述处理服务器的查询模块;所述处理服务器的存储器,其被配置为存储包括多个区块的区块链,所述多个区块包括最近添加的区块,所述最近添加的区块至少包括块头和一个或多个交易值;所述处理服务器的接收设备,其被配置为从与所述区块链相关联的一个或多个共识节点接收多个交易消息,其中,每个交易消息至少包括交易值;所述处理服务器的散列模块,其被配置为:使用与所述多个交易消息中的每个交易消息中包括的交易值相关联的交易参考值来生成所述多个交易消息的Merkle根,通过将散列算法应用到所述最近添加的区块中包括的块头来生成先前的散列值;以及所述处理服务器的生成模块,其被配置为生成提议的块头,其中,所述提议的块头至少包括所述先前的散列值和生成的Merkle根。所述处理服务器的散列模块还被配置为通过将所述散列算法应用到生成的提议的块头来生成确认散列值。所述处理服务器的生成模块还被配置为生成提议编号,其中,所述提议编号是为所述生成的提议的块头生成的数字签名的数值。所述处理服务器的发送设备被配置为将准备消息电子地发送到与所述区块链相关联的多个审计节点,其中,所述准备消息至少包括生成的确认散列值和生成的提议编号。所述处理服务器的接收设备还被配置为从所述多个审计节点中的至少大多数审计节点接收响应消息,其中,每个准备响应消息至少包括生成的确认散列值和接受的提议编号。所述处理服务器的数据识别模块被配置为基于生成的提议编号的数值和每个响应消息中包括的接受的提议编号的数值和预定标准,来识别同意的提议编号。所述处理服务器的发送设备还被配置为:将接受消息电子地发送到所述多个审计节点,其中,所述接受消息至少包括生成的确认散列值和所识别的同意的提议编号;将确认消息电子地发送到与所述区块链
相关联的多个共识节点,其中,所述确认消息至少包括生成的确认散列值和识别出的同意提议编号。所述处理服务器的查询模块还被配置为对所述存储器执行查询,以将新区块添加到所述区块链,所述新区块至少包括所述多个交易消息中的每个交易消息中包括的交易值和新块头,新块头至少包括先前的散列值、生成的Merkle根和同意的提议编号。
附图说明
[0011]当结合附图阅读时,从以下示例性实施例的详细描述中可以最好地理解本公开的范围。附图中包括以下图:
[0012]图1是示出根据示例性实施例的用于被许可的区块链网络中的去同步节点的高效共识和恢复的高级系统架构的框图;
[0013]图2是示出根据示例性实施例的用于被许可的区块链网络中的去同步节点的高效共识和恢复的图1中的审本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种使用高效的共识机制将区块添加到被许可的区块链的方法,包括:由处理服务器将准备消息以电子方式发送到与区块链相关联的多个审计节点,其中,所述准备消息至少包括确认散列值和提议编号,其中,所述提议编号是提议的块头的数字签名的数值,所述提议的块头包括先前的散列值和为多个交易消息生成的Merkle根;由所述处理服务器从所述多个审计节点中的至少大多数审计节点接收响应消息,其中,每个准备响应消息至少包括所述确认散列值和接受的提议编号;由所述处理服务器基于所述提议编号的所述数值和每个响应消息中包括的所述接受的提议编号的数值和预定标准,来识别同意的提议编号;由所述处理服务器将接受消息以电子方式发送到所述多个审计节点,其中,所述接受消息至少包括所述确认散列值和所识别的同意的提议编号;由所述处理服务器将确认消息以电子方式发送到与所述区块链相关联的多个共识节点,其中,所述确认消息至少包括所述确认散列值和所识别的同意的提议编号;以及由所述处理服务器对处理服务器的存储器执行查询,以将新区块添加到所述区块链,所述新区块至少包括所述多个交易消息中的每个交易消息中包括的所述交易值和新块头,所述新块头至少包括所述先前的散列值、生成的Merkle根和所述同意的提议编号。2.根据权利要求1所述的方法,其中:所述多个交易消息中的每一个还包括特定时隙标识符,所述提议的块头、准备消息、响应消息、接受消息、确认消息和新块头中的每个都包括所述特定时隙标识符,以及包括在最近添加的区块中的所述块头包括不同的时隙标识符。3.根据权利要求1所述的方法,其中,所述Merkle根是使用包括在所述多个交易消息中的每个交易消息中的所述交易值生成的。4.根据权利要求1所述的方法,还包括:由所述处理服务器通过使用预定的散列算法对相应的交易值进行散列,来生成与包括在所述多个交易消息中的每个交易消息中的所述交易值相关联的交易参考值;其中,所述Merkle根是使用包括在所述多个交易消息中的每个交易消息中的所述交易参考值生成的。5.根据权利要求1所述的方法,还包括:在所述处理服务器的所述存储器中存储共识延迟时间,其中所述多个交易消息中的每一个还包括与时间相关联的共同识别值,以及在与所述共同识别值相关联的所述时间之后,在共识延迟时间到期之后生成所述Merkle根。6.根据权利要求1所述的方法,还包括:由所述处理服务器在生成所述Merkle根之前,基于自然排序对与包括在所述多个交易消息中的每个交易消息中的所述交易值相关联的述交易参考值进行排序。7.根据权利要求1所述的方法,还包括:由所述处理服务器以电子方式将提议消息发送到所述多个共识节点,其中,所述提议消息至少包括生成的Merkle根。8.根据权利要求1所述的方法,还包括:
由所述处理服务器从所述多个共识节点中的每一个共识节点接收提议消息,其中,所述提议消息至少包括提议的Merkle根;以及由所述处理服务器的验证模块验证生成的Merkle根等于所接收的提议消息中包括的至少大多数所提议的Merkler根。9.根据权利要求1所述的方法,其中,所述提议编号是使用随机数结合所述数字签名被进一步生成的,所述准备消息还包括所述随机数,每个响应消息还包括相关联的随机数,以及所述接受消息、确认消息和新块头还包括与所述同意的提议编号相关的所述随机数。10.根据权利要求1所述的方法,还包括:在所述存储器中存储与所述处理服务器相关联的公钥,其中使用所述公钥为所述提议的块头生成所述数字签名,所述准备消息还包括所述公钥,每个响应消息还包括在生成相关联的接受的提议编号时使用的相关联的公钥;并且所述接受消息、确认消息和新块头还包括与所述同意的提议编号相关联的所述公钥。11.根据权利要求1所述的方法,还包括:由所述处理服务器基于相应的数值对所述提议编号和包括在每个响应消息中的接受的提议编号进行排序,其中基于所述排序和预定标准识别所述同意的提议编号。12.根据权利要求11所述的方法,其中,所述预定标准是选择最高的数值。13.一种使用高效的共识机制将区块添加到被许可的区块链的系统,包括:处理服务器的存储器...

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

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

1