[发明专利]基于智能合约的权限查询配置方法及装置有效
申请号: | 201911085007.7 | 申请日: | 2019-11-08 |
公开(公告)号: | CN110580411B | 公开(公告)日: | 2020-03-06 |
发明(设计)人: | 刘琦;闫莺 | 申请(专利权)人: | 支付宝(杭州)信息技术有限公司 |
主分类号: | G06F21/60 | 分类号: | G06F21/60;G06F21/62;G06F16/2458;G06F8/65;G06Q40/04 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 李威 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 智能 合约 权限 查询 配置 方法 装置 | ||
1.一种基于智能合约的权限查询配置方法,应用于区块链节点;所述方法包括:
根据获取到的新版本链代码进行链代码版本更新,所述新版本链代码用于执行与隐私数据的权限查询相关的操作;
接收针对分发合约的合约创建交易,所述合约创建交易中包含所述分发合约的分发代码,所述分发代码用于调用业务合约以执行该业务合约中定义的权限控制代码;其中,当接收到的任一交易用于调用所述分发合约时,所述任一交易被作为查询交易;
部署所述分发合约,以使得在接收到查询方发起的针对与历史交易相关的隐私数据的查询交易时,执行所述分发合约的分发代码和更新后的链代码以根据所述历史交易调用的业务合约中定义的权限控制代码,确定所述查询方的查询权限;所述历史交易通过调用所述业务合约以执行所述业务合约中定义的业务代码;
其中,所述分发代码用于根据所述查询交易中包含的所述历史交易调用的业务合约的合约地址确定相应的业务合约,并调用确定出的业务合约以执行相应的权限控制代码来确定所述查询方的查询权限;所述新版本链代码用于在通过业务合约确定出查询方的查询权限为允许查询时,根据所述查询交易中包含的交易标识获取所述历史交易,并根据获取到的历史交易确定出所述历史交易实际调用的业务合约的合约地址,以及当确定出的合约地址与所述查询交易中包含的合约地址不一致时,判定所述查询方的查询权限为禁止查询。
2.根据权利要求1所述的方法,还包括:
接收针对目标业务合约的更新交易,所述更新交易中包含所述目标业务合约的业务代码,和针对与调用所述目标业务合约的交易相关的隐私数据的权限控制代码;
将所述更新交易中包含的业务代码和权限控制代码发布至区块链上进行存证,并将所述目标业务合约的合约账户中合约代码的索引修改为所存证的业务代码和权限控制代码的索引。
3.根据权利要求1所述的方法,还包括:
接收对应于任一业务合约的更新合约的创建交易,所述创建交易中包含所述任一业务合约的业务代码,和针对与调用所述任一业务合约的交易相关的隐私数据的权限控制代码;
部署所述更新合约,并将所述更新合约与所述任一业务合约建立关联关系,以使得在确定出待调用合约为所述任一业务合约时,调用所述更新合约以代替调用所述任一业务合约。
4.根据权利要求1所述的方法,
任一智能合约的权限控制代码用于根据所述查询方的身份信息确定所述查询方针对所述隐私数据的查询权限;
或者,任一智能合约的权限控制代码用于根据所述查询方的身份信息和所述历史交易的发起方的身份信息确定所述查询方针对所述隐私数据的查询权限;
或者,任一智能合约的权限控制代码用于根据所述发起方的身份信息确定所述查询方针对所述隐私数据的查询权限;
其中,所述查询交易中包含所述历史交易的发起方的身份信息,或者所述发起方的身份信息由所述新版本链代码根据所述查询交易中包含的交易标识获取所述历史交易,并基于所述历史交易得到。
5.根据权利要求1所述的方法,所述新版本链代码还用于在确定出所述查询方的查询权限为允许查询时,获取解密后的所述隐私数据以由所述查询方查看,所述隐私数据被读入可信执行环境进行解密。
6.根据权利要求1所述的方法,所述隐私数据包括以下至少之一:
所述历史交易、对应于所述历史交易的交易收据、所述历史交易的发起方的账户属性信息、所述历史交易调用的业务合约的账户属性信息、所述业务合约的合约代码、所述业务合约的合约状态数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于支付宝(杭州)信息技术有限公司,未经支付宝(杭州)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911085007.7/1.html,转载请声明来源钻瓜专利网。