[发明专利]区块链中实现隐私保护的方法及节点、存储介质在审
申请号: | 202010558539.4 | 申请日: | 2019-01-31 |
公开(公告)号: | CN111767556A | 公开(公告)日: | 2020-10-13 |
发明(设计)人: | 闫莺;魏长征 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F21/60 | 分类号: | G06F21/60;G06F21/62;G06Q40/04 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 周嗣勇 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 区块 实现 隐私 保护 方法 节点 存储 介质 | ||
1.一种区块链中实现隐私保护的方法,包括:
区块链节点在可信执行环境中执行智能合约;
所述区块链节点在采用键值对结构存储所述智能合约涉及的合约状态时,基于所述可信执行环境中维护的安全密钥分别对合约状态和对应的键进行加密。
2.根据权利要求1所述的方法,所述区块链节点对合约状态对应的键进行加密,包括:
所述区块链节点获取可信执行环境中维护的安全密钥,并使用所述安全密钥通过对称加密方式或非对称加密方式对合约状态对应的键进行加密;或,
所述区块链节点将合约状态对应的键与所述安全密钥进行拼接后,对拼接数据进行哈希计算,将计算得到的哈希值作为加密后的键。
3.根据权利要求2所述的方法,所述可信执行环境中维护有若干版本的安全密钥,所述区块链节点通过最低版本的安全密钥对合约状态对应的键进行加密;其中,低版本的安全密钥由高版本的安全密钥不可逆地计算得到。
4.根据权利要求1所述的方法,不同合约状态由不同的密钥进行加密。
5.根据权利要求4所述的方法,所述智能合约涉及合约状态X1~Xn,分别对应于密钥K1~Kn;其中,合约状态Xi对应的密钥Ki由所述区块链节点根据保存于所述可信执行环境的安全密钥和至少一个对应于合约状态Xi的影响因子而生成,1≤i≤n。
6.根据权利要求5所述的方法,所述影响因子包括至少一项下述的私有影响因子:合约状态Xi在所述智能合约中的出现顺序Pi、对应于所述出现顺序的计数值Qi、分配至合约状态Xi的随机数Si。
7.根据权利要求5所述的方法,所述影响因子包括至少一项下述的公共影响因子:历史区块高度、对应于所述智能合约的交易所处区块的区块高度、所述交易在所处区块中的位置偏移量、所述智能合约的合约地址、所述智能合约的代码哈希值、所述智能合约的合约创建者的账户地址、所述交易的发起方的账户地址。
8.根据权利要求5所述的方法,还包括:
所述区块链节点将加密后的合约状态与相应密钥的生成方式描述信息进行关联存储。
9.根据权利要求8所述的方法,密钥Ki的生成方式描述信息包括:所述安全密钥的版本信息和对应于合约状态Xi的影响因子的取值;其中,所述可信执行环境中维护有若干版本的安全密钥。
10.根据权利要求9所述的方法,低版本的安全密钥由高版本的安全密钥不可逆地计算得到。
11.根据权利要求3或10所述的方法,最高版本的安全密钥包括seal密钥,其他版本的安全密钥直接或间接由所述seal密钥不可逆地计算得到。
12.根据权利要求1所述的方法,所述安全密钥在所述区块链节点的SGX通过远程证明后由密钥管理服务器发送,或者所述安全密钥由所述区块链节点与其他区块链节点之间协商得到。
13.根据权利要求1所述的方法,所述安全密钥为seal密钥或由seal密钥计算得到。
14.根据权利要求1所述的方法,还包括:
接收对应于所述智能合约的交易,所述交易由客户端提交至所述区块链节点;或,所述交易由所述客户端提交至区别于所述区块链节点的其他区块链节点,由所述其他区块链节点将所述交易转发至所述区块链节点。
15.根据权利要求1所述的方法,基于所述可信执行环境中维护的安全密钥分别对合约状态和对应的键进行加密,包括:
所述区块链节点在确定对应于所述智能合约的交易为隐私交易的情况下,基于所述安全密钥分别对合约状态和对应的键进行加密。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010558539.4/1.html,转载请声明来源钻瓜专利网。