【技术实现步骤摘要】
【国外来华专利技术】共识系统和方法
本申请总体上涉及用于共识系统和方法的方法和设备,尤其涉及用于改变主节点的共识系统和方法。
技术介绍
实用拜占庭容错(PBFT)是一种可以在分布式系统如区块链系统中实现的共识机制。PBFT共识机制使得分布式系统能够在安全性和活跃性方面达成足够的共识,尽管系统的某些节点可能发生故障(例如,由于网络连接不良或以其他方式变得有故障)或向其他对等方传播不正确的信息(例如,恶意行动)。这种机制的目的是通过减轻无功能节点对系统的正确功能的影响以及对由系统中功能节点(例如,无故障节点和诚实节点)达成的共识的影响来抵御灾难性的系统故障。PBFT共识机制侧重于通过假设存在独立节点故障和由特定并独立的节点传播的操纵消息来提供容忍拜占庭故障(例如,无功能节点)的实用拜占庭状态机复制。例如,在这种PBFT共识机制中,区块链系统中的所有节点按顺序排序,其中一个节点是主节点(也称为领导节点或主控节点),其他节点称为备节点(也称为追随者节点)。系统内的所有节点彼此通信,并且目标是让所有诚实节点对系统状态达成一致/共识。例如,为了使PBFT共识机制起作用,假设在给定的漏洞窗口中,区块链系统中的无功能节点的数量不能同时等于或超过系统中总节点数的三分之一。只要至多F个节点同时是无功能节点,该方法就有效地提供活跃性和安全性。换句话说,在一些实现中,PBFT共识机制可以容忍的无功能节点的数量F等于(N-1)/3向下取最接近整数,其中N表示系统中的节点总数。在一些实现中,实现PBFT共识机制的区块链系统可以处理多达F个拜占庭故障
【技术保护点】
1.一种计算机实施的共识方法,所述方法将在由多个、即N个节点维护的区块链上实施,其中所述节点之一充当主节点而其他N-1个节点充当备节点,并且所述方法由所述N个节点中的一个节点执行,所述方法包括:/n检测所述区块链的当前长度H的改变;/n基于参数P和节点数N确定所述主节点,其中所述参数P与所述区块链的所述当前长度H成比例;/n响应于确定所述N个节点中的该节点是所述主节点,作为所述主节点执行实用拜占庭容错PBFT正常操作协议;以及/n响应于确定所述N个节点中的该节点不是所述主节点,作为所述备节点之一执行PBFT正常操作协议。/n
【技术特征摘要】
【国外来华专利技术】1.一种计算机实施的共识方法,所述方法将在由多个、即N个节点维护的区块链上实施,其中所述节点之一充当主节点而其他N-1个节点充当备节点,并且所述方法由所述N个节点中的一个节点执行,所述方法包括:
检测所述区块链的当前长度H的改变;
基于参数P和节点数N确定所述主节点,其中所述参数P与所述区块链的所述当前长度H成比例;
响应于确定所述N个节点中的该节点是所述主节点,作为所述主节点执行实用拜占庭容错PBFT正常操作协议;以及
响应于确定所述N个节点中的该节点不是所述主节点,作为所述备节点之一执行PBFT正常操作协议。
2.根据权利要求1所述的方法,其中:
所述当前长度H基于所述区块链中区块的数量;并且
对于所述N个节点中分别识别相同的所述区块链的当前长度H的多个节点,所述参数P是相同的。
3.根据前述任一项权利要求所述的方法,其中:
每个所述节点关联有标识;并且
基于所述参数P和所述节点数N确定所述主节点包括:确定所述节点中具有(PmodN)标识的一个节点作为所述主节点。
4.根据前述任一项权利要求所述的方法,其中,执行所述PBFT正常操作协议包括:
执行所述PBFT正常操作协议以将新区块添加到所述区块链中。
5.根据前述任一项权利要求所述的方法,还包括:
重复权利要求1的所述步骤,以执行一轮或多轮所述PBFT正常操作协议;以及
对于所述一轮或多轮中的每一轮,基于所述参数P和所述节点数N来改变所述主节点。
6.根据前述任一项权利要求所述的方法,其中,检测所述区块链的所述当前长度H的改变包括:
检测到所述区块链中区块的数量增加了1。
7.根据前述任一项权利要求所述的方法,其中,响应于确定所述N个节点中的该节点是所述主节点,作为所述主节点执行PBFT正常操作协议包括:
向至少一些所述备节点组播预准备消息;
获得分别来自Q-1个或更多个节点的Q-1个或更多个准备消息,其中所述Q-1个或更多个准备消息各自表示相应备节点接受所述预准备消息,法定数量Q是(N+F+1)/2向上取最接近的整数,F是(N-1)/3向下取最接近的整数;
向至少一些所述备节点组播提交消息,所述提交消息表示所述主节点同意所述Q-1个或更多个准备消息;以及
获得分别来自所述主节点加所述备节点中的Q个或更多个节点的Q个或更多个提交消息,所述Q个或更多个提交消息各自表示相应节点同意由所述相应节点接收的Q-1个或更多个准备消息。
8.根据权利要...
【专利技术属性】
技术研发人员:杨达一,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛;KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。