[发明专利]智能合约分离方法、合约处理方法、装置、设备及介质在审
| 申请号: | 201910965012.0 | 申请日: | 2019-10-11 |
| 公开(公告)号: | CN110955448A | 公开(公告)日: | 2020-04-03 |
| 发明(设计)人: | 袁立威;李志辉;王凌斌 | 申请(专利权)人: | 平安壹钱包电子商务有限公司 |
| 主分类号: | G06F8/70 | 分类号: | G06F8/70 |
| 代理公司: | 深圳众鼎专利商标代理事务所(普通合伙) 44325 | 代理人: | 黄章辉 |
| 地址: | 518000 广东省深圳市福田区福田*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 智能 合约 分离 方法 处理 装置 设备 介质 | ||
本发明公开了一种智能合约分离方法、合约处理方法、装置、设备及介质,所述方法包括:获取原始智能合约,所述原始智能合约包括逻辑合约和数据合约地址;基于所述数据合约地址,采用地址调用的方式将所述逻辑合约按照预设的功能类别拆分为M个子逻辑合约以及与M个所述子逻辑合约一一对应的M类合约数据;采用代理调用的方式对每一所述子逻辑合约进行地址更新,得到M个目标子逻辑合约;将所述M类合约数据存储到所述M个目标子逻辑合约中,得到目标智能合约。该智能合约分离方法实现了对智能合约的数据分离,提高了智能合约分离的效率和准确率。
技术领域
本发明涉及智能合约领域,尤其涉及一种智能合约分离方法、合约处理方法、装置、设备及介质。
背景技术
在以太坊的设计中,智能合约部署后不能销毁,所以智能合约部署到以太坊网络后,将不允许修改,若业务需求变更或逻辑合约代码编写不严谨,存在漏洞,也不能在原合约中修改后重新部署,因为修改后的智能合约重新部署后,以太坊虚拟机会为新的合约分配新的合约地址,而合约数据存放于该合约地址对应的存储空间中。以太坊智能合约的设计是部署后不允许修改的,所以智能合约修改后重新部署数据便会丢失,但是难免有业务需求的变更。
传统地,是将数据合约和业务合约进行分离,用业务合约去调用数据合约,这样当需求变更时,只需要重新部署业务合约即可,而在数据合约里存储的数据则不会丢失,然而,这类方法在应用的数据结构需要升级时,升级数据合约后,逻辑合约也需要随之做出相应的修改,因此不便于数据合约的更新升级,还会产生斑驳数据,影响智能合约的处理效率和准确性。
发明内容
本发明实施例提供一种智能合约分离方法、装置、设备及介质,以解决智能合约分离效率不高且准确度低下的问题。
一种智能合约分离方法,包括:
获取原始智能合约,所述原始智能合约包括逻辑合约和数据合约地址;
基于所述数据合约地址,采用地址调用的方式将所述逻辑合约按照预设的功能类别拆分为M个子逻辑合约以及与M个所述子逻辑合约一一对应的M类合约数据,其中,M为大于1的自然数;
采用代理调用的方式对每一所述子逻辑合约进行地址更新,得到M个目标子逻辑合约;
将所述M类合约数据存储到所述M个目标子逻辑合约中,得到目标智能合约。
一种智能合约分离装置,包括:
原始合约获取模块,用于获取原始智能合约,所述原始智能合约包括逻辑合约和数据合约地址;
合约拆分模块,用于基于所述数据合约地址,采用地址调用的方式将所述逻辑合约按照预设的功能类别拆分为M个子逻辑合约以及与M个所述子逻辑合约一一对应的M类合约数据,其中,M为大于1的自然数;
合约更新模块,用于采用代理调用的方式对每一所述子逻辑合约进行地址更新,得到M个目标子逻辑合约;
目标合约获取模块,用于将所述M类合约数据存储到所述M个目标子逻辑合约中,得到目标智能合约。
一种合约处理方法,包括:
合约处理请求模块,用于若接收到智能合约处理请求,则获取所述智能合约处理请求中的目标智能合约,其中,所述目标智能合约是采用上述智能合约分离方法得到的,且所述目标智能合约包括M个目标子逻辑合约和M类合约数据;
合约处理模块,用于对每一所述目标子逻辑合约进行逻辑处理,并调用每一所述合约数据进行数据处理,将逻辑处理结果与数据处理结果合并为智能合约处理结果;
合约结果反馈模块,用于将所述智能合约处理结果发送到以太坊上链进行反馈。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安壹钱包电子商务有限公司,未经平安壹钱包电子商务有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910965012.0/2.html,转载请声明来源钻瓜专利网。





