本说明书提供一种节点更新方法及装置。该方法应用于包括区块链网络和管理子系统的区块链系统,所述区块链网络包含参与共识的共识节点和不参与共识的只读节点,所述区块链网络的系统合约的合约状态中记录有所述共识节点和所述只读节点的类型信息,任一节点的类型信息用于表征该节点是共识节点或只读节点,所述方法包括:所述管理子系统在确定任一共识节点无法参与共识的情况下,从所述只读节点中选取目标只读节点;所述管理子系统向所述区块链网络发起针对所述目标只读节点的第一更新交易;所述区块链网络中的任一节点在执行第一更新交易时,通过调用所述系统合约修改所述目标只读节点的类型信息,以将所述目标只读节点更新为共识节点。为共识节点。为共识节点。
【技术实现步骤摘要】
节点更新方法及装置
[0001]本说明书实施例属于区块链
,尤其涉及一种节点更新方法及装置。
技术介绍
[0002]区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。用户可以通过区块链节点参与实现区块链的相关事务,例如,区块链系统中分别对应不同用户的多个区块链节点,可以基于同态加密、零知识证明等隐私技术针对某一节点的私有数据进行安全多方计算(Secure Multi
‑
Party Computation,SMPC)。
[0003]区块链网络中通常包含参与共识的共识节点,这类节点通过其构成的共识网络可以相互配合完成针对区块或消息的共识过程。上述共识节点可能出现故障而导致其无法参与共识。在相关技术中,当某一共识节点出现故障时,通常由管理人员在共识网络中删除该节点,然后将一全新节点添加至共识网络作为共识节点。但该方式工作量大且耗时较长,使得区块链网络在较长一段时间内无法容忍任何共识节点发生错误,即无法快速恢复共识网络的容错能力,不利于区块链网络的稳定、高效运行。
技术实现思路
[0004]本专利技术的目的在于提供一种节点更新方法及装置。
[0005]根据本说明书一个或多个实施例的第一方面,提出了一种节点更新方法,应用于区块链系统,所述区块链系统包括区块链网络和管理子系统,所述区块链网络包含参与共识的共识节点和不参与共识的只读节点,所述区块链网络的系统合约的合约状态中记录有所述共识节点和所述只读节点的类型信息,任一节点的类型信息用于表征该节点是共识节点或只读节点,所述方法包括:
[0006]所述管理子系统在确定任一共识节点无法参与共识的情况下,从所述只读节点中选取目标只读节点;
[0007]所述管理子系统向所述区块链网络发起针对所述目标只读节点的第一更新交易;
[0008]所述区块链网络中的任一节点在执行第一更新交易时,通过调用所述系统合约修改所述目标只读节点的类型信息,以将所述目标只读节点更新为共识节点。
[0009]根据本说明书一个或多个实施例的第二方面,提出了一种节点更新方法,应用于区块链系统中的管理子系统,所述区块链系统还包括区块链网络,所述区块链网络包含参与共识的共识节点和不参与共识的只读节点,所述区块链网络的系统合约的合约状态中记录有所述共识节点和所述只读节点的类型信息,任一节点的类型信息用于表征该节点是共识节点或只读节点,所述方法包括:
[0010]在确定任一共识节点无法参与共识的情况下,从所述只读节点中选取目标只读节点;
[0011]向所述区块链网络发起针对所述目标只读节点的第一更新交易,第一更新交易在被所述区块链网络中的任一节点执行时,用于触发所述任一节点调用所述系统合约修改所述目标只读节点的类型信息,以将所述目标只读节点更新为共识节点。
[0012]根据本说明书一个或多个实施例的第三方面,提出了一种节点更新装置,应用于区块链系统,所述区块链系统包括区块链网络和管理子系统,所述区块链网络包含参与共识的共识节点和不参与共识的只读节点,所述区块链网络的系统合约的合约状态中记录有所述共识节点和所述只读节点的类型信息,任一节点的类型信息用于表征该节点是共识节点或只读节点,所述装置包括:
[0013]节点选取单元,用于使所述管理子系统在确定任一共识节点无法参与共识的情况下,从所述只读节点中选取目标只读节点;
[0014]第一发起单元,用于使所述管理子系统向所述区块链网络发起针对所述目标只读节点的第一更新交易;
[0015]第一更新单元,用于使所述区块链网络中的任一节点在执行第一更新交易时,通过调用所述系统合约修改所述目标只读节点的类型信息,以将所述目标只读节点更新为共识节点。
[0016]根据本说明书一个或多个实施例的第四方面,提出了一种节点更新装置,应用于区块链系统中的管理子系统,所述区块链系统还包括区块链网络,所述区块链网络包含参与共识的共识节点和不参与共识的只读节点,所述区块链网络的系统合约的合约状态中记录有所述共识节点和所述只读节点的类型信息,任一节点的类型信息用于表征该节点是共识节点或只读节点,所述装置包括:
[0017]节点选取单元,用于使在确定任一共识节点无法参与共识的情况下,从所述只读节点中选取目标只读节点;
[0018]第一发起单元,用于使向所述区块链网络发起针对所述目标只读节点的第一更新交易,第一更新交易在被所述区块链网络中的任一节点执行时,用于触发所述任一节点调用所述系统合约修改所述目标只读节点的类型信息,以将所述目标只读节点更新为共识节点。
[0019]根据本说明书一个或多个实施例的第五方面,提出了一种电子设备,包括:
[0020]处理器;
[0021]用于存储处理器可执行指令的存储器;
[0022]其中,所述处理器通过运行所述可执行指令以实现如第一方面或第二方面中任一项所述的方法。
[0023]根据本说明书一个或多个实施例的第六方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面或第二方面中任一项所述方法的步骤。
[0024]在本说明书实施例中,所述区块链系统中的管理子系统在确定任一共识节点无法参与共识的情况下,从所述只读节点中选取目标只读节点,然后向所述区块链网络发起针对所述目标只读节点的第一更新。所述区块链网络中的任一节点在执行第一更新交易时,通过调用所述系统合约修改所述目标只读节点的类型信息,以将所述目标只读节点更新为共识节点。
[0025]可以理解的是,由于区块链网络的系统合约的合约状态中记录有所述共识节点和所述只读节点的类型信息,而所述合约状态由区块链网络中的各个节点分别维护,所以目标只读节点的类型信息也被各个节点分别维护在所述系统合约的合约状态中。对于管理子系统发起的第一更新交易,区块链网络中的任一节点在执行该交易的过程中可以修改自身维护的目标只读节点的类型信息,该交易可以被区块链网络中的各个节点分别执行,所以各个节点可以分别修改自身维护的目标只读节点的类型信息。可见,在区块链网络中足够数量的节点执行第一更新交易完毕后,即可在区块链网络层面将所述目标只读节点更新为共识节点,实现了目标只读节点对所述任一共识节点的替换。可见,相对于删除节点再加入新节点的过程而言,该方案仅需要执行调用系统合约的交易即可实现新旧节点的替换,替换过程简单高效,能够快速恢复共识网络的容错能力,从而提升区块链网络的稳定性。
附图说明
[0026]为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[00本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种节点更新方法,应用于区块链系统,所述区块链系统包括区块链网络和管理子系统,所述区块链网络包含参与共识的共识节点和不参与共识的只读节点,所述区块链网络的系统合约的合约状态中记录有所述共识节点和所述只读节点的类型信息,任一节点的类型信息用于表征该节点是共识节点或只读节点,所述方法包括:所述管理子系统在确定任一共识节点无法参与共识的情况下,从所述只读节点中选取目标只读节点;所述管理子系统向所述区块链网络发起针对所述目标只读节点的第一更新交易;所述区块链网络中的任一节点在执行第一更新交易时,通过调用所述系统合约修改所述目标只读节点的类型信息,以将所述目标只读节点更新为共识节点。2.根据权利要求1所述的方法,还包括:所述任一节点在执行第一更新交易时,通过调用所述系统合约修改所述任一共识节点的类型信息,以将所述任一共识节点更新为只读节点。3.根据权利要求1所述的方法,所述任一节点通过调用所述系统合约修改所述目标只读节点的类型信息,包括:所述任一节点调用所述系统合约,以在自身维护的所述系统合约的合约状态中确定所述目标只读节点的类型信息;所述任一节点将确定出的所述类型信息中的只读标识修改为共识标识,其中,所述只读标识用于表征所述目标只读节点为只读节点,所述共识标识用于表征所述目标只读节点为共识节点。4.根据权利要求1所述的方法,还包括:所述目标只读节点在被更新为共识节点之后从其他共识节点处同步增量数据,所述增量数据为其他共识节点保存且所述目标只读节点未保存的数据。5.根据权利要求1所述的方法,所述管理子系统确定任一共识节点无法参与共识,包括:所述管理子系统在监听到针对任一共识节点的共识停止指令或者故障通知消息的情况下,确定所述任一共识节点无法参与共识;或者,在所述共识节点超出预设时长仍未共识出新的区块的情况下,所述管理子系统根据各个共识节点的工作状态确定无法参与共识的所述任一共识节点。6.根据权利要求1所述的方法,所述管理子系统从所述只读节点中选取目标只读节点,包括:所述管理子系统在当前时刻能够参与共识的共识节点的数量为所述区块链网络的最小共识节点数量的情况下,从所述只读节点中选取目标只读节点;或者,所述管理子系统发起的第一更新交易为不需要共识的交易。7.根据权利要求1所述的方法,所述任一共识节点因自身故障导致其无法参与共识,所述方法还包括:所述管理子系统在确定所述任一共识节点故障已恢复的情况下,向所述区块链网络发起针对所述任一共识节点的第二更新交易;所述区块链网络中的任一节点在执行第二更新交易时,通过调用所述系统合约修改所述任一共识节点的类型信息,以将所述任一共识节点更新为只读节点。
8.一种节点更新方法,应用于区块链系统中的管理子系统,所述区块链系统还包括区块链网络,所述区块链网络包含参与共识的共识节点和不参与共识的只读节点,所述区块...
【专利技术属性】
技术研发人员:陈盛龙,杨达一,
申请(专利权)人:蚂蚁区块链科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。