区块链中实现隐私保护的方法、节点和存储介质技术

技术编号:26262826 阅读:40 留言:0更新日期:2020-11-06 18:01
本说明书一个或多个实施例提供一种区块链中实现隐私保护的方法、节点和存储介质,该方法可以包括:第一区块链节点接收客户端发起的交易,所述交易存在一个或多个对应的智能合约;第一区块链节点执行所述交易以得到收据数据,所述收据数据包括分别对应于每一智能合约的收据子数据;第一区块链节点在确定所述交易对应的第一智能合约存在权限保护标识时,在存储所述收据数据时为第一智能合约对应的收据子数据设定相应的访问条件;第一区块链节点在响应于针对第一智能合约对应的收据子数据的访问请求时,确定所述访问条件被满足。

【技术实现步骤摘要】
区块链中实现隐私保护的方法、节点和存储介质
本说明书一个或多个实施例涉及区块链
,尤其涉及一种区块链中实现隐私保护的方法、节点和存储介质。
技术介绍
区块链技术构建在传输网络(例如点对点网络)之上。传输网络中的网络节点利用链式数据结构来验证与存储数据,并采用分布式节点共识算法来生成和更新数据。这些区块链网络中的节点有时需要增加。目前企业级的区块链平台技术上最大的两个挑战就是隐私和性能,往往这两个挑战很难同时解决。大多解决方案都是通过损失性能换取隐私,或者不大考虑隐私去追求性能。常见的解决隐私问题的加密技术,如同态加密(Homomorphicencryption)和零知识证明(Zero-knowledgeproof)等复杂度高,通用性差,而且还可能带来严重的性能损失。在解决隐私方面,可信执行环境(TrustedExecutionEnvironment,TEE)是另一种解决方式。TEE可以起到硬件中的黑箱作用,在TEE中执行的代码和数据都无法被操作系统层偷窥,只有通过代码中预先定义的接口才能对其进行操作。在效率方面,由于TEE本文档来自技高网...

【技术保护点】
1.一种区块链中实现隐私保护的方法,包括:/n区块链节点接收客户端发起的交易,所述交易存在一个或多个对应的智能合约;/n所述区块链节点执行所述交易以得到收据数据,所述收据数据包括分别对应于各个智能合约的收据子数据;/n所述区块链节点在确定所述交易对应的第一智能合约存在权限保护标识时,在存储所述收据数据时为第一智能合约对应的收据子数据设定相应的访问条件;所述区块链节点在响应于针对第一智能合约对应的收据子数据的访问请求时,确定所述访问条件被满足。/n

【技术特征摘要】
1.一种区块链中实现隐私保护的方法,包括:
区块链节点接收客户端发起的交易,所述交易存在一个或多个对应的智能合约;
所述区块链节点执行所述交易以得到收据数据,所述收据数据包括分别对应于各个智能合约的收据子数据;
所述区块链节点在确定所述交易对应的第一智能合约存在权限保护标识时,在存储所述收据数据时为第一智能合约对应的收据子数据设定相应的访问条件;所述区块链节点在响应于针对第一智能合约对应的收据子数据的访问请求时,确定所述访问条件被满足。


2.根据权利要求1所述的方法,所述区块链节点执行所述交易以得到收据数据,包括:
当所述交易为隐私交易时,所述区块链节点在可信执行环境中对所述隐私交易进行解密以获得相应的明文交易内容,并在所述可信执行环境中执行所述明文交易内容,以得到所述收据数据;
当所述交易为明文交易时,所述区块链节点在所述可信执行环境之外的常规执行环境中执行所述明文交易,以得到所述收据数据。


3.根据权利要求2所述的方法,还包括:
所述区块链节点根据所述交易中明文形式的类型字段的取值确定所述交易的类型;其中,类型字段的第一取值用于表明所属交易为明文交易,类型字段的第二取值用于表明所属交易为隐私交易。


4.根据权利要求2所述的方法,
所述在所述可信执行环境中执行所述明文交易内容,包括:通过所述可信执行环境中部署的虚拟机执行所述明文交易内容;
所述在所述可信执行环境之外的常规执行环境中执行所述明文交易,包括:通过所述可信执行环境之外的常规执行环境中部署的虚拟机执行所述明文交易。


5.根据权利要求2所述的方法,还包括:
所述区块链节点在所述可信执行环境之外执行存储功能代码,以将所述隐私交易对应的收据数据从可信执行环境输出,并存储至所述可信执行环境之外的外部存储空间。


6.根据权利要求2所述的方法,还包括:
所述区块链节点在所述可信执行环境内执行写缓存功能代码,以将所述收据数据存入所述可信执行环境内的写缓存中;
所述区块链节点将所述写缓存中的数据加密后从所述可信执行环境输出,以存储至所述可信执行环境之外的外部存储空间。


7.根据权利要求6所述的方法,所述写缓存功能代码以明文形式存储于所述可信执行环境中;或者,所述写缓存功能代码以密文形式存储于所述可信执行环境之外。


8.根据权利要求1所述的方法,当所述交易对应的第二智能合约未存在权限保护标识时,所述第二智能合约对应的收据子数据不存在访问条件。


9.根据权利要求1所述的方法,还包括:
当所述交易为明文交易时,所述区块链节点根据所述明文交易中明文形式的权限保护标识,确定所述明文交易对应的智能合约是否存在权限保护标识;
当所述交易为隐私交易时,所述区块链节点根据所述隐私交易中明文形式的权限保护标识,确定所述隐私交易对应的智能合约是否存在权限保护标识;或者,所述区块链节点在可信执行环境中对所述隐私交易包含的密文形式的权限保护标识进行解密,并根据解密后的权限保护标识确定所述隐私交易对应的智能合约是否存在权限保护标识。


10.根据权利要求1所述的方法,还包括:
所述区块链节点在所述交易对应的任一智能合约被添加有权限保护标识时,确定所述任一智能合约存在权限保护标识。


11.根据权利要求1所述的方法,所述访问条件包括:
请求方处于访问白名单中;或者,
请求方未处于访问黑名单中。


12.根据权利要求11所述的方法,所述请求方包括以下至少之一:发起请求的用户、发起请求的智能合约的合约地址、发起请求的函数。


13.根据权利要求1所述的方法,
所述访问条件为区块链节点处预定义的统一条件;或,
所述访问条件为所述交易中定义的个性化条件。


14.根据权利要求13所述的方法,所述交易存在多个对应的智能合约,所述收据数据包括分别对应于每一智能合约的收据子数据;所述个性化条件包括:针对所有智能合约对应的收据子数据的条件,或分别针对各个智能合约对应的收据子数据的条件。


15.根据权利要求13所述的方法,
所述个性化条件位于所述交易中;或,
所述个性化条件位于所述交易对应的智能合约中;或,
所述个性化条件位于所述交易对应的智能合约所调用的另一智能合约中。


16.根据权利要求1所述的方法,所述交易用于创建和/或调用智能合约。


17.根据权利要求1所述的方法,还包括:
所述区块链节点使用密钥对所述收据数据进行加密,并存储加密后的收据数据;
当请求方满足所述访问条件时,所述区块链节点将加密后的收据数据返回至所述请求方。


18.根据权利要求1...

【专利技术属性】
技术研发人员:刘琦魏长征闫莺
申请(专利权)人:创新先进技术有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1