提供了用于在区块链网络中删除节点的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。方法之一包括:区块链网络的第一共识节点获得交易,交易包括用于删除区块链网络中的第二共识节点的请求;响应于对交易的共识验证成功,执行交易并在节点列表中对区块链网络中除第二共识节点以外的多个剩余共识节点顺序编号;以及施行视图改变以使剩余共识节点参与未来的共识验证。
System and method for deleting nodes in blockchain network
【技术实现步骤摘要】
【国外来华专利技术】用于在区块链网络中删除节点的系统和方法相关申请的交叉引用本申请要求于2019年9月5日向中华人民共和国国家知识产权局(SIPO)提交的申请号为CN201910838733.5的中国申请的优先权和权益,其全部内容通过引用包含于此。
本申请总体上涉及用于在区块链网络中删除节点的系统和方法。
技术介绍
区块链技术可以构建在传输网络(例如,点对点网络)上。传输网络中的网络节点可以基于链式数据结构来认证和存储数据,并基于分布式共识算法来生成和更新数据。在一些情况下,可能需要删除这种区块链网络的节点。因此,期望提供一种用于在区块链网络中删除节点的方法。用于删除节点的现有技术通常会导致区块链正常运行中断。在一个示例中,用于在区块链网络中删除节点的当前方法需要停止整个区块链系统以删除节点,并且需要在删除之后重启系统。结果,整个系统必须经历停机时间。
技术实现思路
本文的各种实施例包括但不限于用于在区块链网络中删除节点的系统、方法和非暂态计算机可读介质。根据一些实施例,一种计算机实现的用于在区块链网络中删除节点的方法,包括:区块链网络的第一共识节点获得包括用于删除区块链网络中的第二共识节点的请求的交易;响应于对交易的共识验证成功,执行交易并在节点列表中对区块链网络中除第二共识节点外的多个剩余共识节点顺序编号;以及施行视图改变以使剩余共识节点参与未来的共识验证。在一些实施例中,待删除的节点可以是在节点删除之前的区块链网络的激活共识节点,并且通过节点删除,节点变成区块链网络的未激活共识节点。在一些实施例中,待删除的节点可以是在节点删除之前的区块链网络的一部分,并且通过节点删除,节点被从区块链网络中移除。在一些实施例中,交易被配置为调用部署在由区块链网络维护的区块链中的区块链合约。在一些实施例中,区块链合约包括创始合约或系统合约。在一些实施例中,第一共识节点获得交易,包括:从客户端设备或控制器的命令控制台获得交易。在一些实施例中,第一共识节点在本地维护节点列表,节点列表包括以下一项或多项:共识节点标识、共识节点IP地址和共识节点端口号;并且在节点列表中对区块链网络中除第二共识节点外的多个剩余共识节点顺序编号之前,在节点列表中对区块链网络中包括第二共识节点的所有共识节点顺序编号。在一些实施例中,节点列表处于由区块链网络维护的区块链的世界状态。在一些实施例中,执行交易包括:从节点列表中删除第二共识节点;或者在节点列表中将第二共识节点配置为未激活状态。在一些实施例中,施行视图改变包括响应于检测到以下任何条件而发起视图改变:节点列表中共识节点的数量与当前视图中共识节点的数量不一致;节点列表中的共识节点标识与当前视图中的共识节点标识不一致;节点列表中激活共识节点的数量与当前视图中共识节点的数量不一致;以及节点列表中激活共识节点的标识与当前视图中共识节点的标识不一致。在一些实施例中,施行视图改变包括:响应于接收到第二共识节点广播的、用于发起视图改变的消息,来发起视图改变。在一些实施例中,视图改变中的副本数是除第二共识节点之外的剩余共识节点的总数。在一些实施例中,获得交易包括:从第二共识节点、区块链网络的第三共识节点或外部设备获得交易。在一些实施例中,方法还包括:在没有第二共识节点的情况下参与共识验证。根据其他实施例,一种用于在区块链网络中删除节点的系统,包括一个或多个处理器以及耦接至一个或多个处理器、并且在其上存储有可由一个或多个处理器执行以施行前述实施例中任一个的方法的指令的一个或多个计算机可读存储器。根据又一些实施例,一种非暂态计算机可读存储介质,配置有可由一个或多个处理器执行以使得一个或多个处理器施行前述实施例中任一个的方法的指令。根据又一些实施例,一种用于在区块链网络中删除节点的装置,包括用于施行前述实施例中的任一个的方法的多个模块。根据一些实施例,一种用于在区块链网络中删除节点的系统,在区块链网络的第一共识节点中实施,并且包括一个或多个处理器以及耦接至一个或多个处理器并且其上存储有指令的一个或多个计算机可读存储器,所述所述指令可由一个或多个处理器执行以施行包括以下的操作:获得包括用于删除区块链网络中的第二共识节点的请求的交易;响应于对交易的共识验证成功,执行交易并在节点列表中对区块链网络中除第二共识节点外的多个剩余共识节点顺序编号;以及施行视图改变以使剩余共识节点参与未来的共识验证。根据其他实施例,一种非暂态计算机可读存储介质,在区块链网络的第一共识节点中实施,并且被配置有可由一个或多个处理器执行以使得一个或多个处理器施行包括以下操作的指令:获得包括用于删除区块链网络中的第二共识节点的请求的交易;响应于对交易的共识验证成功,执行交易并在节点列表中对区块链网络中除第二共识节点外的多个剩余共识节点顺序编号;并施行视图改变以使剩余共识节点参与未来的共识验证。根据又一其他实施例,一种用于在区块链网络中删除节点的装置,在区块链网络的第一共识节点中实施,并且包括:获得模块,获得包括用于删除区块链网络中的第二共识节点的请求的交易;执行模块,响应于对交易的共识验证成功,执行交易并在节点列表中对区块链网络中除第二共识节点外的多个剩余共识节点顺序编号;以及施行模块,施行视图改变以使剩余共识节点参与未来的共识验证。本文公开的实施例具有一种或多种技术效果。在一些实施例中,在区块链网络中删除节点移除了恶意或故障(例如,异常、离线)节点。故障状态可能是由例如配置错误、机器故障、网络故障、软件故障等导致的。因此,在区块链网络中删除节点可提高区块链网络的鲁棒性和可靠性。在一些实施例中,通过动态地执行用于删除节点的交易,可以在不中断区块链网络运行的情况下删除节点。在一个实施例中,在节点删除处理期间避免了系统停机时间,并且区块链网络维持其正常运行。在一些实施例中,通过视图改变,区块链网络的剩余共识节点(除删除的节点外)均获得包括剩余共识节点编号的相同的节点列表拷贝。因此,剩余节点可以继续执行共识验证并维护区块链。本文公开的系统、方法和非暂态计算机可读介质的这些和其他特征,以及结构的相关元件的功能和操作方法以及零件的组合及制造的经济性,在参考附图考虑以下描述和所附权利要求时将变得更加明显,所有这些附图、描述和权利要求均形成本文的一部分,其中,相似的附图标记指代各个附图中的相应部分。然而,应明确地理解,附图仅是出于说明和描述的目的,而并非旨在进行限制。附图说明图1示出了根据各种实施例的用于创建区块链合约的图。图2示出了根据各种实施例的用于调用区块链合约的图。图3示出了根据各种实施例的用于创建和调用区块链合约的图。图4示出了用于实用拜占庭容错(PBFT)算法的流程图。图5示出了用于在执行PBFT算法的视图改变之后进行恢复的流程图。图6示出了用于执行PBFT算法的视图改变的流程图。图7示出了根据各种实施例的用于在区块链网络中删除节点的流程图。...
【技术保护点】
1.一种计算机实现的用于在区块链网络中删除节点的方法,包括:/n所述区块链网络的第一共识节点获得包括用于删除所述区块链网络中的第二共识节点的请求的交易;/n响应于对所述交易的共识验证成功,执行所述交易并在节点列表中对所述区块链网络中除所述第二共识节点外的多个剩余共识节点顺序编号;以及/n施行视图改变以使所述剩余共识节点参与未来的共识验证。/n
【技术特征摘要】
【国外来华专利技术】20190905 CN 20191083873351.一种计算机实现的用于在区块链网络中删除节点的方法,包括:
所述区块链网络的第一共识节点获得包括用于删除所述区块链网络中的第二共识节点的请求的交易;
响应于对所述交易的共识验证成功,执行所述交易并在节点列表中对所述区块链网络中除所述第二共识节点外的多个剩余共识节点顺序编号;以及
施行视图改变以使所述剩余共识节点参与未来的共识验证。
2.根据权利要求1所述的方法,其中,所述交易被配置为调用部署在由所述区块链网络维护的区块链中的区块链合约。
3.根据权利要求2所述的方法,其中,所述区块链合约包括创始合约或系统合约。
4.根据权利要求1-3中任一项所述的方法,其中,所述第一共识节点获得所述交易,包括:
从客户端设备或控制器的命令控制台获得所述交易。
5.根据权利要求1-4中任一项所述的方法,其中:
所述第一共识节点在本地维护所述节点列表,所述节点列表包括以下一项或多项:共识节点标识、共识节点IP地址和共识节点端口号;以及
在节点列表中对所述区块链网络中除所述第二共识节点外的多个剩余共识节点顺序编号之前,在所述节点列表中对所述区块链网络中包括所述第二共识节点的所有共识节点顺序编号。
6.根据权利要求1-5中任一项所述的方法,其中,所述节点列表处于由所述区块链网络维护的区块链的世界状态。
7.根据权利要求1-6中任一项所述的方法,其中,执行所述交易包括:
从所述节点列表中删除所述第二共识节点;或者
在所述节点列表中将所述第二共识节点配置为未激活状态。
8.根据权利要求1-7...
【专利技术属性】
技术研发人员:谢桂鲁,夏凝,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛;KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。