隐私交易的读写集生成方法和区块链节点技术

技术编号:37143860 阅读:14 留言:0更新日期:2023-04-06 21:53
一种隐私交易的读写集生成方法和区块链节点,所述方法由区块链系统中的节点执行,所述节点中包括可信执行环境TEE,所述方法包括:将待执行的隐私交易提供到TEE内;TEE对隐私交易对应的密文解密得到明文,基于明文生成第一读写集,第一读写集包括隐私交易请求访问的参数的名称key;TEE在所述第一读写集中添加隐私交易未请求访问的参数的key,得到第二读写集,作为隐私交易的读写集。作为隐私交易的读写集。作为隐私交易的读写集。

【技术实现步骤摘要】
隐私交易的读写集生成方法和区块链节点


[0001]本说明书实施例属于区块链
,尤其涉及一种隐私交易的读写集方法和区块链节点。

技术介绍

[0002]区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。
[0003]区块链中可引入可信执行环境(Trusted Execution Environment,TEE),以用于保护隐私数据。TEE可保证放入其中的代码和数据的安全性、机密性和完整性,同时,在TEE中基于明文数据进行运算,从而计算效率较高。

技术实现思路

[0004]本专利技术的目的在于提供一种隐私交易的读写集生成方案,以进一步保护隐私数据。
[0005]本说明书第一方面提供一种隐私交易的读写集生成方法,由区块链系统中的节点执行,所述节点中包括可信执行环境TEE,所述方法包括:
[0006]将待执行的隐私交易提供到TEE内;
[0007]所述TEE对所述隐私交易对应的密文解密得到明文,基于所述明文生成第一读写集,所述第一读写集包括所述隐私交易请求访问的参数的名称key;
[0008]所述TEE在所述第一读写集中添加所述隐私交易未请求访问的参数的key,得到第二读写集,作为所述隐私交易的读写集。
[0009]本说明书第二方面提供一种区块链系统中的区块链节点,所述区块链节点中包括可信执行环境TEE,所述区块链节点中还包括:
[0010]提供单元,用于将待执行的隐私交易提供到TEE内;
[0011]生成单元,用于在所述TEE内对所述隐私交易对应的密文解密得到明文,基于所述明文生成第一读写集,所述第一读写集包括所述隐私交易请求访问的参数的名称key;
[0012]添加单元,用于在所述TEE内在所述第一读写集中添加所述隐私交易未请求访问的参数的key,得到第二读写集,作为所述隐私交易的读写集。
[0013]本说明书第三方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面所述的方法。
[0014]本说明书第四方面提供一种区块链节点,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面所述的方法。
[0015]本说明书实施例中,本说明书实施例中,通过在TEE中通过在隐私交易的读写集中添加虚假key,在进一步保护隐私交易的隐私数据的同时,可以基于全部交易的读写集对该
多个交易进行分组,从而可以并行执行该多个交易,从而提高了区块链系统中的交易执行效率。
附图说明
[0016]为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0017]图1示出了一实施例中的区块链架构图;
[0018]图2为本说明书实施例中的在区块链中执行交易的过程示意图;
[0019]图3为本说明书实施例中的交易处理过程的示意图;
[0020]图4为本说明书实施例中的隐私交易读写集生成方法的流程图;
[0021]图5为本说明书实施例中判断交易是否为隐私交易的方法流程图;
[0022]图6为本说明书实施例中的一种区块链节点的架构图。
具体实施方式
[0023]为了使本
的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
[0024]图1示出了一实施例中的区块链架构图。在图1所示的区块链架构图中,区块链100中包括N个节点,图1中示意示出节点1

节点8。节点之间的连线示意性的表示P2P(Peer to Peer,点对点)连接,所述连接例如可以为TCP连接等,用于在节点之间传输数据。这些节点上可存储全量的账本,即存储全部区块和全部账户的状态。其中,区块链中的每个节点可通过执行相同的交易而产生区块链中的相同的状态,区块链中的每个节点可存储相同的状态数据库。
[0025]区块链领域中的交易可以指在区块链中执行并记录在区块链中的任务单元。交易中通常包括发送字段(From)、接收字段(To)和数据字段(Data)。其中,在交易为转账交易的情况中,From字段表示发起该交易(即发起对另一个账户的转账任务)的账户地址,To字段表示接收该交易(即接收转账)的账户地址,Data字段中包括转账金额。
[0026]区块链中可提供智能合约的功能。区块链上的智能合约是在区块链系统上可以被交易触发执行的合约。智能合约可以通过代码的形式定义。在区块链中调用智能合约,是发起一笔指向智能合约地址的交易,使得区块链中每个节点分布式地运行智能合约代码。
[0027]在部署合约的场景中,例如,Bob将一个包含创建智能合约信息(即部署合约)的交易发送到如图1所示的区块链中,该交易的data字段包括待创建的合约的代码(如字节码或者机器码),交易的to字段为空,以表示该交易用于部署合约。节点间通过共识机制达成一致后,确定合约的合约地址“0x6f8ae93
…”
,各个节点在状态数据库中添加与该智能合约的合约地址对应的合约账户,分配与该合约账户对应的状态存储,并存储合约代码,将合约代
码的哈希值保存在该合约的状态存储中,从而合约创建成功。
[0028]在调用合约的场景中,例如,Bob将一个用于调用智能合约的交易发送到如图1所示的区块链中,该交易的from字段是交易发起方(即Bob)的账户的地址,to字段为上述“0x6f8ae93
…”
,即被调用的智能合约的地址,交易的data字段包括调用智能合约的方法和参数。在区块链中对该交易进行共识之后,区块链中的各个节点可分别执行该交易,从而分别执行该合约,基于该合约的执行更新状态数据库。
[0029]区块链中可引入TEE,以用于保护隐私数据。TEE是基于CPU硬件的安全扩展、且与外部完全隔离的可信执行环境。目前工业界十分关注TEE的方案,几乎所有主流的芯片和软件联盟都有自己的TEE解决方案,比如软件方面的TPM(Trusted Platform Module,可信赖平台模块)以及硬件方面的Intel SGX(Software Guard Extensions,软件保护扩展)、ARM Tr本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种隐私交易的读写集生成方法,由区块链系统中的节点执行,所述节点中包括可信执行环境TEE,所述方法包括:将待执行的隐私交易提供到TEE内;所述TEE对所述隐私交易对应的密文解密得到明文,基于所述明文生成第一读写集,所述第一读写集包括所述隐私交易请求访问的参数的名称key;所述TEE在所述第一读写集中添加所述隐私交易未请求访问的参数的key,得到第二读写集,作为所述隐私交易的读写集。2.根据权利要求1所述的方法,所述第一读写集的写集中包括第一参数的key和第二参数的key,所述TEE在所述第一读写集中添加所述隐私交易未请求访问的参数的key包括:对所述第一参数的key和所述第二参数的key进行异或,得到第三参数的key,在所述第一读写集的写集中添加所述第三参数的key。3.根据权利要求2所述的方法,所述第一参数和所述第二参数为所述隐私交易中调用的合约中定义的变量。4.根据权利要求1或2所述的方法,还包括:将非隐私交易提供到TEE内;所述TEE根据所述非隐私交易生成所述非隐私交易的读写集;所述TEE根据所述隐私交易的读写集和所述非隐私交易的读写集,对多个交易进行分组,所述多个交易包括所述隐私交易和所述非隐私交易。5.根据权利要求4所述的方法,所述隐私交易对应的密文包括所述隐私交易中包括的密文内容和/或所述隐私交易调用的隐私合约的密文代码。6.根据权利要求5所述的方法,所述TEE中存储有对应的公钥和私钥,所述密文内容和所述密文代码通过基于所述公钥加密而生成,所述TEE对所述隐私交易对应的密文解密包括:所述TEE基于所述私钥对所述密文内容和/或所述密文代码解密。7.根据权利要求5所述的方法,还包括:并行执行通过分组得到的多个交易组,其中,在TEE外部执行所述非隐私交易,在所述TEE内执行所述隐私交易。8.根据权利要求7所述的方法,还包括:所述TEE在对所述多个交易分组之后,将所述分组结果信息提供到所述TEE外部,在所述TEE的外部基于所述分组结果信息确定所述多个交易组;所述并行执行通过分组得到的多个交易组包括:在所述TEE外部对所述多个交易组并行进行如下处理:对于一个交易组中的n个交易,在所述TEE的外部将所述n个交易中的非隐私交易分发到TEE外部、将所述n个交易中的隐私交易分发到TEE内。9.根据权利要求8所述的方法,所述TEE将所述分组结果信息提供到所述TEE外部包括:所述TEE基于第一交易组包括的多个第一隐私交易的读写集生成所述多个第一隐私交易的读集的并集;所述TEE将所述分组结果、所述第一交易组中的各个非隐私交易的读集、及所述并集提供所述TEE外部,所述并行执行通过分组得到的多个交易组包括:基于所述第一交易组中各个非隐私交易的读集和所述并集包括的多个参数的key,读取所述多个参数的值,将所述多个参数的值存储到所述TEE外部的缓存中,以用于执行所述第一交易组中的交易。
10.根据权利要求7...

【专利技术属性】
技术研发人员:黄祖城
申请(专利权)人:蚂蚁区块链科技上海有限公司
类型:发明
国别省市:

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

1