区块链中智能合约更改方法、装置、电子设备及存储介质制造方法及图纸

技术编号:36809853 阅读:16 留言:0更新日期:2023-03-09 00:38
本公开提供一种区块链中智能合约更改方法、装置、电子设备及存储介质,该方法包括:响应于更改智能合约的更改请求,判断发送所述更改智能合约的更改请求的用户地址是否具有更改所述智能合约的权限;响应于确定所述用户地址具有所述更改所述智能合约的权限,对所述更改智能合约的更改请求进行校验;响应于确定所述更改智能合约的更改请求通过校验,根据所述更改智能合约的更改请求更改所述智能合约。在本公开中,智能合约可以被具有权限的用户地址更改,在实现了智能合约可更改的同时,还保证了一定的安全性。了一定的安全性。了一定的安全性。

【技术实现步骤摘要】
区块链中智能合约更改方法、装置、电子设备及存储介质


[0001]本公开涉及区块链
,尤其涉及一种区块链中智能合约更改方法、装置、电子设备及存储介质。

技术介绍

[0002]本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
[0003]智能合约是区块链的核心技术之一,智能合约代码被部署到区块链后,智能合约代码就永不可被修改,以保证区块链上数据的不可篡改特性。
[0004]然而,在开发和使用智能合约的过程中,通常会存在出现bug或者发生业务的变更,导致智能合约代码需要修改的情况。

技术实现思路

[0005]有鉴于此,本公开的目的在于提出一种区块链中智能合约更改方法、装置、电子设备及存储介质,至少在一定程度上解决相关技术中的技术问题之一。
[0006]基于上述目的,本公开示例性实施例提供了一种区块链中智能合约更改方法,包括:
[0007]响应于更改智能合约的更改请求,判断发送所述更改智能合约的更改请求的用户地址是否具有更改所述智能合约的权限;
[0008]响应于确定所述用户地址具有所述更改所述智能合约的权限,对所述更改智能合约的更改请求进行校验;
[0009]响应于确定所述更改智能合约的更改请求通过校验,根据所述更改智能合约的更改请求更改所述智能合约。
[0010]基于同一专利技术构思,本公开示例性实施例还提供了一种区块链中智能合约更改装置,包括:
[0011]更改权限判断模块,被配置为响应于更改智能合约的更改请求,判断发送所述更改智能合约的更改请求的用户地址是否具有更改所述智能合约的权限;
[0012]更改请求验证模块,被配置为响应于确定所述用户地址具有所述更改所述智能合约的权限,对所述更改智能合约的更改请求进行校验;
[0013]智能合约更改模块,被配置为响应于确定所述更改智能合约的更改请求通过校验,根据所述更改智能合约的更改请求更改所述智能合约。
[0014]基于同一专利技术构思,本公开示例性实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一项所述的方法。
[0015]基于同一专利技术构思,本公开示例性实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行
如上任一所述方法。
[0016]从上面所述可以看出,本公开实施例提供的区块链中智能合约更改方法、装置、电子设备及存储介质,该方法包括:响应于更改智能合约的更改请求,判断发送所述更改智能合约的更改请求的用户地址是否具有更改所述智能合约的权限;响应于确定所述用户地址具有所述更改所述智能合约的权限,对所述更改智能合约的更改请求进行校验;响应于确定所述更改智能合约的更改请求通过校验,根据所述更改智能合约的更改请求更改所述智能合约。在本公开中,智能合约可以被具有权限的用户地址更改,在实现了智能合约可更改的同时,还保证了一定的安全性。
附图说明
[0017]为了更清楚地说明本公开或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018]图1为根据本公开实施例提供的区块链中智能合约更改方法的一种应用场景示意图;
[0019]图2为本公开实施例提供的区块链中智能合约更改方法的一种流程示意图;
[0020]图3为本公开实施例提供的区块链中智能合约更改装置的一种结构示意图;
[0021]图4为本公开实施例提供的电子设备的一种结构的示意图。
具体实施方式
[0022]为使本公开的目的、技术方案和优点更加清楚明白,下面将参考若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0023]根据本公开的实施方式,提出了一种区块链中智能合约更改方法、装置、电子设备及存储介质。
[0024]在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
[0025]下面参考本公开的若干代表性实施方式,详细阐释本公开的原理和精神。
[0026]相关技术中,基于evm以solidity语言开发的的智能合约,由于合约代码部署到区块链后有不可改变的性质,导致部署后只能通过函数增删改查合约中数据的值,当合约的数据结构需要变更时,只能重新部署新的合约,再将旧合约中的数据迁移到新合约中。这种情况下,合约部署到合约账户,合约升级后,旧的合约将被废弃,同时仍然存储在区块链中,浪费了区块链的存储资源,
[0027]为了解决数据迁移的复杂性,衍生出了各种数据和业务逻辑相分离的设计模式,以解决合约数据结构的升级问题,但仍然增加了合约设计的复杂性;solidity语言中自带的delegatecall函数,可以只执行被代理合约的代码,而将被代理合约的数据存储在代理
合约中,但是这种模式在升级新版本数据合约时,要求新版本被代理合约数据结构和旧版本被代理合约的数据结构保持一致,开发者需要了解内存的设计才能确保合约升级的正确性,增加了开发的难度,且每次部署升级的合约后,需要消耗昂贵的gas费用,增加了费用成本。
[0028]为了解决上述问题,本公开提供了一种智能合约的更改方案,具体包括:响应于更改智能合约的更改请求,判断发送所述更改智能合约的更改请求的用户地址是否具有更改所述智能合约的权限;响应于确定所述用户地址具有所述更改所述智能合约的权限,对所述更改智能合约的更改请求进行校验;响应于确定所述更改智能合约的更改请求通过校验,根据所述更改智能合约的更改请求更改所述智能合约。在本公开中,智能合约可以被具有权限的用户地址更改,在实现了智能合约可更改的同时,还保证了一定的安全性。
[0029]进一步的,在一些实施方式中,将新的智能合约覆盖旧的智能合约,可在旧的智能合约的基础上进行字段级别的增加和删除,提高了区块链的存储效率,节省了区块链的存储成本,同时,能够满足多种业务需求,减少了合约升级的复杂度,也节省合约升级时部署新合约的gas费用。
[0030]在介绍了本公开的基本原理之后,下面具体介绍本公开的各种非限制性实施方式。
[0031]参考图1,其为本公开实施例提供的区块链中智能合约更改方法的一种应用场景示意图。该应用场景包括终端设备101和区块链服务器102。其中,终端设备101和区块链服务器102之间可通过有线或无线的通信网络连接。终端设备101包括但不限于桌本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链中智能合约更改方法,其特征在于,包括:响应于更改智能合约的更改请求,判断发送所述更改智能合约的更改请求的用户地址是否具有更改所述智能合约的权限;响应于确定所述用户地址具有所述更改所述智能合约的权限,对所述更改智能合约的更改请求进行校验;响应于确定所述更改智能合约的更改请求通过校验,根据所述更改智能合约的更改请求更改所述智能合约。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:响应于转移所述更改所述智能合约的权限的更改请求,判断发送所述转移所述更改所述智能合约的权限的更改请求的第一用户地址是否具有更改所述智能合约的权限;响应于确定所述第一用户地址具有所述更改所述智能合约的权限,将所述更改所述智能合约的权限转移至所述转移所述更改所述智能合约的权限的更改请求对应的第二用户地址,所述第一用户地址失去所述更改所述智能合约的权限。3.根据权利要求1所述的方法,其特征在于,所述智能合约的地址存储有具有更改所述智能合约的权限的用户地址;所述判断发送所述更改智能合约的更改请求的用户地址是否具有更改所述智能合约的权限,包括:响应于确定所述更改智能合约的更改请求的用户地址与所述智能合约的地址存储的具有更改所述智能合约的权限的用户地址相同,确定所述用户地址具有所述更改所述智能合约的权限。4.根据权利要求3所述的方法,其特征在于,所述具有更改所述智能合约的权限的用户地址以变量的形式存储在所述智能合约的地址。5.根据权利要求1所述的方法,其特征在于,所述响应于确定所述用户地址具有所述更改所述智能合约的权限,对所述更改智能合约的更改请求进行校验,包括:校验所述更改智能合约的更改请求对应的智能合约的变量顺序与所述智能合约的原有变量顺序是否相同,响应于确定所述更改智能合约的更改请求对应的智能合约的变量顺序与所述智能合约的原有变量顺序相同,确定所述更改智能合约的更改请求通过校验。6.根据权利要求1所述的方法,其特征在于,所述智能合约的地址存储有字节码;所述响应于确定所述更...

【专利技术属性】
技术研发人员:庄虔伟曹崇瑞
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:

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

1