基于区块链的交易数据混淆方法及相关设备
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于区块链的交易数据混淆方法及相关设备。
背景技术
在区块链技术中,为了保证交易数据的不可篡改,通常会将交易数据上传添加至区块链,但是这样就会导致区块链网络中的任意节点均可以获取到该交易数据,使交易数据失去了保密性,同时,任意节点均可以查看该交易数据的交易双方,无法实现交易的匿名。
因此,如何提高交易数据的保密性,同时实现交易的匿名是一个亟待解决的技术问题。
发明内容
鉴于以上内容,有必要提供一种基于区块链的交易数据混淆方法及相关设备,能够提高交易数据的保密性,实现交易的匿名,同时,还能够实现交易数据的监管。
本发明的第一方面提供一种基于区块链的交易数据混淆方法,应用于混淆服务提供商节点设备,所述方法包括:
接收供应商节点设备针对目标机密交易发送的混淆请求,所述混淆请求携带有目标随机数;
使用所述目标随机数对所述目标机密交易进行混淆,获得混淆交易;
从监管机构节点设备获取随机映射参数以及签名后的第一挑战参数;
生成多个第一随机数,并根据所述多个第一随机数以及所述第一挑战参数,计算第二挑战参数,以及根据所述第二挑战参数计算第三挑战参数;
计算第一中间变量和第二中间变量;
根据所述第一挑战参数、所述第二挑战参数、所述第三挑战参数以及所述第一中间变量,进行乘积证明;
根据所述目标机密交易、所述混淆交易、所述随机映射参数以及所述第二中间变量,进行乘幂证明;
输出所述混淆交易、所述乘积证明的结果以及所述乘幂证明的结果。
在一种可能的实现方式中,所述使用所述目标随机数对所述目标机密交易进行混淆,获得混淆交易包括:
利用如下公式,使用所述目标随机数对所述目标机密交易进行混淆,获得混淆交易,所述公式为:
C′i=hrCπ(i)
其中,所述C′i为所述混淆交易,Cπ(i)为所述目标机密交易,h为系统参数,r为所述目标随机数。
在一种可能的实现方式中,所述第二挑战参数y=Hash(C
B1||...||C
Bu),其中,
g
1,g
2,...,g
v,h均为系统参数,{s
1,...,s
u}为u个所述第一随机数,x为所述第一挑战参数,π(i)为所述随机映射参数,π(i)的范围为[1,k],C
Bi为第三中间变量。
在一种可能的实现方式中,所述第三挑战参数z=Hash(C
B1||...||C
Bu||y),所述第一中间变量
其中,
所述第二中间变量
其中,ρ
i为第二随机数。
在一种可能的实现方式中,所述根据所述第一挑战参数、所述第二挑战参数、所述第三挑战参数以及所述第一中间变量,进行乘积证明包括:
利用乘积证明公式,根据所述第一挑战参数、所述第二挑战参数、所述第三挑战参数以及所述第一中间变量,进行乘积证明,所述乘积证明公式如下:
在一种可能的实现方式中,所述根据所述目标机密交易、所述混淆交易、所述随机映射参数以及所述第二中间变量,进行乘幂证明包括:
利用乘幂证明公式,根据所述目标机密交易、所述混淆交易、所述随机映射参数以及所述第二中间变量,进行乘幂证明,其中,所述乘幂证明公式如下:
本发明的第二方面提供一种基于区块链的交易数据混淆方法,应用于监管机构节点设备,所述方法包括:
生成随机映射参数;
根据所述随机映射参数,计算第一挑战参数;
使用私钥对所述第一挑战参数进行签名;
将签名后的第一挑战参数以及所述随机映射参数发送至混淆服务提供商节点设备,以使得所述混淆服务提供商节点设备根据所述签名后的第一挑战参数以及所述随机映射参数对目标机密交易进行可监管的混淆证明。
在一种可能的实现方式中,所述方法还包括:
保存所述签名后的第一挑战参数以及所述随机映射参数;
获取供应商节点设备发送的目标机密交易,并使用所述签名后的第一挑战参数以及所述随机映射参数对所述目标机密交易进行监管。
本发明的第三方面提供一种区块链节点设备,所述区块链节点设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的区块链交易数据证明监管方法的下载程序,所述区块链交易数据证明监管方法的下载程序被所述处理器执行时实现所述的基于区块链的交易数据混淆方法。
本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有区块链交易数据证明监管方法的下载程序,所述区块链交易数据证明监管方法的下载程序可被一个或者多个处理器执行以实现所述的基于区块链的交易数据混淆方法。
在上述技术方案中,目标机密交易是加密后的交易,只有交易双方能够解密目标机密交易中的金额,保护了交易隐私不被泄露,同时,通过对目标机密交易进行混淆,获得与所述目标机密交易等值的混淆交易,实现了交易的匿名,同时,从监管机构节点设备获取需要的参数,便于监管方后续对上链的交易数据进行监管。
附图说明
图1是本发明公开的一种基于区块链的交易数据混淆方法的较佳实施例的流程图。
图2是本发明公开的另一种基于区块链的交易数据混淆方法的较佳实施例的流程图。
图3是本发明公开的一种交易数据混淆装置的较佳实施例的功能模块图。
图4是本发明公开的另一种交易数据混淆装置的较佳实施例的功能模块图。
图5是本发明实现基于区块链的交易数据混淆方法的较佳实施例的区块链节点设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”是用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
请参见图1,图1是本发明公开的一种基于区块链的交易数据混淆方法的较佳实施例的流程图。
其中,所述基于区块链的交易数据混淆方法应用于混淆服务提供商节点设备中,所述基于区块链的交易数据混淆方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
S11、接收供应商节点设备针对目标机密交易发送的混淆请求。
其中,所述混淆请求携带有目标随机数,所述目标随机数用于对区块链上原始的交易进行混淆。其中,所述目标机密交易可以是一个也可以是多个。
供应商节点设备在发送混淆请求之前,需要预先进行一系列的操作。
举例来说,假设所述目标机密交易
所述供应商节点设备发送交易
上链,附带Gas,其中,g、h均为系统参数,x
1为交易金额,r
1为随机数,Gas代表了该交易可以进行混淆的次数。
首先,所述供应商节点设备选择目标随机数r
2,并计算混淆之后的结果
以及混淆之后的Gas’,Gas’具体值取决于系统具体参数的设置,假设Gas的初始值为3,每次混淆减1。所述供应商节点设备计算hash
1=Hash(C′
1||Gas′),并将hash
1映射到
为
其中,
为交易金额的取值范围,
为交易金额,并计算
并提供证明:Chaum-Pedersen(C′
1,C
Hash),
其中,C
Hash为中间变量,Chaum-Pedersen(C′
1,C
Hash)证明所述供应商节点设备可以揭露C′
1,也就意味着所述供应商节点设备是所述目标机密交易的拥有者;
证明了该轮混淆之后的Gas是能够被所述供应商节点设备接受的正确Gas值。
之后,所述供应商节点设备即可将携带有
的混淆请求发送给所述混淆服务提供商节点设备,以触发所述混淆服务提供商节点设备对所述目标机密交易进行混淆。
其中,Chaum-Pedersen证明属于现有技术,在此不再赘述。
S12、使用所述目标随机数对所述目标机密交易进行混淆,获得混淆交易。
具体的,所述使用所述目标随机数对所述目标机密交易进行混淆,获得混淆交易包括:
利用如下公式,使用所述目标随机数对所述目标机密交易进行混淆,获得混淆交易,所述公式为:
C′i=hrCπ(i)
其中,所述C′i为所述混淆交易,Cπ(i)为所述目标机密交易,h为系统参数,r为所述目标随机数,π(i)为[1,k]范围内的随机映射参数。
其中,所述目标机密交易与所述混淆交易等值。
S13、从监管机构节点设备获取随机映射参数以及签名后的第一挑战参数。
其中,混淆服务提供商节点设备计算出混淆交易后,还需要进行混淆证明。
为了便于监管方对交易的监管,可以预先从监管机构节点设备中获取随机映射参数以及签名后的第一挑战参数,其中,所述随机映射参数π(i)属于为[1,k]范围内,{π(1),π(2),...,π(k)}是{1,2,...,k}的重新排列。
其中,所述第一挑战参数x=Hash(C
A1||...||C
Au),
g
1,g
2,...,g
v,h均为系统参数,{r
A1,...,r
Au}为u个随机变量。
监管机构节点设备在生成所述第一挑战参数x之后,即可使用私钥对所述第一挑战参数x进行签名,并发送给混淆服务提供商节点设备。
S14、生成多个第一随机数,并根据所述多个第一随机数以及所述第一挑战参数,计算第二挑战参数,以及根据所述第二挑战参数计算第三挑战参数。
其中,所述第二挑战参数y=Hash(C
B1||...||C
Bu),其中,
g
1,g
2,...,g
u,h均为系统参数,{s
1,...,s
u}为u个所述第一随机数,x为所述第一挑战参数,π(i)为所述随机映射参数,π(i)的范围为[1,k],C
Bi为第三中间变量。
其中,所述第三挑战参数z=Hash(C
B1||...||C
Bu||y),所述第一中间变量
其中,
所述第二中间变量
其中,ρ
i为第二随机数。
S15、计算第一中间变量和第二中间变量。
其中,ρi为所述混淆服务提供商节点设备自己生成的随机数。
S16、根据所述第一挑战参数、所述第二挑战参数、所述第三挑战参数以及所述第一中间变量,进行乘积证明。
具体的,所述根据所述第一挑战参数、所述第二挑战参数、所述第三挑战参数以及所述第一中间变量,进行乘积证明包括:
利用乘积证明公式,根据所述第一挑战参数、所述第二挑战参数、所述第三挑战参数以及所述第一中间变量,进行乘积证明,所述乘积证明公式如下:
其中,乘积证明的具体证明方法中还可以利用其它的中间变量,乘积证明的具体方法属于现有技术,在此不再赘述。上述乘积证明可以用于证明混淆服务提供商节点设备找到了一个随机的混淆π(i),证明混淆前后的顺序被打乱。
S17、根据所述目标机密交易、所述混淆交易、所述随机映射参数以及所述第二中间变量,进行乘幂证明。
具体的,所述根据所述目标机密交易、所述混淆交易、所述随机映射参数以及所述第二中间变量,进行乘幂证明包括:
利用乘幂证明公式,根据所述目标机密交易、所述混淆交易、所述随机映射参数以及所述第二中间变量,进行乘幂证明,其中,所述乘幂证明公式如下:
其中,乘幂证明的具体证明方法中还可以利用其它的中间变量,乘幂证明的具体方法属于现有技术,在此不再赘述。上述乘幂证明可以用于证明乘幂证明中的π(i)与乘积证明中使用的π(i)是同一个π(i),即证明了混淆的方法是相同的。
其中,由于随机映射参数以及签名后的第一挑战参数是从监管机构节点设备中获取的,使用监管机构节点设备中获取的随机映射参数以及签名后的第一挑战参数来进行可证明混淆的算法可以称为可监管的可证明混淆算法(Verifiable shuffle with multi-regulators)。后续监管机构节点设备可以利用自己保存的随机映射参数以及签名后的第一挑战参数来对需要混淆的交易进行混淆追踪及监管。
S18、输出所述混淆交易、所述乘积证明的结果以及所述乘幂证明的结果。
可选的,还可以输出上述供应商节点设备提供的相关参数及证明,比如输出
在图1所描述的方法流程中,目标机密交易是加密后的交易,只有交易双方能够解密目标机密交易中的金额,保护了交易隐私不被泄露,同时,通过对目标机密交易进行混淆,获得与所述目标机密交易等值的混淆交易,实现了交易的匿名,同时,从监管机构节点设备获取需要的参数,便于监管方后续对上链的交易数据进行监管。
请参见图2,图2是本发明公开的另一种基于区块链的交易数据混淆方法的较佳实施例的流程图。
其中,所述基于区块链的交易数据混淆方法应用于监管机构节点设备中,所述基于区块链的交易数据混淆方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
S21、生成随机映射参数。
其中,监管机构节点设备可以随机选择随机映射参数π(i),其中,所述随机映射参数π(i)属于为[1,k]范围内,{π(1),π(2),…,π(k)}是{1,2,…,k}的重新排列。
S22、根据所述随机映射参数,计算第一挑战参数。
监管机构节点设备可以根据所述随机映射参数,计算第一挑战参数。
具体的,可以计算
x=Hash(C
A1||…||C
Au),
其中,g1,g2,…,gv,h均为系统参数,{rA1,…,rAu}为u个随机变量,x为所述第一挑战参数。
S23、使用私钥对所述第一挑战参数进行签名。
监管机构节点设备可以使用私钥对所述第一挑战参数进行签名,并将签名保存在本地。
S24、将签名后的第一挑战参数以及所述随机映射参数发送至混淆服务提供商节点设备,以使得所述混淆服务提供商节点设备根据所述签名后的第一挑战参数以及所述随机映射参数对目标机密交易进行可监管的混淆证明。
其中,监管机构节点设备在生成所述随机映射参数以及签名后的第一挑战参数之后,即可将签名后的第一挑战参数以及所述随机映射参数发送至混淆服务提供商节点设备。这样,所述混淆服务提供商节点设备即可根据所述签名后的第一挑战参数以及所述随机映射参数,利用上文实施例一所述的可监管的可证明混淆算法来对目标机密交易进行可监管的混淆证明。其中,目标机密交易为需要进行混淆且加密后的机密交易。
可选的,所述方法还包括:
保存所述签名后的第一挑战参数以及所述随机映射参数;
获取供应商节点设备发送的目标机密交易,并使用所述签名后的第一挑战参数以及所述随机映射参数对所述目标机密交易进行监管。
在该实施例中,监管机构节点设备可以保存所述签名后的第一挑战参数以及所述随机映射参数,当在区块链上获取到供应商节点设备发送的目标机密交易时,可以使用所述签名后的第一挑战参数以及所述随机映射参数对所述目标机密交易进行解密、监管以及追踪交易的混淆。
在图2所描述的方法流程中,由于混淆服务提供商节点设备进行混淆证明的随机映射参数和第一挑战参数是从监管机构节点设备中获取得到的,因此,监管机构节点设备可以利用自己生成并保存的随机映射参数以及签名后的第一挑战参数对区块链上的交易进行监管,同时,追踪交易的混淆。
以上所述,仅是本发明的具体实施方式,但本发明的保护范围并不局限于此,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。
请参见图3,图3是本发明公开的一种交易数据混淆装置的较佳实施例的功能模块图。
在一些实施例中,所述交易数据混淆装置运行于混淆服务提供商节点设备中。所述交易数据混淆装置可以包括多个由程序代码段所组成的功能模块。所述交易数据混淆装置中的各个程序段的程序代码可以存储于存储器中,并由至少一个处理器所执行,以执行图1所描述的基于区块链的交易数据混淆方法中的部分或全部步骤。
本实施例中,所述交易数据混淆装置根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:接收模块301、混淆模块302、获取模块303、计算模块304、证明模块305及输出模块306。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。
接收模块301,用于接收供应商节点设备针对目标机密交易发送的混淆请求,所述混淆请求携带有目标随机数。
其中,所述混淆请求携带有目标随机数,所述目标随机数用于对区块链上原始的交易进行混淆。其中,所述目标机密交易可以是一个也可以是多个。
供应商节点设备在发送混淆请求之前,需要预先进行一系列的操作。
举例来说,假设所述目标机密交易
所述供应商节点设备发送交易
上链,附带Gas,其中,g、h均为系统参数,x
1为交易金额,r
1为随机数,Gas代表了该交易可以进行混淆的次数。
首先,所述供应商节点设备选择目标随机数r
2,并计算混淆之后的结果
以及混淆之后的Gas’,Gas’具体值取决于系统具体参数的设置,假设Gas的初始值为3,每次混淆减1。所述供应商节点设备计算hash
1=Hash(C′
1||Gas′),并将hash
1映射到
为
其中,
为交易金额的取值范围,
为交易金额,并计算
并提供证明:Chaum-Pedersen(C′
1,C
Hash),
其中,C
Hash为中间变量,Chaum-Pedersen(C′
1,C
Hash)证明所述供应商节点设备可以揭露C′
1,也就意味着所述供应商节点设备是所述目标机密交易的拥有者;
证明了该轮混淆之后的Gas是能够被所述供应商节点设备接受的正确Gas值。
之后,所述供应商节点设备即可将携带有
的混淆请求发送给所述混淆服务提供商节点设备,以触发所述混淆服务提供商节点设备对所述目标机密交易进行混淆。
其中,Chaum-Pedersen证明属于现有技术,在此不再赘述。
混淆模块302,用于使用所述目标随机数对所述目标机密交易进行混淆,获得混淆交易。
具体的,所述混淆模块302使用所述目标随机数对所述目标机密交易进行混淆,获得混淆交易包括:
利用如下公式,使用所述目标随机数对所述目标机密交易进行混淆,获得混淆交易,所述公式为:
C′i=hrCπ(i)
其中,所述C′i为所述混淆交易,Cπ(i)为所述目标机密交易,h为系统参数,r为所述目标随机数。
其中,所述目标机密交易与所述混淆交易等值。
获取模块303,用于从监管机构节点设备中获取随机映射参数以及签名后的第一挑战参数。
其中,混淆服务提供商节点设备计算出混淆交易后,还需要进行混淆证明。
为了便于监管方对交易的监管,可以预先从监管机构节点设备中获取随机映射参数以及签名后的第一挑战参数,其中,所述随机映射参数π(i)属于为[1,k]范围内,{π(1),π(2),…,π(k)}是{1,2,…,k}的重新排列。
其中,所述第一挑战参数x=Hash(C
A1||…||C
Au),
g
1,g
2,…,g
v,h均为系统参数,{r
A1,…,r
Au}为u个随机变量。
监管机构节点设备在生成所述第一挑战参数x之后,即可使用私钥对所述第一挑战参数x进行签名,并发送给混淆服务提供商节点设备。
计算模块304,用于生成多个第一随机数,并根据所述多个第一随机数以及所述第一挑战参数,计算第二挑战参数,以及根据所述第二挑战参数计算第三挑战参数。
所述第二挑战参数y=Hash(C
B1||…||C
Bu),其中,
g
1,g
2,…,g
v,h均为系统参数,{s
1,…,s
u}为u个所述第一随机数,x为所述第一挑战参数,π(i)为所述随机映射参数,π(i)的范围为[1,k],C
Bi为第三中间变量。
所述第三挑战参数z=Hash(C
B1||…||C
Bu||y),所述第一中间变量
其中,
所述第二中间变量
其中,ρ
i为第二随机数。
所述计算模块304,还用于计算第一中间变量和第二中间变量。
其中,ρi为所述混淆服务提供商节点设备自己生成的随机数。
证明模块305,用于根据所述第一挑战参数、所述第二挑战参数、所述第三挑战参数以及所述第一中间变量,进行乘积证明。
具体的,所述证明模块305根据所述第一挑战参数、所述第二挑战参数、所述第三挑战参数以及所述第一中间变量,进行乘积证明包括:
利用乘积证明公式,根据所述第一挑战参数、所述第二挑战参数、所述第三挑战参数以及所述第一中间变量,进行乘积证明,所述乘积证明公式如下:
其中,乘积证明的具体证明方法中还可以利用其它的中间变量,乘积证明的具体方法属于现有技术,在此不再赘述。上述乘积证明可以用于证明混淆服务提供商节点设备找到了一个随机的混淆π(i),证明混淆前后的顺序被打乱。
所述证明模块305,还用于根据所述目标机密交易、所述混淆交易、所述随机映射参数以及所述第二中间变量,进行乘幂证明。
具体的,所述证明模块305根据所述目标机密交易、所述混淆交易、所述随机映射参数以及所述第二中间变量,进行乘幂证明包括:
利用乘幂证明公式,根据所述目标机密交易、所述混淆交易、所述随机映射参数以及所述第二中间变量,进行乘幂证明,其中,所述乘幂证明公式如下:
其中,乘幂证明的具体证明方法中还可以利用其它的中间变量,乘幂证明的具体方法属于现有技术,在此不再赘述。上述乘幂证明可以用于证明乘幂证明中的π(i)与乘积证明中使用的π(i)是同一个π(i),即证明了混淆的方法是相同的。
其中,由于随机映射参数以及签名后的第一挑战参数是从监管机构节点设备中获取的,使用监管机构节点设备中获取的随机映射参数以及签名后的第一挑战参数来进行可证明混淆的算法可以称为可监管的可证明混淆算法(Verifiable shuffle with multi-regulators)。后续监管机构节点设备可以利用自己保存的随机映射参数以及签名后的第一挑战参数来对需要混淆的交易进行混淆追踪及监管。
输出模块306,用于输出所述混淆交易、所述乘积证明的结果以及所述乘幂证明的结果。
可选的,还可以输出上述供应商节点设备提供的相关参数及证明,比如输出
在图3所描述的装置中,目标机密交易是加密后的交易,只有交易双方能够解密目标机密交易中的金额,保护了交易隐私不被泄露,同时,通过对目标机密交易进行混淆,获得与所述目标机密交易等值的混淆交易,实现了交易的匿名,同时,从监管机构节点设备获取需要的参数,便于监管方后续对上链的交易数据进行监管。
请参见图4,图4是本发明公开的一种交易数据混淆装置的较佳实施例的功能模块图。
在一些实施例中,所述交易数据混淆装置运行于混淆服务提供商节点设备中。所述交易数据混淆装置可以包括多个由程序代码段所组成的功能模块。所述交易数据混淆装置中的各个程序段的程序代码可以存储于存储器中,并由至少一个处理器所执行,以执行图2所描述的基于区块链的交易数据混淆方法中的部分或全部步骤。
本实施例中,所述交易数据混淆装置根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:生成模块401、计算模块402、签名模块403及发送模块404。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。
生成模块401,用于生成随机映射参数。
其中,监管机构节点设备可以随机选择随机映射参数π(i),其中,所述随机映射参数π(i)属于为[1,k]范围内,{π(1),π(2),…,π(k)}是{1,2,…,k}的重新排列。
计算模块402,用于根据所述随机映射参数,计算第一挑战参数。
监管机构节点设备可以根据所述随机映射参数,计算第一挑战参数。
具体的,可以计算
x=Hash(C
A1||…||C
Au),
其中,g1,g2,…,gv,h均为系统参数,{rA1,…,rAu}为u个随机变量,x为所述第一挑战参数。
签名模块403,用于使用私钥对所述第一挑战参数进行签名。
监管机构节点设备可以使用私钥对所述第一挑战参数进行签名,并将签名保存在本地。
发送模块404,用于将签名后的第一挑战参数以及所述随机映射参数发送至混淆服务提供商节点设备,以使得所述混淆服务提供商节点设备根据所述签名后的第一挑战参数以及所述随机映射参数对目标机密交易进行可监管的混淆证明。
其中,监管机构节点设备在生成所述随机映射参数以及签名后的第一挑战参数之后,即可将签名后的第一挑战参数以及所述随机映射参数发送至混淆服务提供商节点设备。这样,所述混淆服务提供商节点设备即可根据所述签名后的第一挑战参数以及所述随机映射参数,利用上文实施例一所述的可监管的可证明混淆算法来对目标机密交易进行可监管的混淆证明。其中,目标机密交易为需要进行混淆且加密后的机密交易。
可选的,所述交易数据混淆装置还包括:
保存模块,用于保存所述签名后的第一挑战参数以及所述随机映射参数;
获取模块,用于获取供应商节点设备发送的目标机密交易;
监管模块,用于使用所述签名后的第一挑战参数以及所述随机映射参数对所述目标机密交易进行监管。
在该实施例中,监管机构节点设备可以保存所述签名后的第一挑战参数以及所述随机映射参数,当在区块链上获取到供应商节点设备发送的目标机密交易时,可以使用所述签名后的第一挑战参数以及所述随机映射参数对所述目标机密交易进行解密、监管以及追踪交易的混淆。
在图4所描述的装置中,由于混淆服务提供商节点设备进行混淆证明的随机映射参数和第一挑战参数是从监管机构节点设备中获取得到的,因此,监管机构节点设备可以利用自己生成并保存的随机映射参数以及签名后的第一挑战参数对区块链上的交易进行监管,同时,追踪交易的混淆。
请参见图5,图5是本发明实现基于区块链的交易数据混淆方法的较佳实施例的区块链节点设备的结构示意图。在本实施例中,所述区块链节点设备5可以包括存储器51、处理器52和总线53及收发器54。
图5仅示出了具有组件51-54的所述区块链节点设备5,本领域技术人员可以理解的是,图5示出的结构并不构成对所述区块链节点设备5的限定,既可以是总线型结构,也可以是星形结构,所述区块链节点设备5还可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
其中,存储器51至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器51在一些实施例中可以是所述区块链节点设备5的内部存储单元,例如所述区块链节点设备5的硬盘。存储器51在另一些实施例中也可以是所述区块链节点设备5的外部存储设备,例如所述区块链节点设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器51还可以既包括所述区块链节点设备5的内部存储单元,也包括外部存储设备。存储器51不仅可以用于存储安装于所述区块链节点设备5的应用程序及各类数据,例如,交易数据混淆装置及其各个功能模块,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器52在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器,用于运行存储器51中存储的程序代码或处理数据。
该总线53可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,所述区块链节点设备5还可以包括网络接口,网络接口可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该区块链节点设备5与其他调度服务器之间建立通信连接。
可选地,该区块链节点设备5还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元,比如键盘(Keyboard),可选的,用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。其中,显示器也可以称为显示屏或显示单元,用于显示在所述调度服务器中处理的消息以及用于显示可视化的用户界面。
结合图1,当所述区块链节点设备5是混淆服务提供商节点设备时,存储器51中存储有多个指令,所述处理器52可执行所述多个指令从而实现:
接收供应商节点设备针对目标机密交易发送的混淆请求,所述混淆请求携带有目标随机数;
使用所述目标随机数对所述目标机密交易进行混淆,获得混淆交易;
从监管机构节点设备中获取随机映射参数以及签名后的第一挑战参数;
生成多个第一随机数,并根据所述多个第一随机数以及所述第一挑战参数,计算第二挑战参数,以及根据所述第二挑战参数计算第三挑战参数;
计算第一中间变量和第二中间变量;
根据所述第一挑战参数、所述第二挑战参数、所述第三挑战参数以及所述第一中间变量,进行乘积证明;
根据所述目标机密交易、所述混淆交易、所述随机映射参数以及所述第二中间变量,进行乘幂证明;
输出所述混淆交易、所述乘积证明的结果以及所述乘幂证明的结果。
在一种可选的实施方式中,所述处理器52使用所述目标随机数对所述目标机密交易进行混淆,获得混淆交易包括:
利用如下公式,使用所述目标随机数对所述目标机密交易进行混淆,获得混淆交易,所述公式为:
C′i=hrCπ(i)
其中,所述C′i为所述混淆交易,Cπ(i)为所述目标机密交易,h为系统参数,r为所述目标随机数。
在一种可选的实施方式中,所述第二挑战参数y=Hash(C
B1||…||C
Bu),其中,
g
1,g
2,…,g
v,h均为系统参数,{s
1,…,s
u}为u个所述第一随机数,x为所述第一挑战参数,π(i)为所述随机映射参数,π(i)的范围为[1,k],C
Bi为第三中间变量。
在一种可选的实施方式中,所述第三挑战参数z=Hash(C
B1||…||C
Bu||y),所述第一中间变量
其中,
所述第二中间变量
其中,ρ
i为第二随机数。
在一种可选的实施方式中,所述处理器52根据所述第一挑战参数、所述第二挑战参数、所述第三挑战参数以及所述第一中间变量,进行乘积证明包括:
利用乘积证明公式,根据所述第一挑战参数、所述第二挑战参数、所述第三挑战参数以及所述第一中间变量,进行乘积证明,所述乘积证明公式如下:
在一种可选的实施方式中,所述处理器52根据所述目标机密交易、所述混淆交易、所述随机映射参数以及所述第二中间变量,进行乘幂证明包括:
利用乘幂证明公式,根据所述目标机密交易、所述混淆交易、所述随机映射参数以及所述第二中间变量,进行乘幂证明,其中,所述乘幂证明公式如下:
具体地,所述处理器52对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
结合图2,当所述区块链节点设备5是监管机构节点设备时,存储器51中存储有多个指令,所述处理器52可执行所述多个指令从而实现:
生成随机映射参数;
根据所述随机映射参数,计算第一挑战参数;
使用私钥对所述第一挑战参数进行签名;
将签名后的第一挑战参数以及所述随机映射参数发送至混淆服务提供商节点设备,以使得所述混淆服务提供商节点设备根据所述签名后的第一挑战参数以及所述随机映射参数对目标机密交易进行可监管的混淆证明。
在一种可选的实施方式中,所述处理器52还可执行所述多个指令从而实现:
保存所述签名后的第一挑战参数以及所述随机映射参数;
获取供应商节点设备发送的目标机密交易,并使用所述签名后的第一挑战参数以及所述随机映射参数对所述目标机密交易进行监管。
具体地,所述处理器52对上述指令的具体实现方法可参考图2对应实施例中相关步骤的描述,在此不赘述。
在上述实施例中,可以全部或部分地通过应用程序、硬件、固件或者其任意组合来实现。当使用应用程序实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如,同轴电缆、光纤、数字用户线)或无线(例如,红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD),或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。系统权利要求中陈述的多个单元或装置也可以通过软件或者硬件来实现。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。