将区块链网络中的历史明文交易转为隐私交易的方法技术

技术编号:33130367 阅读:17 留言:0更新日期:2022-04-17 00:46
本公开涉及将区块链网络中的历史明文交易转为隐私交易的方法,包括:在区块链网络中创建非共识的第一新建区块链节点;由第一新建区块链节点从既有节点获取既有区块的数据;从包含有需转换的首个交易的首个既有区块开始逐个区块地:将每个既有区块中所包括的每条交易在其可信执行环境之外,将交易的交易内容通过第一加密过程加密为密文交易内容;以及在其可信执行环境中,将密文交易内容通过第一解密过程解密为明文交易内容,执行交易以得到明文执行结果,将得到的明文执行结果通过第二加密过程加密为密文执行结果,以及将密文执行结果从其可信执行环境输出;以及在其可信执行环境之外,根据密文交易内容和密文执行结果生成并链式存储第一区块。链式存储第一区块。链式存储第一区块。

【技术实现步骤摘要】
将区块链网络中的历史明文交易转为隐私交易的方法


[0001]本公开一个或多个实施例涉及将区块链网络中的历史明文交易转为隐私交易的方法、将区块链网络中的历史交易的隐私类型进行转换的方法、对区块链网络中的历史明文交易提供隐私保护的方法、以及用于区块链网络的节点。

技术介绍

[0002]区块链技术构建在传输网络(例如点对点网络)之上。传输网络中的网络节点利用链式数据结构来验证与存储数据,并采用分布式节点共识算法来生成和更新数据。
[0003]区块链一般被划分为三种类型:公有链(Public Blockchain),私有链(Private Blockchain)和联盟链(Consortium Blockchain)。此外,还有多种类型的结合,比如私有链+联盟链、联盟链+公有链等不同组合形式。其中去中心化程度最高的是公有链。公有链以比特币、以太坊为代表,加入公有链的参与者可以读取链上的数据记录、参与交易以及竞争新区块的记账权等。而且,各参与者(即节点)可自由加入以及退出网络,并进行相关操作。私有链则相反,该网络的写入权限由某个组织或者机构控制,数据读取权限受组织规定。简单来说,私有链可以为一个弱中心化系统,参与节点具有严格限制且少。这种类型的区块链更适合于特定机构内部使用。联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。联盟链中各个节点通常有与之相对应的实体机构或者组织;参与者通过授权加入网络并组成利益相关联盟,共同维护区块链运行。

技术实现思路

[0004]本公开一个或多个实施例的目的之一是提供将区块链网络中的历史明文交易转为隐私交易的方法、将区块链网络中的历史交易的隐私类型进行转换的方法、对区块链网络中的历史明文交易提供隐私保护的方法、以及用于区块链网络的节点。
[0005]根据本公开一个或多个实施例的第一方面,提供了一种将区块链网络中的历史明文交易转为隐私交易的方法,所述区块链网络包括一个或多个既有节点,所述方法包括:在所述区块链网络中创建第一新建区块链节点并将所述第一新建区块链节点配置为非共识节点,其中,所述第一新建区块链节点包括可信执行环境;由所述第一新建区块链节点从至少一个所述既有节点获取由所述既有节点存储的所有既有区块的数据,在所述既有区块中各交易被明文存储;从包含有需转换的首个交易的首个既有区块开始逐个区块地,由所述第一新建区块链节点:a.将每个既有区块中所包括的每条交易按顺序地:aa.在其可信执行环境之外,将交易的交易内容通过第一加密过程加密为密文交易内容;以及ab.在其可信执行环境中,将密文交易内容通过第一解密过程解密为明文交易内容,执行交易以得到明文执行结果,将得到的明文执行结果通过第二加密过程加密为密文执行结果,以及将密文执行结果从其可信执行环境输出;以及b.在其可信执行环境之外,根据每个既有区块中所包括的所有交易的密文交易内容和密文执行结果生成并链式存储第一区块。
[0006]根据本公开一个或多个实施例的第二方面,提供了一种将区块链网络中的历史明
文交易转为隐私交易的方法,所述区块链网络包括一个或多个既有节点,所述方法包括:在所述区块链网络中创建多个新建区块链节点,并将每个所述新建区块链节点配置为与其他的所述新建区块链节点共识并且不与所述既有节点共识,其中,每个所述新建区块链节点包括可信执行环境;由每个所述新建区块链节点:从至少一个所述既有节点获取由所述既有节点存储的所有既有区块的数据,在所述既有区块中各交易被明文存储;从包含有需转换的首个交易的首个既有区块开始逐个区块地:a.将每个既有区块中所包括的每条交易按顺序地:aa.在其可信执行环境之外,将交易的交易内容通过第一加密过程加密为密文交易内容;以及ab.在其可信执行环境中,将密文交易内容通过第一解密过程解密为明文交易内容,执行交易以得到明文执行结果,将得到的明文执行结果通过第二加密过程加密为密文执行结果,以及将密文执行结果从其可信执行环境输出;b.在其可信执行环境之外,根据每个既有区块中所包括的所有交易的密文交易内容和密文执行结果生成第一区块;c.在各所述新建区块链节点之间对第一区块进行共识过程;以及d.响应于共识通过,链式存储所述第一区块。
[0007]根据本公开一个或多个实施例的第三方面,提供了一种将区块链网络中的历史明文交易转为隐私交易的方法,所述区块链网络为第一区块链网络,所述方法包括:创建第二区块链网络,所述第二区块链网络包括一个或多个新建区块链节点,其中,每个所述新建区块链节点包括可信执行环境;从所述第一区块链网络中记录的第一条交易开始,按顺序地在所述第二区块链网络上重放每条交易,所述交易包括明文交易内容;由每个所述新建区块链节点:接收所述交易;在其可信执行环境之外,将交易内容通过第一加密过程加密为密文交易内容;在其可信执行环境中,将密文交易内容通过第一解密过程解密为明文交易内容,执行交易以得到明文执行结果,将得到的明文执行结果通过第二加密过程加密为密文执行结果,以及将密文执行结果从其可信执行环境输出;在其可信执行环境之外,根据各交易的密文交易内容和密文执行结果生成第一区块;在所述第二区块链网络内对第一区块进行共识过程;以及响应于共识通过,链式存储所述第一区块。
[0008]根据本公开一个或多个实施例的第四方面,提供了一种将区块链网络中的历史交易的隐私类型进行转换的方法,所述区块链网络包括一个或多个区块链节点,每个所述区块链节点包括可信执行环境,所述方法包括由每个所述区块链节点:回滚到需要进行隐私类型转换的最早的一条交易所在的最早区块;从所述最早区块开始逐个区块地将每个区块中所包括的每条交易按顺序地:响应于交易为需要被转为隐私交易的明文交易,执行第一过程;响应于交易为需要被转为明文交易的隐私交易,执行第二过程;以及响应于交易为不需要转换隐私类型的交易,执行第三过程,以分别得到各条交易的目标类型的交易内容和目标类型的执行结果;根据各条交易的目标类型的交易内容和目标类型的执行结果生成第一区块;在所述区块链网络内对第一区块进行共识过程;以及响应于共识通过,链式存储所述第一区块。
[0009]根据本公开一个或多个实施例的第五方面,提供了一种对区块链网络中的历史明文交易提供隐私保护的方法,包括:利用上述方法将所述区块链网络中的历史明文交易转为隐私交易;所述区块链网络中的区块链节点包括可信执行环境,由所述区块链节点:接收来自用户的查询特定历史交易的请求,所述请求包括用所述可信执行环境的非对称密钥对中的公钥加密后的密文密钥和用对称密钥加密的请求内容;在其可信执行环境中:用所述
非对称密钥对中的私钥将所述密文密钥进行解密,以得到所述对称密钥;用所述对称密钥对加密的请求内容进行解密,以得到明文请求;根据所述明文请求确定所述用户是否具有查询所述特定历史交易的权限;响应于所述用户具有查询所述特定历史交易的权限,获取来自可信执行环境之外的所述特定历史交易的第一密文交易信息;用所述非对称密钥对中的私钥将所述第一密文交易信息进行解密以得到明文交易信息;用所述对称密钥对所述明文交易信息进行加密以得到本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种将区块链网络中的历史明文交易转为隐私交易的方法,所述区块链网络包括一个或多个既有节点,所述方法包括:在所述区块链网络中创建第一新建区块链节点并将所述第一新建区块链节点配置为非共识节点,其中,所述第一新建区块链节点包括可信执行环境;由所述第一新建区块链节点从至少一个所述既有节点获取由所述既有节点存储的所有既有区块的数据,在所述既有区块中各交易被明文存储;从包含有需转换的首个交易的首个既有区块开始逐个区块地,由所述第一新建区块链节点:a.将每个既有区块中所包括的每条交易按顺序地:aa.在其可信执行环境之外,将交易的交易内容通过第一加密过程加密为密文交易内容;以及ab.在其可信执行环境中,将密文交易内容通过第一解密过程解密为明文交易内容,执行交易以得到明文执行结果,将得到的明文执行结果通过第二加密过程加密为密文执行结果,以及将密文执行结果从其可信执行环境输出;以及b.在其可信执行环境之外,根据每个既有区块中所包括的所有交易的密文交易内容和密文执行结果生成并链式存储第一区块。2.根据权利要求1所述的方法,其中,所述第一加密过程使用所述可信执行环境的非对称密钥对中的公钥进行,所述第一解密过程使用所述非对称密钥对中的私钥进行,所述第二加密过程使用所述非对称密钥对中的公钥进行。3.根据权利要求1所述的方法,其中,由所述第一新建区块链节点向至少一个既有节点发送数据同步请求,并由所述至少一个既有节点向所述第一新建区块链节点发送其存储的各既有区块,从而使得所述第一新建区块链节点获取由既有节点存储的所有既有区块的数据。4.根据权利要求1所述的方法,还包括:从包含有需转换的首个交易的首个既有区块开始逐个区块地,由所述第一新建区块链节点:在其可信执行环境之外,按顺序执行每个既有区块中所包括的所有交易得到各交易的明文执行结果;根据每个既有区块中所包括的所有交易的明文交易内容和得到的明文执行结果生成明文区块;根据明文区块的区块头和相应的既有区块的区块头对所述明文区块进行验证;以及响应于对所述明文区块的验证通过,进行操作a和b。5.根据权利要求1所述的方法,还包括:在所述区块链网络中创建一个或多个第二新建区块链节点并将每个所述第二新建区块链节点配置为非共识节点,其中,每个所述第二新建区块链节点包括可信执行环境;以及由每个所述第二新建区块链节点:c.从至少一个所述既有节点获取由所述既有节点存储的所有既有区块的数据,在所述既有区块中各交易被明文存储;从包含有需转换的首个交易的首个既有区块开始逐个区块地:
将每个既有区块中所包括的每条交易按顺序地:在其可信执行环境之外,将交易的交易内容通过所述第一加密过程加密为密文交易内容;以及在其可信执行环境中,将密文交易内容通过第一解密过程解密为明文交易内容,执行交易以得到明文执行结果,将得到的明文执行结果通过第二加密过程加密为密文执行结果,以及将密文执行结果从其可信执行环境输出;以及在其可信执行环境之外,根据每个既有区块中所包括的所有交易的密文交易内容和密文执行结果生成第二区块;根据第二区块的区块头和所述区块链网络中的其他新建区块链节点所存储的已完成明文交易转隐私交易的相应区块的区块头对所述第二区块进行验证;以及响应于验证通过,链式存储所述第二区块;或d.从所述区块链网络中的其他新建区块链节点获取其存储的已完成明文交易转隐私交易的区块数据;以及基于获取自其他新建区块链节点的已完成明文交易转隐私交易的区块数据,生成并链式存储各第二区块。6.根据权利要求1所述的方法,还包括:在操作a中、操作aa之前,在其可信执行环境之外,确定交易是否需要被转为隐私交易,响应于交易需要被转为隐私交易,进行操作aa及后续操作;以及响应于交易不需要被转为隐私交易,在其可信执行环境之外,执行交易以得到明文执行结果,其中,操作b还包括:在其可信执行环境之外,根据每个既有区块中所包括的所有交易中的需要被转为隐私交易的交易的密文交易内容和密文执行结果、以及不需要被转为隐私交易的交易的交易内容和明文执行结果,生成并链式存储第一区块。7.根据权利要求6所述的方法,还包括:预先建立配置参数,以指示各既有区块中的各交易是否需要被转为隐私交易,所述配置参数通过指定交易类型、交易所在的区块高度和/或交易编号、交易的发起方中的至少一个来进行所述指示。8.根据权利要求1或5所述的方法,还包括:停用所述区块链网络所包括的所有既有节点,并且将每个新建区块链节点配置为共识节点;或当所述区块链网络所包括的新建区块链节点为大多数时,将每个新建区块链节点配置为共识节点。9.一种将区块链网络中的历史明文交易转为隐私交易的方法,所述区块链网络包括一个或多个既有节点,所述方法包括:在所述区块链网络中创建多个新建区块链节点,并将每个所述新建区块链节点配置为与其他的所述新建区块链节点共识并且不与所述既有节点共识,其中,每个所述新建区块链节点包括可信执行环境;由每个所述新建区块链节点:从至少一个所述既有节点获取由所述既有节点存储的所有既有区块的数据,在所述既
有区块中各交易被明文存储;从包含有需转换的首个交易的首个既有区块开始逐个区块地:a.将每个既有区块中所包括的每条交易按顺序地:aa.在其可信执行环境之外,将交易的交易内容通过第一加密过程加密为密文交易内容;以及ab.在其可信执行环境中,将密文交易内容通过第一解密过程解密为明文交易内容,执行交易以得到明文执行结果,将得到的明文执行结果通过第二加密过程加密为密文执行结果,以及将密文执行结果从其可信执行环境输出;b.在其可信执行环境之外,根据每个既有区块中所包括的所有交易的密文交易内容和密文执行结果生成第一区块;c.在各所述新建区块链节点之间对第一区块进行共识过程;以及d.响应于共识通过,链式存储所述第一区块。10.根据权利要求9所述的方法,其中,所述第一加密过程使用所述可信执行环境的非对称密钥对中的公钥进行,所述第一解密过程使用所述非对称密钥对中的私钥进行,所述第二加密过程使用所述非对称密钥对中的公钥进行。11.根据权利要求9所述的方法,其中,由每个所述新建区块链节点向至少一个既有节点发送数据同步请求,并由所述至少一个既有节点向相应的所述新建区块链节点发送其存储的各既有区块,从而使得每个所述新建区块链节点获取由既有节点存储的所有既有区块的数据。12.根据权利要求9所述的方法,还包括:在操作a中、操作aa之前,在其可信执行环境之外,确定交易是否需要被转为隐私交易,响应于交易需要被转为隐私交易,进行操作aa及后续操作;以及响应于交易不需要被转为隐私交易,在其可信执行环境之外,执行交易以得到明文执行结果,其中,操作b还包括:在其可信执行环境之外,根据每个既有区块中所包括的所有交易中的需要被转为隐私交易的交易的密文交易内容和密文执行结果、以及不需要被转为隐私交易的交易的交易内容和明文执行结果,生成第一区块。13.根据权利要求12所述的方法,还包括:预先建立配置参数,以指示各既有区块中的各交易是否需要被转为隐私交易,所述配置参数通过指定交易类型、交易所在的区块高度和/或交易编号、交易的发起方中的至少一个来进行所述指示。14.根据权利要求9所述的方法,还包括:在每个所述新建区块链节点对每条历史交易完成转换之后,停用所述区块链网络所包括的所有既有节点。15.一种将区块链网络中的历史明文交易转为隐私交易的方法,所述区块链网络为第一区块链网络,所述方法包括:创建第二区块链网络,所述第二区块链网络包括一个或多个新建区块链节点,其中,每个所述新建区块链节点包括可信执行环境;从所述第一区块链网络中记录的第一条交易开始,按顺序地在所述第二区块链网络上
重放每条交易,所述交易包括明文交易内容;由每个所述新建区块链节点:接收所述交易;在其可信执行环境之外,将交易内容通过第一加密过程加密为密文交易内容;在其可信执行环境中,将密文交易内容通过第一解密过程解密为明文交易内容,执行交易以得到明文执行结果,将得到的明文执行结果通过第二加密过程加密为密文执行结果,以及将密文执行结果从其可信执行环境输出;在其可信执行环境之外,根据各交易的密文交易内容和密文执行结果生成第一区块;在所述第二区块链网络内对第一区块进行共识过程;以及响应于共识通过,链式存储所述第一区块。16.根据权利要求15所述的方法,其中,所述第一加密过程使用所述可信执行环境的非对称密钥对中的公钥进行,所述第一解密过程使用所述非对称密钥对中的私钥进行,所述第二加密过程使用所述非对称密钥对中的公钥进行。17.根据权利要求15所述的方法,还包括:由每个所述新建区块链节点:在接收所述交易之后,在其可信执行环境之外,确定交易是否需要被转为隐私交易;响应于交易需要被转为隐私交易:在其可信执行环境之外,将交易内容通过第一加密过程加密为密文交易内容;以及在其可信执行环境中,将密文交易内容通过第一解密过程解密为明文交易内容,执行交易以得到明文执行结果,将得到的明文执行结果通过第二加密过程加密为密文执行结果,以及将密文执行结果从其可信执行环境输出;响应于交易不需要被转为隐私交易:在其可信执行环境之外,执行交易以得到明文执行结果;在其可信执行环境之外,根据需要被转为隐私交易的交易的密文交易内容和密文执行结果、以及不需要被转为隐私交易的交易的交易内容和明文执行结果,生成第一区块。18.根据权利要求17所述的方法,还包括:预先建立配置参数,以指示各交易是否需要被转为隐私交易,所述配置参数通过指定交易类型、交易所在的区块高度和/或交易编号、交易的发起方中的至少一个来进行所述指示。19.根据权利要求15所述的方法,还包括:停用所述第一区块链网络并启用所述第二区块链网络以代替所述第一区块链网络提供服务。20.根据权利要求15所述的方法,其中,所述重放由所述第一区块链网络的用户、所述第一区块链网络的管理平台、或所述第一区块链网络中的节点进行。21.一种将区块链网络中的历史交易的隐私类型进行转换的方法,所述区块链网络包括一个或多个区块链节点,每个所述区块链节点包括可信执行环境,所述方法包括由每个所述区块链节点:回滚到需要进行隐私类型转换的最早的一条交易所在的最早区块;从所述最早区块开始逐个区块地将每个区块中所包括的每条交易按顺序地:
响应于交易为需要被转为隐私交易的明文交易,执行第一过程;响应于交易为需要被转为明文交易的隐私交易,执行第二过程;以及响应于交易为不需要转换隐私类型的交易,执行第三过程,以分别得到各条交易的目标类型的交易内容和目标类型的执行结果;根据各条交易的目标类型的交易内容和目标类型的执行结果生成第一区块;在所述区块链网络内对第一区块进行共识过程;以及响应于共识通过,链式存储所述第一区块。22.根据权利要求21所述的方法,其中,所述第一过程包括:在其可信执行环境之外,将交易的交易内容通过第一加密过程加密为并存储密文交易内容;在其可信执行环境中,将密文交易内容通过第一解密过程解密为明文交易内容,执行交易以得到明文执行结果,将得到的明文执行结果通过第二加密过程加密为密文执行结果,以及将密文执行结果从其可信执行环境输出;以及在其可信执行环境之外,存储密文执行结果。23.根据权利要求22所述的方法,其中,所述第一加密过程使用所述可信执行环境的非对称密钥对中的公钥进行,所述第一解密过程使用所述非对称密钥对中的私钥进行,所述第二加密过程使用所述非对称密钥对中的公钥进行。24.根据权利要求21所述的方法,其中,所述第二过程包括:在其可信执行环境中,通过第二解密过程对交易的密文交易内容进行解密以得到明文交易内容,将得到的明文交易内容从其可信执行环境输出;在其可信执行环境之外,存储明文交易内容并执行交易以得到明文执行结果,以及存储明文执行结果。25.根据权利要求24所述的方法,其中,所述第二解密过程使用所述可信执行环境的非对称密钥对中的私钥进行。26.根据权利要求21所述的方法,其中,所述第三过程包括:存储所述交易的交易内容和执行结果。27.根据权利要求21所述的方法,还包括:预先建立配置参数,以指示各交易是否需要进行隐私类型转换以及转换的目标类型,所述配置参数通过指定交易类型、交易所在的区块高度和/或交易编号、交易的发起方中的至少一个来进行所述指示。28.一种对区块链网络中的历史明文交易提供隐私保护的方法,包括:利用权利要求1

27中任一项所述的方法,将所述区块链网络中的历史明文交易转为隐私交易;所述区块链网络中的区块链节点包括可信执行环境,由所述区块链节点:接收来自用户的查询特定历史交易的请求,所述请求包括用所述可信执行环境的非对称密钥对中的公钥加密后的密文密钥和用对称密钥加密的请求内容;在其可信执行环境中:用所述非对称密钥对中的私钥将所述密文密钥进行解密,以得到所述对称密钥;用所述对称密钥对加密的请求内容进行解密,以得到明文请求;
根据所述明文请求确定所述用户是否具有查询所述特定历史交易的权限;响应于所述用户具有查询所述特定历史交易的权限,获取来自可信执...

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

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

1