[发明专利]基于区块链的合约处理方法及装置有效
申请号: | 201810988957.X | 申请日: | 2018-08-28 |
公开(公告)号: | CN109151031B | 公开(公告)日: | 2022-08-26 |
发明(设计)人: | 柏盼;孟之杰;张安;梁超 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | H04L67/104 | 分类号: | H04L67/104;H04L67/1097;H04L9/40 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 王玉双 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 区块 合约 处理 方法 装置 | ||
本发明公开了一种基于区块链的合约处理方法及装置,基于源信息生成双层上链合约,将双层上链合约部署至区块链网络。双层上链合约包括封装有业务逻辑的上层逻辑合约和被上层逻辑合约调用的数据层合约,通过本发明解决了智能合约在区块链上是不可维护的技术问题。
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于区块链的合约处理方法及装置。
背景技术
由于区块链具有去中心、不可逆等特点,区块链本身通过一环套一环的链式结构、分布式的存储、分布式的共识机制将这样过大的权利分散到所有参与节点,保证了不产生这样一个权限过大的中心化第三方来具有作恶的可能。故而,区块链天然适合作为重要数据储存的载体。
区块链上的数据经过矿工打包进区块中后基本上不可能更改,因此,合约一旦上区块链后就不能更改了,所以,如果合约逻辑出现漏洞就不可能被修复,重新部署合约又会丢失原有数据,因此,合约在区块链上是不可维护的。
发明内容
本发明实施例通过提供一种基于区块链的合约处理方法及装置,解决了现有技术中合约在区块链上是不可维护的技术问题。
第一方面,本发明实施例提供一种基于区块链的合约处理方法,包括:
基于源信息生成双层上链合约,所述双层上链合约包括封装有业务逻辑的上层逻辑合约和被所述上层逻辑合约调用的数据层合约,所述数据层合约封装有对第一Map结构的读写操作,所述第一Map结构中保存有与所述源信息对应的上链数据;
将所述双层上链合约部署至区块链网络。
可选的,所述将所述双层上链合约部署至区块链网络,包括:
部署所述数据层合约;
将所述数据层合约的地址作为参数传入所述上层逻辑合约,部署所述上层逻辑合约;
将所述上层逻辑合约的地址作为参数传入所述数据层合约,部署对所述数据层合约的访问控制。
可选的,所述部署对所述数据层合约的访问控制,包括:
在所述数据层合约中添加第二Map结构,所述第二Map结构中维护有地址白名单,所述地址白名单中保存有对所述数据层合约有访问权限的合约地址。
可选的,所述第一Map结构中保存有:时间戳、调用所述双层上链合约的地址、所述上链数据、扩展字段和版本标识字段。
可选的,在将所述双层上链合约部署至区块链网络之后,还包括:
吊销所述上层逻辑合约对所述数据层合约的访问权限;
部署新的上层逻辑合约,并添加所述新的上层逻辑合约对所述数据层合约的访问权限。
可选的,在将所述双层上链合约部署至区块链网络之后,还包括:
向所述区块链网络发送读出命令,触发对所述上层逻辑合约的调用;
所述上层逻辑合约在运行时,基于传入所述上层逻辑合约的所述数据层合约的地址调用所述数据层合约的读操作,以从所述数据层合约中读取所述上链数据。
可选的,在将所述双层上链合约部署至区块链网络之后,还包括:
向所述区块链网络发送读出命令,触发对所述双层上链合约的调用;
基于所述双层上链合约的日志过滤方法,从所述数据层合约中读取所述上链数据。
可选的,在从所述数据层合约中读取所述上链数据之后,还包括:
向所述区块链网络发送写入命令;
基于所述写入命令触发对所述上层逻辑合约的调用;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810988957.X/2.html,转载请声明来源钻瓜专利网。