【技术实现步骤摘要】
区块链中实现隐私保护的方法
本申请涉及区块链
,尤其涉及一种区块链中实现隐私保护的方法。
技术介绍
区块链技术构建在传输网络(例如点对点网络)之上。传输网络中的网络节点利用链式数据结构来验证与存储数据,并采用分布式节点共识算法来生成和更新数据。这些区块链网络中的节点有时需要增加。目前企业级的区块链平台技术上最大的两个挑战就是隐私和性能,往往这两个挑战很难同时解决。大多解决方案都是通过损失性能换取隐私,或者不大考虑隐私去追求性能。常见的解决隐私问题的加密技术,如同态加密(Homomorphicencryption)和零知识证明(Zero-knowledgeproof)等复杂度高,通用性差,而且还可能带来严重的性能损失。在解决隐私方面,可信执行环境(TrustedExecutionEnvironment,TEE)是另一种解决方式。TEE可以起到硬件中的黑箱作用,在TEE中执行的代码和数据操作系统层都无法偷窥,只有代码中预先定义的接口才能对其进行操作。在效率方面,由于TEE的黑箱性质,在TEE中进行运算的是明文数据,而不是同态加密中的复杂密码学运算,计算过程效率没有损失,因此与TEE相结合可以在性能损失较小的前提下很大程度上提升区块链的安全性和隐私性。目前工业界十分关注TEE的方案,几乎所有主流的芯片和软件联盟都有自己的TEE解决方案,包括软件方面的TPM(TrustedPlatformModule,可信赖平台模块)以及硬件方面的IntelSGX(SoftwareGuardExtensions,软件保护扩展)、ARMTrustzone(信任区)和AMDPS ...
【技术保护点】
1.一种区块链中实现隐私保护的方法,包括:客户端将包含智能合约的交易加密,并将加密后的所述交易发给第一区块链节点,所述智能合约的代码中包括通过隐私标识符标明的合约状态;第一区块链节点解密所述交易中的所述智能合约的代码,在可信执行环境中执行所述智能合约的代码;在将所述隐私标识符标明的合约状态写入数据库时,用密钥加密。
【技术特征摘要】
1.一种区块链中实现隐私保护的方法,包括:客户端将包含智能合约的交易加密,并将加密后的所述交易发给第一区块链节点,所述智能合约的代码中包括通过隐私标识符标明的合约状态;第一区块链节点解密所述交易中的所述智能合约的代码,在可信执行环境中执行所述智能合约的代码;在将所述隐私标识符标明的合约状态写入数据库时,用密钥加密。2.如权利要求1所述的方法,其中,第一区块链节点接收的交易中的智能合约,包括:用户在第一区块链节点上用高级语言编写的智能合约;或,用户在客户端上用高级语言编写的智能合约;或,客户端通过第二区块链节点发来的交易中的智能合约。3.如权利要求2所述的方法,其中,对于用户在第一区块链节点上用高级语言编写的智能合约,第一区块链节点接收所述收包含智能合约的交易后,还包括:采用编译器对所述高级语言编写的智能合约进行编译,生成字节码。4.如权利要求2所述的方法,其中,对于用户在客户端上用高级语言编写的智能合约,用户在客户端上书写智能合约后,所述客户端还采用编译器对高级语言编写的智能合约进行编译,生成字节码,进而将字节码形式的智能合约发送至第一区块链节点;相应地,所述第一区块链节点接收包含智能合约的交易,其中的智能合约为字节码形式的智能合约。5.如权利要求2所述的方法,其中,对于用户在客户端上用高级语言编写的智能合约,用户在客户端上书写智能合约后,将高级语言编写的智能合约发送到第一区块链节点;相应地,所述第一区块链节点接收包含智能合约的交易,其中的智能合约为高级语言形式的智能合约;所述方法还包括:第一区块链节点采用编译器对所述高级语言编写的智能合约进行编译,生成字节码。6.如权利要求2所述的方法,其中,所述客户端通过第二区块链节点发来的交易中的智能合约,包括字节码形式的智能合约或用高级语言编写的智能合约。7.如权利要求6所述的方法,其中,对于用高级语言编写的智能合约,第一区块链节点接收所述收包含智能合约的交易后,还包括:采用编译器对所述高级语言编写的智能合约进行编译,生成字节码。8.如权利要求3-7所述的方法,其中,所述高级语言形式的智能合约中包括通过第一隐私标识符标明的需要进行隐私保护的合约状态,所述字节码形式的智能合约中包括通过第二隐私标识符标明的需要进行隐私保护的合约状态;所述第一隐私标识符与第二隐私标识符相同或存在对应关系。9.如权利要求1所述的方法,其中,所述客户端将包含智能合约的交易加密,所述加密方式采用对称加密方式或非对称加密方式,或采用对称加密结合非对称加密的方式。10.如权利要求9所述的方法,其中,所述客户端将包含智能合约的交易用对称加密的私钥加密,第一区块链节点用对应的对称加密的私钥解密所述交易得到所述智能合约的代码;或,所述客户端将包含智能合约的交易用非对称加密的公钥加密,第一区块链节点用对应的非对称加密的私钥解密所述交易得到所述智能合约的代码。11.如权利要求9所述的方法,其中,所述对称加密结合非对称加密的方式,包括数字信封加密方式。12.如权利要求11所述的方法,其中,所述客户端采用对称加密算法的私钥加密包含智能合约的交易,并用非对称加密算法的公钥加密对称加密算法中采用的私钥;相应地,第一区块链节点接收到所述加密的交易后,采用非对称加密算法的私钥进行解密得到对称加密算法的私钥,并用所述对称加密算法的私钥解密得到交易内容。13.如权利要求10或12所述的方法,其中,所述对称加密算法的公钥,由所述客户端与第一区块链节点协商得到,或由密钥管理服务器发送得到。14.如权利要求12所述的方法,其中,所述对称加密算法的公钥由所述客户端生成,密钥管理服务器通过远程证明将所述非对称加密算法的私钥发送至第一区块链节点的围圈,将所述非对称加密算法的公钥发送至所述客户端。15.如权利要求1所述的方法,其中,所述智能合约包括创建和/或调用智能合约。16.如权利要求1所述的方法,其中,所述数据库存储于持久性存储介质。17.如权利要求16所述的方法,所述持久性存储介质包括磁盘、软盘或通电后可恢复数据从而可以持久存储的内存。18.如权利要求1所述的方法,其中,所述密钥包括对称加密的密钥或非对称加密的密钥。19.如权利要求18所述的方法,其中,所述对称加密的密钥包括seal密钥。20.如权利要求18所述的方法,其中,所述seal密钥在第一区块链节点的SGX通过远程证明后由密钥管理服务器发送。21.一种区块链中实现隐私保护的方法,包括:第一区块链节点接收经过加密的包含智能合约的交易,所述智能合约的代码中包括通过隐私标识符标明的合约状态;第一区块链节点解密所述交易中的所述智能合约的代码;第一区块链节点在可信执行环境中执行解密的所述智能合约的代码,并在将所述隐私标识符标明的合约状态写入数据库时,用密钥加密。22.如权利要求21所述的方法,其中,第一区块链节点接收的交易中的智能合约,包括:用户在第一区块链节点上用高级语言编写的智能合约;或,用户在客户端上用高级语言编写的智能合约;或,所述客户端通过第二区块链节点发来的交易中的智能合约。23.如权利要求22所述的方法,其中,对于用户在第一区块链节点上用高级语言编写的智能合约,第一区块链节点接收所述收包含智能合约的交易后,还包括:采用编译器对所述高级语言编写的智能合约进行编译...
【专利技术属性】
技术研发人员:闫莺,宋旭阳,林立,赵博然,余逸荣,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。