【技术实现步骤摘要】
结合代码标注与交易、用户类型的收据存储方法和节点
本说明书一个或多个实施例涉及区块链
,尤其涉及一种结合代码标注与交易、用户类型的收据存储方法和节点。
技术介绍
区块链技术构建在传输网络(例如点对点网络)之上。传输网络中的网络节点利用链式数据结构来验证与存储数据,并采用分布式节点共识算法来生成和更新数据。目前企业级的区块链平台技术上最大的两个挑战就是隐私和性能,往往这两个挑战很难同时解决。大多解决方案都是通过损失性能换取隐私,或者不大考虑隐私去追求性能。常见的解决隐私问题的加密技术,如同态加密(Homomorphicencryption)和零知识证明(Zero-knowledgeproof)等复杂度高,通用性差,而且还可能带来严重的性能损失。可信执行环境(TrustedExecutionEnvironment,TEE)是另一种解决隐私问题的方式。TEE可以起到硬件中的黑箱作用,在TEE中执行的代码和数据操作系统层都无法偷窥,只有代码中预先定义的接口才能对其进行操作。在效率方面,由于TEE的黑箱性质,在TEE中进行运算的是明文数据,而不是同态加密中的复杂密码学运算,计算过程效率没有损失,因此与TEE相结合可以在性能损失较小的前提下很大程度上提升区块链的安全性和隐私性。目前工业界十分关注TEE的方案,几乎所有主流的芯片和软件联盟都有自己的TEE解决方案,包括软件方面的TPM(TrustedPlatformModule,可信赖平台模块)以及硬件方面的IntelSGX(SoftwareGuardExtensions,软件保护扩展)、ARMTrustzone( ...
【技术保护点】
1.一种结合代码标注与交易、用户类型的收据存储方法,包括:第一区块链节点接收经过加密的对应于智能合约的交易,所述智能合约的代码中包括通过暴露标识符标明的字段;第一区块链节点在可信执行环境中解密所述交易并执行获得的所述智能合约的代码,得到收据数据;第一区块链节点根据所述交易的交易类型,确定相应的暴露字段;第一区块链节点存储所述收据数据,当交易发起方属于预设用户类型时,使所述收据数据中由所述暴露标识符标明的暴露字段以明文形式存储、其余收据字段以密文形式存储。
【技术特征摘要】
1.一种结合代码标注与交易、用户类型的收据存储方法,包括:第一区块链节点接收经过加密的对应于智能合约的交易,所述智能合约的代码中包括通过暴露标识符标明的字段;第一区块链节点在可信执行环境中解密所述交易并执行获得的所述智能合约的代码,得到收据数据;第一区块链节点根据所述交易的交易类型,确定相应的暴露字段;第一区块链节点存储所述收据数据,当交易发起方属于预设用户类型时,使所述收据数据中由所述暴露标识符标明的暴露字段以明文形式存储、其余收据字段以密文形式存储。2.根据权利要求1所述的方法,第一区块链节点接收的交易对应的智能合约,包括:高级语言编写的智能合约;或,字节码形式的智能合约。3.根据权利要求2所述的方法,当第一区块链节点接收的交易对应的智能合约为高级语言编写的智能合约时,所述方法还包括:第一区块链节点通过编译器对所述高级语言编写的智能合约进行编译,生成字节码形式的智能合约,以在所述可信执行环境中执行。4.根据权利要求2所述的方法,当第一区块链节点接收的交易对应的智能合约为字节码形式的智能合约时,所述字节码形式的智能合约由客户端通过编译器对高级语言编写的智能合约进行编译而得到,所述高级语言编写的智能合约由用户在所述客户端上编写得到。5.根据权利要求2所述的方法,所述高级语言编写的智能合约与所述字节码形式的智能合约具有相同或对应的暴露标识符。6.根据权利要求1所述的方法,第一区块链节点接收的交易对应的智能合约,包括:用户在第一区块链节点上生成的智能合约;或,用户在客户端上生成的智能合约;或,所述客户端通过第二区块链节点发来的交易中的智能合约。7.根据权利要求1所述的方法,所述暴露标识符标明的字段包括:合约级字段;第一区块链节点存储所述收据数据,包括:第一区块链节点在交易发起方属于预设用户类型且所述合约级字段属于暴露字段时,将所述收据数据中对应于所述合约级字段的所有收据内容以明文形式存储。8.根据权利要求1所述的方法,所述暴露标识符标明的字段包括:对应于所述智能合约中定义的至少一个事件的事件级字段;第一区块链节点存储所述收据数据,包括:第一区块链节点在交易发起方属于预设用户类型且所述事件级字段属于暴露字段时,确定出所述收据数据中对应于所述至少一个事件的收据内容,并将确定出的收据内容中对应于所述事件级字段的部分以明文形式存储。9.根据权利要求1所述的方法,所述交易包括交易类型字段,所述交易类型字段的取值用于标明相应的交易类型。10.根据权利要求1所述的方法,所述交易的交易类型包括:存证类型、资产转移类型、合约创建类型、合约调用类型。11.根据权利要求1所述的方法,区块链中存储有预定义的交易类型与暴露字段之间的映射关系,所述映射关系被用于确定所述交易的交易类型对应的暴露字段。12.根据权利要求1所述的方法,第一区块链节点通过下述方式确定所述交易发起方所属的用户类型:第一区块链节点确定所述交易发起方对应的外部账户;第一区块链节点查询区块链上记录的所述外部账户对应的用户类型,以作为所述交易发起方所属的用户类型。13.根据权利要求12所述的方法,所述外部账户包括记录于区块链上的用户类型字段,所述用...
【专利技术属性】
技术研发人员:刘琦,闫莺,魏长征,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。