促进实用拜占庭容错区块链共识和节点同步制造技术

技术编号:21841616 阅读:51 留言:0更新日期:2019-08-10 21:48
本公开的实现包括:第一共识节点设置在视图改变超时之前期满的定时器;响应于所述定时器期满,向第二共识节点发送请求以获得所述第一共识节点缺少的一个或多个共识消息;从所述第二共识节点接收所述一个或多个共识消息,每个共识消息被生成该共识消息的相应的共识节点的私钥进行数字签名;以及,如果包括在所接收的一个或多个共识消息中的承诺消息的数量大于或等于2f+1,则确定交易的区块有效,其中,f是区块链基于实用拜占庭容错而可容忍的故障节点的最大数目。

Promoting Practical Byzantine Fault Tolerant Block Chain Consensus and Node Synchronization

【技术实现步骤摘要】
【国外来华专利技术】促进实用拜占庭容错区块链共识和节点同步
技术介绍
区块链网络,也可以被称为区块链系统、共识网络、分布式账本系统(DLS)网络或区块链,使得参与的实体能够安全地并且不可篡改地存储数据。区块链可以被描述为交易的账本,并且区块链的多个副本跨区块链网络存储。区块链的示例性类型可包括公有区块链、联盟区块链和私有区块链。公有区块链对所有实体开放区块链的使用,并开放共识处理的参与。私有DLS针对特定实体提供,该实体集中控制读写权限。另一种类型的区块链系统包括联盟区块链系统。联盟区块链系统针对选择的实体组群提供,该实体组群控制共识处理,并且包括访问控制层。因此,参与联盟区块链系统的一个或多个实体能控制谁可以访问联盟区块链系统、以及谁可以参与联盟区块链系统的共识处理。例如,实体组群(例如,公司、学术机构)可以参与联盟区块链系统以不可篡改地记录数据(例如,交易)。在一些示例中,某实体能够访问/查看联盟区块链系统内的数据,但不向联盟区块链系统贡献数据。区块链包括一系列区块,每个区块包含一个或多个在网络中执行的交易。每个区块可被类比为账本中的一页,而区块链本身是账本的完整副本。各个交易被确认并被添加到区块,该区块被添加到区块链。区块链的副本是跨网络中的节点复制的。以这种方式,跨网络对区块链的状态形成共识。容错是区块链系统中所关心的。容错通常可以被描述为网络对故障节点或恶意行为节点的容忍。在具有较少参与节点的区块链系统(例如联盟区块链系统)中,容错是特别关注的。拜占庭容错(BFT)可被描述为诸如区块链系统的分布式计算系统的容错的可靠性。BFT描述了在组件可能故障和/或是恶意、以及关于组件是否已经发生故障或是恶意的信息不完整的情况下的可靠性。尽管系统的恶意节点向其他节点传播错误信息,在共识协议中利用BFT还是能够使系统达成共识。BFT的目的是通过减轻恶意节点对共识协议的正确功能的影响来防御系统故障。实用BFT(PBFT)是BFT的优化。PBFT在诸如联盟区块链系统的异步系统中工作,并且假定存在独立节点故障以及由特定的独立节点传播经操作的消息。在PBFT中,共识系统中的所有节点按序列依次作为主节点的一个节点(随着时间的推移,不同的节点被指定为主节点)而其它节点为备节点。所有节点通过广播消息彼此通信,并且所谓的诚实节点通过多数达成共识。在PBFT中,共识安全性可以确保不具有任何问题的两个节点不会就不同的值达成共识。共识活跃度可以确保节点不会在交换消息时落入无限循环,并且节点可以达到它们的最终状态。在一些情况下,联盟区块链中的共识节点可能在地理上远离,并且不能保证网络质量或连通性。在这种情况下,广播消息可能无法到达所有的共识节点,这影响共识节点达成PBFT共识的能力。因此,收集足够的回复以达成共识可能是耗时的并且从计算方面上讲是繁重的。
技术实现思路
本公开的实施方式涉及基于实用拜占庭容错(PBFT)促进区块链网络的同步和共识处理。更具体地说,本公开的实施方式涉及通过使用基于闲话的通信方法、并且向共识消息添加数字签名,来基于PBFT促进区块链网络中的共识消息传输和节点同步。在一些实施方式中,动作包括:由第一共识节点设置在视图改变超时之前期满的定时器;响应于所述定时器期满,向第二共识节点发送请求以获得所述第一共识节点缺少的一个或多个共识消息;从所述第二共识节点接收所述一个或多个共识消息,所述一个或多个共识消息中的每个共识消息被生成该共识消息的相应的共识节点的私钥进行数字签名;以及,如果包括在所接收的一个或多个共识消息中的承诺消息的数量大于或等于2f+1,则确定交易的区块有效,其中,f是区块链基于实用拜占庭容错而可容忍的故障节点的最大数目。其他实施方式包括对应的系统、装置和计算机程序,所述计算机程序被配置成执行所述方法的操作、并编码在计算机存储设备上。这些实施方式和其它实施方式可以各自可选地包括以下特征中的一个或多个:该请求包括表示共识轮的编号的序列号;所述一个或多个共识消息包括所述第一共识节点缺少的预准备消息、准备消息和承诺消息中的一个或多个;所述一个或多个共识消息被存储在生成或存储它们的一个或多个共识节点中,直到到达稳定的检查点;接收对应于所述一个或多个共识消息的一个或多个序列号,其中,每个序列号表示与对应的共识消息相关联的共识轮的编号;如果所述交易的区块被确定有效,则向区块链和状态数据库提交所述交易的区块;响应于所述定时器期满并且如果所述交易的区块被确定无效,则向第三共识节点发送请求以获得所述第二共识节点缺少的一个或多个第二共识消息;从所述第三共识节点接收所述一个或多个第二共识消息,所述一个或多个第二共识消息中的每个第二共识消息被生成该第二共识消息的相应的共识节点的私钥进行数字签名;以及如果包括在所述一个或多个共识消息和所述一个或多个第二共识消息中的承诺消息的数量大于或等于2f+1,则确定所述交易的区块是有效的。本公开还提供了耦接到一个或多个处理器且其上存储有指令的一个或多个非暂态计算机可读存储介质,当由所述一个或多个处理器执行所述指令时,促使所述一个或多个处理器根据本文提供的方法的实施方式执行操作。本公开还提供了用于实现本文所提供方法的系统。该系统包括一个或多个处理器、以及耦接到所述一个或多个处理器且其上存储有指令的一个或多个非暂态计算机可读存储介质,当由所述一个或多个处理器执行所述指令时,促使所述一个或多个处理器根据本文提供的方法的实施方式执行操作。可以理解的是根据本公开的方法可以包括本文所述的方面和特征的任意组合。也即,根据本公开的方法不限于本文所述的方面和特征的组合,但也包括所提供的方面和特征的任意组合。本公开的一个或多个实施方式的细节将在下文结合附图和描述进一步阐述。本公开的其他特征或优点将从说明书和附图以及权利要求中显而易见。附图说明图1描绘了可以用于执行本公开实施方式的示例性环境。图2描绘了根据本公开实施方式的示例性概念架构。图3描绘了根据本公开实施方式的基于PBFT的示例性共识处理。图4描绘了根据本公开实施方式的基于PBFT的共识消息的示例性结构。图5描绘了可根据本公开实施方式执行的示例性处理。在各个附图中,相同的附图标记表示相同的元件。具体实施方式本公开的实施方式涉及基于实用拜占庭容错(PBFT)促进区块链网络的同步和共识处理。更具体地说,本公开的实施方式涉及通过使用基于闲话的通信方法、并且向共识消息添加数字签名,来基于PBFT促进区块链网络中的共识消息传输和节点同步。以这种方式,并且如本文中进一步详细描述的,可以减少通信带宽消耗,并且可以提高系统可靠性。在一些实施方式中,动作包括:由第一共识节点设置在视图改变超时之前期满的定时器;响应于所述定时器期满,向第二共识节点发送请求以获得所述第一共识节点缺少的一个或多个共识消息;从第二共识节点接收一个或多个共识消息,所述一个或多个共识消息中的每个共识消息被生成该共识消息的相应的共识节点的私钥进行数字签名;以及如果包括在所接收的一个或多个共识消息中的承诺消息的数量大于或等于2f+1,则确定交易的区块有效,其中,f是区块链基于实用拜占庭容错的而可容忍的故障节点的最大数目。为本公开实施方式提供进一步的背景,如上所述,区块链网络又可被称为共识网络(例如,由点对点节点组成)、分本文档来自技高网
...

【技术保护点】
1.一种基于实用拜占庭容错PBFT促进区块链网络中的共识处理的计算机实现方法,包括:第一共识节点设置在视图改变超时之前期满的定时器;响应于所述定时器期满,向第二共识节点发送请求以获得所述第一共识节点缺少的一个或多个共识消息;从所述第二共识节点接收所述一个或多个共识消息,所述一个或多个共识消息中的每个共识消息被生成该共识消息的相应的共识节点的私钥进行数字签名;以及如果包括在所接收的一个或多个共识消息中的承诺消息的数量大于或等于2f+1,则确定交易的区块有效,其中,f是所述区块链基于PBFT能够容忍的故障节点的最大数目。

【技术特征摘要】
【国外来华专利技术】1.一种基于实用拜占庭容错PBFT促进区块链网络中的共识处理的计算机实现方法,包括:第一共识节点设置在视图改变超时之前期满的定时器;响应于所述定时器期满,向第二共识节点发送请求以获得所述第一共识节点缺少的一个或多个共识消息;从所述第二共识节点接收所述一个或多个共识消息,所述一个或多个共识消息中的每个共识消息被生成该共识消息的相应的共识节点的私钥进行数字签名;以及如果包括在所接收的一个或多个共识消息中的承诺消息的数量大于或等于2f+1,则确定交易的区块有效,其中,f是所述区块链基于PBFT能够容忍的故障节点的最大数目。2.如权利要求1所述的计算机实现方法,其中,所述请求包括表示共识轮的编号的序列号。3.如权利要求1所述的计算机实现方法,其中,所述一个或多个共识消息包括:所述第一共识节点缺少的预准备消息、准备消息和承诺消息中的一个或多个。4.如权利要求1所述的计算机实现方法,其中,所述一个或多个共识消息被存储在生成或存储它们的一个或多个共识节点中,直到到达稳定的检查点。5.如权利要求1所述的计算机实现方法,还包括:接收对应于所述一个或多个共识消息的一个或多个序列号,其中,每个序列...

【专利技术属性】
技术研发人员:杨达一
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1