[发明专利]区块链中实现合约调用的方法及节点、存储介质有效
申请号: | 201910101419.9 | 申请日: | 2019-01-31 |
公开(公告)号: | CN109886682B | 公开(公告)日: | 2020-10-23 |
发明(设计)人: | 闫莺;魏长征 | 申请(专利权)人: | 创新先进技术有限公司 |
主分类号: | G06Q20/38 | 分类号: | G06Q20/38;H04L29/08 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 开曼群岛大开曼岛*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 区块 实现 合约 调用 方法 节点 存储 介质 | ||
1.一种区块链中实现合约调用的方法,包括:
第一区块链节点接收交易,将所述交易传入第一区块链节点上的常规执行环境或可信执行环境;其中,当所述交易包含的类型字段表明其为经加密的隐私交易时,或者当所述交易中将所调用的明文类型的智能合约标注为隐私处理类型时,所述交易被传入所述可信执行环境,否则所述交易被传入所述常规执行环境;
第一区块链节点在可信执行环境中执行所述交易调用的明文类型的智能合约,以确定所述明文类型的智能合约调用的智能合约;当被调用的智能合约为隐私类型时,第一区块链节点对所述被调用的智能合约进行解密;第一区块链节点确定所述被调用的智能合约的调用条件;第一区块链节点在所述调用条件被满足时,在所述可信执行环境中执行所述被调用的智能合约;第一区块链节点通过密钥将明文执行结果加密为密文执行结果后存储至所述可信执行环境之外的外部存储空间,所述密钥为所述可信执行环境通过远程证明后由密钥管理服务器所分配,或者由第一区块链节点与其他区块链节点协商得到;
第一区块链节点在常规执行环境中仅执行明文类型的智能合约。
2.根据权利要求1所述的方法,所述调用条件包括:
调用方处于调用白名单中;或,
调用方未处于调用黑名单中。
3.根据权利要求2所述的方法,所述调用方包括以下至少之一:发起调用的用户、所述智能合约的合约地址、发起调用的函数。
4.根据权利要求2所述的方法,
所述调用白名单或所述调用黑名单位于所述被调用的智能合约中;或,
所述调用白名单或所述调用黑名单位于所述被调用的智能合约所调用的另一智能合约中。
5.根据权利要求1所述的方法,
所述明文类型的智能合约直接调用所述被调用的智能合约;或,
所述明文类型的智能合约间接调用所述被调用的智能合约,且所述间接调用涉及到的智能合约均被读入可信执行环境中执行。
6.根据权利要求1所述的方法,还包括:
第一区块链节点将明文执行结果加密为密文执行结果后从所述可信执行环境中输出,并通过在所述可信执行环境之外执行存储功能代码,以将所述密文执行结果存储至所述可信执行环境之外的外部存储空间。
7.根据权利要求6所述的方法,还包括:
第一区块链节点在可信执行环境内执行写缓存功能代码,以将所述明文执行结果存入所述可信执行环境内的写缓存中;
其中,第一区块链节点将所述写缓存中的数据加密后从所述可信执行环境输出,以存储至所述外部存储空间。
8.根据权利要求7所述的方法,所述写缓存功能代码以明文形式存储于所述可信执行环境中;或,所述写缓存功能代码以密文形式存储于所述可信执行环境之外。
9.根据权利要求1所述的方法,还包括:
第一区块链节点根据客户端发起的查询请求,对所述明文执行结果加密后从可信执行环境输出,以返回至所述客户端。
10.根据权利要求9所述的方法,所述对所述明文执行结果加密后从可信执行环境输出,包括:
第一区块链节点从所述外部存储空间中读取所述密文执行结果,将所述密文执行结果解密为所述明文执行结果后,读入所述可信执行环境;对所述明文执行结果加密后从可信执行环境输出;或,
第一区块链节点从可信执行环境内的读缓存中读取所述明文执行结果,并对所述明文执行结果加密后从可信执行环境输出;其中,所述明文执行结果由第一区块链节点预先在可信执行环境内执行读缓存功能代码,从所述外部存储空间中读取所述密文执行结果,将所述密文执行结果解密为所述明文执行结果后,读入所述可信执行环境并存入所述读缓存中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于创新先进技术有限公司,未经创新先进技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910101419.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:区块链共识方法及共识系统
- 下一篇:监控区块链数据的方法、装置以及存储介质