智能合约升级方法、系统和相关设备以及存储介质技术方案

技术编号:19549011 阅读:35 留言:0更新日期:2018-11-24 21:31
本发明专利技术公开了一种智能合约升级方法、系统和相关设备以及存储介质,涉及区块链技术领域。智能合约升级方法包括:区块链节点向智能合约发布中心发送升级请求;区块链节点接收智能合约发布中心返回的包括加密数据的升级应答,其中,加密数据包括目标版本的智能合约数据;区块链节点对升级应答中的数据进行验证;响应于验证通过,区块链节点采用目标版本的智能合约数据进行升级。通过本发明专利技术的实施例,区块链节点可以通过向智能合约发布中心发送升级请求获得目标版本的智能合约数据并进行验证、升级,从而可以实现智能合约的安全的、自动化升级,提高了智能合约升级的效率和安全性。

Intelligent contract upgrade methods, systems and related equipment and storage media

The invention discloses an intelligent contract upgrade method, system, related equipment and storage medium, which relates to the technical field of block chain. Intelligent contract upgrade methods include: block chain node sends upgrade request to intelligent contract publishing center; block chain node receives upgrade response including encrypted data returned by intelligent contract publishing center, in which encrypted data includes target version of intelligent contract data; block chain node sends upgrade request to intelligent contract publishing center; block chain node receives data in upgrade response. Validation; In response to the validation, the block chain node upgrades with the target version of intelligent contract data. According to the embodiment of the present invention, the block chain node can obtain the target version of the intelligent contract data by sending an upgrade request to the intelligent contract publishing center, verify and upgrade it, thereby realizing the safe and automatic upgrade of the intelligent contract, and improving the efficiency and security of the intelligent contract upgrade.

【技术实现步骤摘要】
智能合约升级方法、系统和相关设备以及存储介质
本专利技术涉及区块链
,特别涉及一种智能合约升级方法、系统和相关设备以及存储介质。
技术介绍
由于区块链本身具有防篡改和可追溯等特点,区块链技术被越来越多地应用于数据存储中。智能合约是一种存储在区块链节点的可执行的代码,该代码指定了智能合约的执行过程和处理逻辑,例如输入、输出、中间转换逻辑等等。专利技术人进行分析后发现,随着智能合约的处理逻辑的优化,在使用过程中不可避免地需要对智能合约进行升级。目前,主要采用人工升级的方式进行智能合约的升级。
技术实现思路
专利技术人经过分析后发现,智能合约的升级不仅涉及一个区块链本地节点的升级,而且涉及到系统中所有区块链节点的统一升级过程,因此升级的工作量很大。并且,升级过程中可能涉及人为干预等操作。因此,人工升级的方式效率较低、安全性较差。本专利技术实施例所要解决的一个技术问题是:如何提高智能合约升级的效率和安全性。根据本专利技术一些实施例的第一个方面,提供一种智能合约升级方法,包括:区块链节点向智能合约发布中心发送升级请求;区块链节点接收智能合约发布中心返回的包括加密数据的升级应答,其中,加密数据包括目标版本的智能合约数据;区块链节点对升级应答中的数据进行验证;响应于验证通过,区块链节点采用目标版本的智能合约数据进行升级。在一些实施例中,升级请求中包括区块链节点的当前智能合约的版本信息,升级应答是智能合约发布中心响应于当前智能合约的版本低于目标版本而返回的。在一些实施例中,区块链节点定时向智能合约发布中心发送升级请求。在一些实施例中,加密数据是采用智能合约对应的私钥加密的;区块链节点采用智能合约对应的公钥对升级应答中的数据进行验证。在一些实施例中,加密数据包括对目标版本的智能合约数据、目标版本的智能合约数据的摘要信息进行加密后的数据,升级应答还包括加密数据的签名;区块链节点对升级应答中的数据进行验证包括:区块链节点采用区块链节点的当前智能合约对应的公钥对升级应答中的签名进行验证;响应于对签名的验证通过,区块链节点采用公钥解密加密数据,获得目标版本的智能合约数据、第一摘要信息;区块链节点计算获得的目标版本的智能合约数据的第二摘要信息;响应于第一摘要信息和第二摘要信息一致,区块链节点判断验证通过。在一些实施例中,智能合约升级方法还包括:区块链节点将升级信息存储在区块链中,其中,升级信息包括区块链节点的升级后的智能合约的版本信息。在一些实施例中,智能合约升级方法还包括:区块链节点读取区块链中的最新的升级信息,其中,升级信息包括智能合约的版本信息,以便区块链节点在区块链节点的当前智能合约的版本小于升级信息中的版本信息的情况下,向智能合约发布中心发送升级请求。根据本专利技术一些实施例的第二个方面,提供一种智能合约升级方法,包括:智能合约发布中心接收区块链节点发送的升级请求;智能合约发布中心生成包括加密数据的升级应答,其中,加密数据包括目标版本的智能合约数据;智能合约发布中心向区块链节点返回包括加密数据的升级应答,以便区块链节点对升级应答中的数据进行验证,并响应于验证通过,采用目标版本的智能合约数据进行升级。在一些实施例中,加密数据是采用智能合约对应的私钥加密的,以便区块链节点采用智能合约对应的公钥对升级应答中的数据进行验证。在一些实施例中,智能合约发布中心生成包括加密数据的升级应答包括:智能合约发布中心查询智能合约的目标版本;智能合约发布中心采用智能合约对应的私钥对目标版本的智能合约数据、目标版本的智能合约数据的摘要信息进行加密,生成加密数据;智能合约发布中心利用智能合约对应的私钥对加密数据进行签名;智能合约发布中心生成包括加密数据和签名的升级应答。根据本专利技术一些实施例的第三个方面,提供一种区块链节点,包括:升级请求发送模块,被配置为向智能合约发布中心发送升级请求;升级应答接收模块,被配置为接收智能合约发布中心返回的包括加密数据的升级应答,其中,加密数据包括目标版本的智能合约数据;数据验证模块,被配置为对升级应答中的数据进行验证;升级模块,被配置为响应于验证通过,采用目标版本的智能合约数据进行升级。在一些实施例中,升级请求中包括区块链节点的当前智能合约的版本信息,升级应答是智能合约发布中心响应于当前智能合约的版本低于目标版本而返回的。在一些实施例中,升级请求发送模块进一步被配置为定时向智能合约发布中心发送升级请求。在一些实施例中,加密数据是采用智能合约对应的私钥加密的;数据验证模块进一步被配置为采用智能合约对应的公钥对升级应答中的数据进行验证。在一些实施例中,加密数据包括对目标版本的智能合约数据、目标版本的智能合约数据的摘要信息进行加密后的数据,升级应答还包括加密数据的签名;数据验证模块进一步被配置为采用区块链节点的当前智能合约对应的公钥对升级应答中的签名进行验证;响应于对签名的验证通过,采用公钥解密加密数据,获得目标版本的智能合约数据、第一摘要信息;计算获得的目标版本的智能合约数据的第二摘要信息;响应于第一摘要信息和第二摘要信息一致,判断验证通过。在一些实施例中,区块链节点还包括:信息存储模块,被配置为将升级信息存储在区块链中,其中,升级信息包括区块链节点的升级后的智能合约的版本信息。在一些实施例中,区块链节点还包括:信息读取模块,被配置为读取区块链中的最新的升级信息,其中,升级信息包括智能合约的版本信息;升级请求发送模块进一步被配置为区块链节点在区块链节点的当前智能合约的版本小于升级信息中的版本信息的情况下,向智能合约发布中心发送升级请求。根据本专利技术一些实施例的第四个方面,提供一种智能合约发布中心,包括:升级请求接收模块,被配置为接收区块链节点发送的升级请求;升级应答生成模块,被配置为生成包括加密数据的升级应答,其中,加密数据包括目标版本的智能合约数据;升级应答返回模块,被配置为向区块链节点返回包括加密数据的升级应答,以便区块链节点对升级应答中的数据进行验证,并响应于验证通过,采用目标版本的智能合约数据进行升级。在一些实施例中,加密数据是采用智能合约对应的私钥加密的,以便区块链节点采用智能合约对应的公钥对升级应答中的数据进行验证。在一些实施例中,升级应答生成模块进一步被配置为查询智能合约的目标版本;采用智能合约对应的私钥对目标版本的智能合约数据、目标版本的智能合约数据的摘要信息进行加密,生成加密数据;利用智能合约对应的私钥对加密数据进行签名;生成包括加密数据和签名的升级应答。根据本专利技术一些实施例的第五个方面,提供一种智能合约升级系统,包括:前述任意一种区块链节点;以及前述任意一种智能合约发布中心。根据本专利技术一些实施例的第六个方面,提供一种区块链节点,包括:存储器;以及耦接至所述存储器的处理器,处理器被配置为基于存储在所述存储器中的指令,执行前述任意一种智能合约升级方法。根据本专利技术一些实施例的第七个方面,提供一种智能合约发布中心,包括:存储器;以及耦接至所述存储器的处理器,处理器被配置为基于存储在所述存储器中的指令,执行前述任意一种智能合约升级方法。根据本专利技术一些实施例的第八个方面,提供一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现前述任意一种智能合约升级方法。上述专利技术中的一些实施例具有如下优点或有益效本文档来自技高网...

【技术保护点】
1.一种智能合约升级方法,包括:区块链节点向智能合约发布中心发送升级请求;区块链节点接收智能合约发布中心返回的包括加密数据的升级应答,其中,所述加密数据包括目标版本的智能合约数据;区块链节点对所述升级应答中的数据进行验证;响应于验证通过,区块链节点采用所述目标版本的智能合约数据进行升级。

【技术特征摘要】
1.一种智能合约升级方法,包括:区块链节点向智能合约发布中心发送升级请求;区块链节点接收智能合约发布中心返回的包括加密数据的升级应答,其中,所述加密数据包括目标版本的智能合约数据;区块链节点对所述升级应答中的数据进行验证;响应于验证通过,区块链节点采用所述目标版本的智能合约数据进行升级。2.根据权利要求1所述的智能合约升级方法,其中,所述升级请求中包括所述区块链节点的当前智能合约的版本信息,所述升级应答是智能合约发布中心响应于所述当前智能合约的版本低于目标版本而返回的。3.根据权利要求1或2所述的智能合约升级方法,其中,区块链节点定时向智能合约发布中心发送升级请求。4.根据权利要求1所述的智能合约升级方法,其中,所述加密数据是采用智能合约对应的私钥加密的;区块链节点采用所述智能合约对应的公钥对所述升级应答中的数据进行验证。5.根据权利要求4所述的智能合约升级方法,其中,所述加密数据包括对目标版本的智能合约数据、所述目标版本的智能合约数据的摘要信息进行加密后的数据,所述升级应答还包括所述加密数据的签名;所述区块链节点对所述升级应答中的数据进行验证包括:区块链节点采用所述区块链节点的当前智能合约对应的公钥对升级应答中的签名进行验证;响应于对所述签名的验证通过,区块链节点采用所述公钥解密所述加密数据,获得目标版本的智能合约数据、第一摘要信息;区块链节点计算获得的目标版本的智能合约数据的第二摘要信息;响应于第一摘要信息和第二摘要信息一致,所述区块链节点判断验证通过。6.根据权利要求1所述的智能合约升级方法,还包括:区块链节点将升级信息存储在区块链中,其中,所述升级信息包括所述区块链节点的升级后的智能合约的版本信息。7.根据权利要求6所述的智能合约升级方法,还包括:区块链节点读取区块链中的最新的升级信息,其中,所述升级信息包括智能合约的版本信息,以便区块链节点在所述区块链节点的当前智能合约的版本小于所述升级信息中的版本信息的情况下,向智能合约发布中心发送升级请求。8.一种智能合约升级方法,包括:智能合约发布中心接收区块链节点发送的升级请求;智能合约发布中心生成包括加密数据的升级应答,其中,所述加密数据包括目标版本的智能合约数据;智能合约发布中心向区块链节点返回包括加密数据的升级应答,以便区块链节点对所述升级应答中的数据进行验证,并响应于验证通过,采用所述目标版本的智能合约数据进行升级。9.根据权利要求8所述的智能合约升级方法,其中,所述加密数据是采用智能合约对应的私钥加密的,以便区块链节点采用所述智能合约对应的公钥对所述升级应答中的数据进行验证。10.根据权利要求9所述的智能合约升级方法,其中,所述智能合约发布中心生成包括加密数据的升级应答包括:智能合约发布中心查询智能合约的目标版本;智能合约发布中心采用智能合约对应的私钥对目标版本的智能合约数据、目标版本的智能合约数据的摘要信息进行加密,生成加密数据;智能合约发布中心利用智能合约对应的私钥对加密数据进行签名;智能合约发布中心生成包括加密数据和签名的升级应答。11.一种区块链节点,包括:升级请求发送模块,被配置为向智能合约发布中心发送升级请求;升级应答接收模块,被配置为接收智能合约发布中心返回的包括加密数据的升级应答,其中,所述加密数据包括目标版本的智能合约数据;数据验证模块,被配置为对所述升级应答中的数据进行验证;升级模块,被配置为响应于验证通过,采用所述目标版本...

【专利技术属性】
技术研发人员:邵珠光孙海波张伟李宏旭
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

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

1