算法变更方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:35560832 阅读:12 留言:0更新日期:2022-11-12 15:43
本申请涉及一种算法变更方法、装置、计算机设备和存储介质。所述方法包括:客户端节点将算法变更请求以交易的形式发送给目标节点,目标节点为区块链网络中任意一个共识节点,目标节点将接收到的算法变更交易打包成共识交易转发给区块链网络中候选节点,即除目标节点以外的其他共识节点,令区块链网络中各个共识节点均执行算法变更交易,将各个共识节点的当前使用算法由配置算法变更为目标算法,从而实现对区块链网络进行哈希算法的变更,将算法变更以执行交易的形式来实现,无需对区块链网络的程序代码进行修改,因此无需暂停运行区块链网络也可实现哈希算法的动态变更,避免影响区块链网络的正常运行。块链网络的正常运行。块链网络的正常运行。

【技术实现步骤摘要】
算法变更方法、装置、计算机设备及存储介质


[0001]本申请涉及区块链网络
,尤其涉及一种算法变更方法、装置、计算机设备和存储介质。

技术介绍

[0002]区块链网络目前所需要使用到哈希算法的场景主要有:交易哈希、回执哈希、merkle树计算、区块哈希、交易签名哈希等,因此可以说区块链网络与哈希算法有着密不可分的联系,由于不同的用户在访问区块链网络时需要不同的哈希算法参与计算,但对区块链网络来说,替换哈希算法是一个非常复杂且工作量很大的工程,每次需要替换不同哈希算法都需要对区块链网络中关于哈希算法的代码进行相应的改造,即变更哈希算法相当于更新程序代码,因此无法在区块链网络处于运行过程中进行哈希算法的动态替换,需要在区块链网络暂停运行时进行代码修改以实现哈希算法的替换,但该方式将会影响区块链网络的正常运行。

技术实现思路

[0003]本申请提供了一种算法变更方法、装置、计算机设备和存储介质。
[0004]第一方面,本申请提供了一种算法变更方法,包括:
[0005]在接收到客户端节点发送的算法变更交易时,将所述算法变更交易打包成共识交易并转发给候选节点,其中,所述算法变更交易包括目标算法,所述算法变更交易用于将目标节点的当前使用算法配置为所述目标算法,所述目标算法为所述区块链网络支持的任意一种哈希算法,所述目标节点为区块链网络中任意一个共识节点,所述候选节点为所述区块链网络中除所述目标节点以外的共识节点,所述候选节点在接收到所述共识交易后执行所述共识交易中的所述算法变更交易;
>[0006]执行所述算法变更交易,将所述目标节点的当前使用算法由配置算法变更为所述目标算法。
[0007]第二方面,本申请提供了一种算法变更装置,包括:
[0008]广播模块,用于在接收到客户端节点发送的算法变更交易时,将所述算法变更交易打包成共识交易并转发给候选节点,其中,所述算法变更交易包括目标算法,所述算法变更交易用于将目标节点的当前使用算法配置为所述目标算法,所述目标算法为所述区块链网络支持的任意一种哈希算法,所述目标节点为区块链网络中任意一个共识节点,所述候选节点为所述区块链网络中除所述目标节点以外的共识节点,所述候选节点在接收到所述共识交易后执行所述共识交易中的所述算法变更交易;
[0009]变更模块,用于执行所述算法变更交易,将所述目标节点的当前使用算法由配置算法变更为所述目标算法。
[0010]第三方面,本申请提供了一种计算机设备,包括:处理器、通信组件、存储器和通信总线,其中,处理器、通信组件和存储器通过通信总线完成相互间的通信;所述存储器,用于
存储计算机程序;所述处理器,用于执行所述存储器中所存储的程序,实现第一方面所述的算法变更方法。
[0011]第四方面,本申请提供了一种计算机可读存储介质,存储有计算机程序,实现第一方面所述算法变更方法。
[0012]本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的该方法,客户端节点将算法变更请求以交易的形式发送给目标节点,目标节点为区块链网络中任意一个共识节点,目标节点将接收到的算法变更交易打包成共识交易转发给区块链网络中候选节点,即除目标节点以外的其他共识节点,令区块链网络中各个共识节点均执行算法变更交易,将各个共识节点的当前使用算法由配置算法变更为目标算法,从而实现对区块链网络进行哈希算法的变更,将算法变更以执行交易的形式来实现,无需对区块链网络的程序代码进行修改,因此无需暂停运行区块链网络也可实现哈希算法的动态变更,避免影响区块链网络的正常运行。
附图说明
[0013]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术的原理。
[0014]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0015]图1为本申请实施例中基于区块链的查询系统结构示意图;
[0016]图2为本申请实施例中区块链结构示意图;
[0017]图3为本申请实施例中基于区块链的查询方法流程示意图;
[0018]图4为本申请实施例中基于区块链的查询方法具体流程示意图;
[0019]图5为本申请实施例中基于区块链的查询装置结构示意图;
[0020]图6为本申请实施例中计算机设备结构示意图。
具体实施方式
[0021]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0022]在以下的描述中,涉及到“一个具体实施例”,其描述了所有可能实施例的子集,但是可以理解,“一个具体实施例”,其描述了所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
[0023]除非另有定义,本文所使用的所有的技术的科学技术与属于本专利技术的
的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本专利技术实施例的目的,不是旨在限制本专利技术。
[0024]在对本专利技术实施例进行进一步详细说明之前,对本专利技术实施例中涉及的名词和术语进行说明,本专利技术实施例中涉及的名词和术语适用于如下的解释。
[0025](1)交易(Transaction),等同于计算机术语“事务”,交易包括了需要提交到区块链网络执行的操作,并非单指商业语境中的交易,鉴于在区块链技术中约定俗称地使用了“交易”这一术语,本专利技术实施例遵循了这一习惯。
[0026]例如,部署(Deploy)交易用于向区块链网络中的结点安装指定的智能合约并准备好被调用;调用(Invoke)交易用于通过调用智能合约在区块链中追加交易的记录,并对区块链的状态数据库进行操作,包括更新操作(包括增加、删除和修改状态数据库中的键值对)和查询操作(即查询状态数据库中的键值对)。
[0027](2)区块链(Blockchain),是由区块(Block)形成的加密的、链式的交易的存储结构。
[0028](3)区块链网络(Blockchain Network),通过共识的方式将新区块纳入区块链的一系列的共识节点的集合。
[0029](4)账本(Ledger),是区块链(也称为账本数据)和与区块链同步的状态数据库的统称。其中,区块链是以文件系统中的文件的形式来记录交易;状态数据库是以不同类型的键(Key)值(Value)对的形式来记录区块链中的交易,用于支持区块链中交易的快速查询。
[0030](5)智能合约(Smart Contracts),也称为链码(Chaincode)或应用本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种算法变更方法,其特征在于,应用于共识节点,包括:在接收到客户端节点发送的算法变更交易时,将所述算法变更交易打包成共识交易并转发给候选节点,其中,所述算法变更交易包括目标算法,所述算法变更交易用于将目标节点的当前使用算法配置为所述目标算法,所述目标算法为区块链网络支持的任意一种哈希算法,所述目标节点为区块链网络中任意一个共识节点,所述候选节点为所述区块链网络中除所述目标节点以外的共识节点,所述候选节点在接收到所述共识交易后执行所述共识交易中的所述算法变更交易;执行所述算法变更交易,将所述目标节点的当前使用算法由配置算法变更为所述目标算法。2.根据权利要求1所述的方法,其特征在于,所述执行所述算法变更交易,将所述目标节点的当前使用算法由配置算法变更为所述目标算法,包括:在执行所述算法变更交易时,调用所述目标节点中的监测函数监听所述目标节点中账本缓存的写入内容;将所述算法变更交易中所述目标算法相应的第一标识值写入所述账本缓存中;在所述监测函数监听到所述写入内容包含所述第一标识值时,获取所述配置算法对应的第二标识值;在所述第一标识值与所述第二标识值匹配失败时,将所述目标节点的当前使用算法相应标识值由所述第二标识值变更为所述第一标识值。3.根据权利要求2所述的方法,其特征在于,所述在所述第一标识值与所述第二标识值匹配失败时,将所述目标节点的当前使用算法相应标识值由所述第二标识值替换为所述第一标识值,包括:在所述第一标识值与所述第二标识值匹配失败时,调用所述目标节点中的唤醒函数,并将所述第一标识值发送至所述唤醒函数;在所述唤醒函数处于调用状态时,调用所述目标节点的回调函数,并将所述第一标识值发送至所述回调函数;在所述回调函数处于调用状态时,调用所述目标节点的哈希变更算法;基于所述哈希变更算法,将所述目标节点的当前使用算法相应标识值由所述第二标识值变更为所述第一标识值。4.根据权利要求3所述的方法,其特征在于,所述基于所述哈希变更算法,将所述目标节点的当前使用算法相应标识值由所述第二标识值变更为所述第一标识值之后,所述方法还包括:在所述目标节点中产生新增区块时,将所述目标算法配置为所述新增区块的当前使用算法。5.根据权利要求3所述的方法,其特征在于,所述基于所述哈希变更算法,将所述目标节点的当前使用算法相应标识值由所述第二标识值变更为所述第一标识值之后,所述方法还包括:生成相应的变更标识;将所述变...

【专利技术属性】
技术研发人员:张珂杰邱炜伟鲁校冉黄方蕾尚璇
申请(专利权)人:杭州趣链科技有限公司
类型:发明
国别省市:

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

1