发明内容
本发明的主要目的在于提供一种基于区块链的交易数据处理方法及装置、系统及计算机可读存储介质,以实现机密交易的交易数据被监管方监管。
为实现上述目的,本发明提供一种基于区块链的交易数据处理方法,应用于交易数据发送系统,包括:
获取预先确定的第一系统参数、第二系统参数与第三系统参数,其中所述第三系统参数为监管系统利用监管系统私钥计算得到的系统参数;
确定交易数据,利用所述第一系统参数、所述第二系统参数、所述第三系统参数、所述交易数据以及第一随机数确定符合ElGamal承诺的第一验证参数;
利用所述第一系统参数、所述第二系统参数以及所述第一随机数确定符合ElGamal承诺的第二验证参数;
将所述第一验证参数与所述第二验证参数上传至区块链,以使监管系统能够利用所述监管系统私钥、所述第一验证参数以及所述第二验证参数确定所述交易数据。
可选地,所述方法还包括:通过密钥协商方式向交易数据接收方发送所述交易数据。
可选地,述第三系统参数为h=gtmodn,其中,g为所述第一系统参数,t为监管系统私钥,n为所述第二系统参数,h为所述第三系统参数;
所述第一验证参数为E=gxhrmodn,所述第二验证参数为F=grmodn;其中,r为所述第一随机数。
可选地,所述方法还包括:
利用哈希函数生成与所述第一随机数对应的非交互式零知识证明参数;
将所述非交互式零知识证明参数上传至区块链,以使所述监管系统利用所述非交互式零知识证明参数验证所述第一验证参数与所述第二验证参数中的所述第一随机数是否相同。
可选地,所述利用哈希函数生成与所述第一随机数对应的非交互式零知识证明参数,包括:
利用所述第一系统参数、所述第二系统参数、所述第三系统参数、第二随机数以及第三随机数确定第一待哈希参数;
利用所述第一系统参数、所述第二系统参数以及所述第二随机数确定第二待哈希参数;
利用所述哈希函数计算所述第一待哈希参数与第二待哈希参数的哈希结果,将所述哈希结果作为挑战参数;
利用所述挑战参数、所述第一随机数、所述第二随机数、所述第三随机数以及所述交易数据生成所述利用哈希函数生成与所述第一随机数对应的非交互式零知识证明参数。
可选地,所述第一待哈希参数为W1=gηhωmodn,所述第二待哈希参数为W2=gωmodn;所述挑战参数为c=H(W1||W2);所述非交互式零知识证明参数包括挑战参数c、D和D1,D=ω+cr与D1=η+cx;其中,g为所述第一系统参数,η为所述第三随机数,h为所述第三系统参数,h=gtmodn,t为监管系统私钥,ω为所述第二随机数,n为所述第二系统参数,H()为所述哈希函数。
为实现上述目的,本申请还提供为实现上述目的,本申请还提供一种基于区块链的交易数据处理方法,包括:
获取第一验证参数与第二验证参数,所述第一验证参数为交易数据发送系统利用预先确定的第一系统参数、第二系统参数、第三系统参数、交易数据以及第一随机数确定的符合ElGamal承诺的第一验证参数,所述第三系统参数为监管系统利用所述监管系统私钥计算得到的系统参数;所述第二验证参数为所述交易数据发送系统利用所述第一系统参数、所述第二系统参数以及所述第一随机数确定的符合ElGamal承诺的第二验证参数;
利用所述第一验证参数、所述第二验证参数以及所述监管系统私钥确定所述交易数据。
可选地,所述利用所述第一验证参数、所述第二验证参数以及所述监管系统私钥确定所述交易数据之前,还包括:
获取非交互式零知识证明参数,所述非交互式零知识证明参数为所述交易数据发送系统利用哈希函数生成与所述第一随机数对应的非交互式零知识证明参数;
利用所述非交互式零知识证明参数验证所述第一验证参数与所述第二验证参数中的所述第一随机数是否相同;
若是,则执行所述利用所述第一验证参数、所述第二验证参数以及所述监管系统私钥确定所述交易数据的步骤。
可选地,所述利用所述第一验证参数、所述第二验证参数以及所述监管系统私钥确定所述交易数据,包括:
利用所述第一验证参数、所述第二验证参数以及所述监管系统私钥确定交易数据参数,所述交易数据为所述交易数据参数的变量;
确定所述交易数据的数据范围;
遍历所述数据范围的每个数据直至确定符合所述交易数据参数的交易数据。
为实现上述目的,本申请还提供一种基于区块链的交易数据处理装置,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的交易数据处理程序,所述交易数据处理程序被所述处理器执行时实现如任一项所述的交易数据处理方法。
为实现上述目的,本申请还提供一种基于区块链的数据处理系统,所述系统包括:
验证参数获取模块,用于获取第一验证参数与第二验证参数,所述第一验证参数为交易数据发送系统利用预先确定的第一系统参数、第二系统参数、第三系统参数、交易数据以及第一随机数确定的符合ElGamal承诺的第一验证参数,所述第三系统参数为监管系统利用所述监管系统私钥计算得到的系统参数;所述第二验证参数为所述交易数据发送系统利用所述第一系统参数、所述第二系统参数以及所述第一随机数确定的符合ElGamal承诺的第二验证参数;
交易数据确定模块,用于利用所述第一验证参数、所述第二验证参数以及所述监管系统私钥确定所述交易数据。
为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有交易数据处理程序,所述交易数据处理程序可被一个或多个处理器执行,以实现如任一项所述的交易数据处理方法。
为实现上述目的,本发明进一步提供一种计算机程序产品,包括计算机指令,当所述计算机指令在计算机上运行时,使得所述计算机可以执行前述公开的交易数据处理方法。
由此可见,本申请利用ElGamal承诺的特殊结构,即,其可计算两个验证参数,且两个验证参数中存在可以通过计算抵消的系统参数以及利用监管系统私钥生成的系统参数,因此,监管方即可在获取到第一验证参数、第二验证参数后,通过计算将相同参数抵消,并带入监管系统私钥即可确定交易数据,实现对交易数据的监管。本申请还提供一种基于区块链的交易数据处理装置、系统及计算机可读存储介质,同样可以实现上述效果。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明提供了一种基于区块链的交易数据处理方法、装置、系统及计算机可读存储介质,以实现机密交易的交易数据被监管方监管。
本发明提供一种交易数据处理方法,该方法应用于交易数据发送系统,该交易数据发送系统可以部署在区块链节点中,参照图1,图1为本发明一实施例的流程示意图。
在一实施例中,该方法包括:
S101,获取第一系统参数、第二系统参数与第三系统参数,其中所述第三系统参数为监管系统利用监管系统私钥计算得到的系统参数。
第一系统参数、第二系统参数以及第三系统参数均为公开的参数,交易数据发送系统可以从区块链直接获取到。
需要说明的是,第三系统参数是监管系统利用其私钥计算得到并公布的参数。例如,第一系统参数为g,第二系统参数为n,监管系统私钥为t,第三系统参数h,h=gtmodn,其中,第一系统参数g、第二系统参数n均为固定的标准参数,g可以是椭圆曲线群生成元,n可以是一个自然数,其取值根据不同的密码算法标准而有不同的取值,具体可以参见ElGamal承诺对应的标准参数。
S102,确定交易数据,利用所述第一系统参数、所述第二系统参数、所述第三系统参数、所述交易数据以及第一随机数确定符合ElGamal承诺的第一验证参数。
在本方案中,选用ElGamal承诺来进行交易数据的验证,根据ElGamal承诺的特殊结构,需要确定两个验证参数,即第一验证参数与第二验证参数。
其中,第一验证参数需要由第一系统参数、第二系统参数、第三系统参数、交易数据以及第一随机数确定,第一随机数为交易数据发送系统设定的随机数。
例如,第一系统参数为g,第二系统参数为n,监管系统私钥为t,第三系统参数为h,交易数据为x,第一验证参数为E,第一随机为r,则E=gxhrmodn。
S103,利用所述第一系统参数、所述第二系统参数以及所述第一随机数确定符合ElGamal承诺的第二验证参数。
如上例,第二验证参数为F,则,F=grmodn。
S104,将所述第一验证参数与所述第二验证参数上传至区块链,以使监管系统能够利用所述监管系统私钥、所述第一验证参数以及所述第二验证参数确定所述交易数据。
在一个具体的实施方式中,所述方法还包括:通过密钥协商方式向交易数据接收方发送所述交易数据。
具体的,在本方案中交易数据采用非公开的形式传输到交易数据接收方,从而保证交易数据只可以被交易数据接收方获取到,发送交易数据到交易数据接收方的方式可以采用任意一种非公开的方式,例如但不限于通过密钥协商方式向交易数据接收方发送所述交易数据。
由于第一验证参数、第二验证参数均是加密后的数据,并不能直接通过第一验证参数、第二验证参数确定交易数据,而且用于验证交易数据,因此需要将第一验证参数、第二验证参数上传至区块链,从而交易数据接收方在获取到交易数据后,即可获取第一验证参数、第二验证参数,并利用ElGamal承诺验证交易数据的真实性。
由于第一验证参数、第二验证参数中均有相同的参数,如第一系统参数、第二系统参数、第一随机数,而且第一验证参数中的第三系统参数由监管系统私钥生成,监管系统通过计算将相同参数抵消,并带入监管系统私钥即可确定交易数据,实现对交易数据的监管。
具体的,如上例,E=gxhrmodn,F=grmodn,通过下式计算,即可确定包括交易数据的参数gx的值,由于在区块链交易中,交易数据通常是在一个有限的数据范围内,通过遍历数据范围内的每个数据,将数据代入x,直至得到与gx的值相符的x,该x即为交易数据。
gx=E/(Ft)
=gxhr/(gr)t
=gxhr/(hr)
=gx
由此可见,本申请实施例提供的一种数据处理方法,利用ElGamal承诺的特殊结构,即,其可计算两个验证参数,且两个验证参数中存在可以通过计算抵消的系统参数以及利用监管系统私钥生成的系统参数,因此,监管方即可在获取到第一验证参数、第二验证参数后,通过计算将相同参数抵消,并带入监管系统私钥即可确定交易数据,实现对交易数据的监管。
为了使监管系统计算得到的交易数据更加真实可靠,本实施例对技术方案作出进一步的扩充说明。
参见图2,在上述实施例的基础上,本申请实施例进一步包括:
S201,获取预先确定的第一系统参数、第二系统参数与第三系统参数,其中所述第三系统参数为监管系统利用监管系统私钥计算得到的系统参数;
S202,确定交易数据,利用所述第一系统参数、所述第二系统参数、所述第三系统参数、所述交易数据以及第一随机数确定符合ElGamal承诺的第一验证参数;
S203,利用所述第一系统参数、所述第二系统参数以及所述第一随机数确定符合ElGamal承诺的第二验证参数;
S204,将所述第一验证参数与所述第二验证参数上传至区块链,以使监管系统能够利用所述监管系统私钥、所述第一验证参数以及所述第二验证参数确定所述交易数据。
S205,利用哈希函数生成与所述第一随机数对应的非交互式零知识证明参数。
在本方案中,利用非交互式零知识证明算法来验证第一验证参数与第二验证参数中的第一随机数是相同的,从而确定两个验证参数是正确的。
需要说明的是,零知识证明算法中需要验证的一个参数为挑战(challenge),在交互式的零知识证明算法中,该参数需要由验证方来提供,以保证参数的真实。但是由于在区块链网络中,任一节点均可以对第一验证参数、第二验证参数中的第一随机数进行验证,因此,由每个进行验证的节点来提供挑战参数的方式就相对复杂不容易实现,因此在本方案中,挑战参数由交易数据发送系统来提供,其他验证方直接获取,即,采用非交互式零知识证明机制。
为了保证挑战参数的真实可靠,本申请中利用哈希函数来计算挑战参数。得到挑战参数后,即可利用挑战参数确定对于第一验证参数、第二验证参数以及第一随机数的非交互式零知识证明参数。
在一个具体的实施方式中,所述利用哈希函数生成与所述第一随机数对应的非交互式零知识证明参数,包括:
利用所述第一系统参数、所述第二系统参数、所述第三系统参数、第二随机数以及第三随机数确定第一待哈希参数;
利用所述第一系统参数、所述第二系统参数以及所述第二随机数确定第二待哈希参数;
利用所述哈希函数计算所述第一待哈希参数与第二待哈希参数的哈希结果,将所述哈希结果作为挑战参数;
利用所述挑战参数、所述第一随机数、所述第二随机数、所述第三随机数以及所述交易数据生成所述非交互式零知识证明参数。
举例说明,交易数据发送系统要发送的交易数据为x,该系统需要要分别进行计算:E=gxhrmodn,F=grmodn。其中,g为第一系统参数,n为第二系统参数,t为监管系统私钥,h为第三系统参数,h=gtmodn,r为第一随机数。交易数据发送系统要向验证方证明E和F隐藏了相同的随机数,E和F对验证方是公开的。
需要说明的是,验证方可以是任一第三方,可以是监管系统也可以是交易数据接收方,监管系统作为验证方验证E、F可以确保利用E、F计算出的交易数据x的准确性,交易数据接收方在接收到交易数据x后,对x的真实性进行验证时,同样也可以先通过验证E、F来确保验证结果的准确性。
利用非交互式零知识证明机制的具体证明方式如下:
首先,交易数据发送系统生成随机数ω,η,ω为第二随机数,η为第三随机数。交易数据发送系统利用ω、η、g、h、n计算第一待哈希参数W1=gηhωmodn与第二待哈希参数W2=gωmodn。
交易数据发送系统通过哈希函数计算挑战参数c,c=H(W1||W2),其中H()表示一个哈希函数,||表示位运算符或者字符串连接符。
交易数据发送系统利用挑战参数c、第一随机数r、第二随机数ω、第三随机数η,以及交易数据x计算参数D和D1:D=ω+cr,D1=η+cx,从而得到非交互式零知识证明参数(c,D,D1)。
验证方在进行验证时,检验是否
如果验证通过,则验证方确认E和F隐藏了相同的第一随机数r。
S206,将所述非交互式零知识证明参数与所述挑战参数上传至区块链,以使所述监管系统和/或交易数据接收方利用所述非交互式零知识证明参数验证所述第一验证参数与所述第二验证参数中的所述第一随机数是否相同。
具体地,将非交互式零知识证明参数上传至区块链,从而监管系统和/或交易数据接收方即可获取非交互式零知识证明参数,通过上述方式进行验证。
如上例,将非交互式零知识证明参数(c,D,D
1)上传至区块链,监管系统或交易数据接收方作为验证方获取非交互式零知识证明参数(c,D,D
1),验证是否
如果验证通过,则验证方确认E和F隐藏了相同的第一随机数r。
需要说明的是,由于监管系统是需要利用第一验证参数与第二验证参数计算交易数据的,因此,为了保证交易数据的准确性,就需要确保第一验证参数与第二验证参数是真实可靠的,本方案中,监管系统利用上述方法对第一验证参数、第二验证参数验证后,即可确定第一验证参数与第二验证参数的真实可靠性,从而确保最终计算的交易数据是真实可靠的。
可见本申请实施例通过非交互式零知识证明的方式可以使监管系统对第一验证参数和第二验证参数的真实性进行验证,从而保证由第一验证参数、第二验证参数计算得到的交易数据为真实数据。
进一步的,本实施例还公开了一种交易数据处理装置。
参照图3,图3为本发明一实施例揭露的交易数据处理装置的内部结构示意图。图3中,交易数据处理装置1包括存储器11和处理器12,所述存储器11上存储有可在所述处理器12上运行的交易数据处理程序,所交易数据处理程序被所述处理器12执行时实现如下方法:
获取预先确定的第一系统参数、第二系统参数与第三系统参数,其中所述第三系统参数为监管系统利用监管系统私钥计算得到的系统参数;
确定交易数据,利用所述第一系统参数、所述第二系统参数、所述第三系统参数、所述交易数据以及第一随机数确定符合ElGamal承诺的第一验证参数;
利用所述第一系统参数、所述第二系统参数以及所述第一随机数确定符合ElGamal承诺的第二验证参数;
将所述第一验证参数与所述第二验证参数上传至区块链,以使监管系统能够利用所述监管系统私钥、所述第一验证参数以及所述第二验证参数确定所述交易数据。
由此可见,本申请利用ElGamal承诺的特殊结构,即,其可计算两个验证参数,且两个验证参数中存在可以通过计算抵消的系统参数以及利用监管系统私钥生成的系统参数,因此,监管方即可在获取到第一验证参数、第二验证参数后,通过计算将相同参数抵消,并带入监管系统私钥即可确定交易数据,实现对交易数据的监管。
所述交易数据处理程序被所述处理器12执行时,还可以实现:通过密钥协商方式向交易数据接收方发送所述交易数据。
可选地,所述第三系统参数为h=gtmodn,其中,g为所述第一系统参数,t为监管系统私钥,n为所述第二系统参数,h为所述第三系统参数;
所述第一验证参数为E=gxhrmodn,所述第二验证参数为F=grmodn;其中,r为所述第一随机数。
所述交易数据处理程序被所述处理器12执行时,还可以实现:利用哈希函数生成与所述第一随机数对应的非交互式零知识证明参数;将所述非交互式零知识证明参数上传至区块链,以使所述监管系统利用所述非交互式零知识证明参数验证所述第一验证参数与所述第二验证参数中的所述第一随机数是否相同。
所述数据处理程序被所述处理器12执行时,具体可以实现:
利用所述第一系统参数、所述第二系统参数、所述第三系统参数、第二随机数以及第三随机数确定第一待哈希参数;
利用所述第一系统参数、所述第二系统参数以及所述第二随机数确定第二待哈希参数;
利用所述哈希函数计算所述第一待哈希参数与第二待哈希参数的哈希结果,将所述哈希结果作为挑战参数;
利用所述挑战参数、所述第一随机数、所述第二随机数、所述第三随机数以及所述交易数据生成所述利用哈希函数生成与所述第一随机数对应的非交互式零知识证明参数。
可选地,所述第一待哈希参数为W1=gηhωmodn,所述第二待哈希参数为W2=gωmodn;所述挑战参数为c=H(W1||W2);所述非交互式零知识证明参数包括挑战参数c、D和D1,D=ω+cr与D1=η+cx;其中,g为所述第一系统参数,η为所述第三随机数,h为所述第三系统参数,h=gtmodn,t为监管系统私钥,ω为所述第二随机数,n为所述第二系统参数,H()为所述哈希函数。
在本实施例中,所述交易数据处理1可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机。
进一步的,参照图3,所述交易数据处理装置1还可以包括总线13,其中,所述存储器11和所述处理器12通过所述总线13连接。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是交易数据处理装置1的内部存储单元,例如该交易数据处理装置1的硬盘。存储器11在另一些实施例中也可以是交易数据处理装置1的外部存储设备,例如交易数据处理装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括交易数据发处理装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于交易数据处理装置1的应用软件及各类数据,例如交易数据处理程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行交易数据处理程序等。
总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,交易数据处理装置1还可以包括网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该交易数据处理装置1与其他电子设备之间建立通信连接。
可选地,该交易数据处理装置1还可以包括用户接口15,用户接口15可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在交易数据处理装置1中处理的信息以及用于显示可视化的用户界面。
图3仅示出了具有组件11-15的交易数据处理装置1,本领域技术人员可以理解的是,图3示出的结构并不构成对交易数据处理装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
下面对本申请实施例提供的一种交易数据处理方法进行介绍,下文描述的一种交易数据处理方法与上述任一实施例可以相互参照。
参见图4,本申请实施例提供的一种交易数据处理方法,具体包括:
S301,获取第一验证参数与第二验证参数,所述第一验证参数为交易数据发送系统利用预先确定的第一系统参数、第二系统参数、第三系统参数、交易数据以及第一随机数确定的符合ElGamal承诺的第一验证参数,所述第三系统参数为监管系统利用所述监管系统私钥计算得到的系统参数;所述第二验证参数为所述交易数据发送系统利用所述第一系统参数、所述第二系统参数以及所述第一随机数确定的符合ElGamal承诺的第二验证参数。
S302,利用所述第一验证参数、所述第二验证参数以及所述监管系统私钥确定所述交易数据。
有关第一验证参数、第二验证参数以及交易数据的确定操作均已在上述实施例做出详细介绍,具体可以参见上述实施例,此处将不再进行赘述。
在一个具体的实施方式中,所述利用所述第一验证参数、所述第二验证参数以及所述监管系统私钥确定所述交易数据之前,还包括:
获取非交互式零知识证明参数,所述非交互式零知识证明参数为所述交易数据发送系统利用哈希函数生成与所述第一随机数对应的非交互式零知识证明参数;
利用所述非交互式零知识证明参数验证所述第一验证参数与所述第二验证参数中的所述第一随机数是否相同;
若是,则执行所述利用所述第一验证参数、所述第二验证参数以及所述监管系统私钥确定所述交易数据的步骤。
在另一个具体的实施方式中,所述利用所述第一验证参数、所述第二验证参数以及所述监管系统私钥确定所述交易数据,包括:
利用所述第一验证参数、所述第二验证参数以及所述监管系统私钥确定交易数据参数,所述交易数据为所述交易数据参数的变量;
确定所述交易数据的数据范围;
遍历所述数据范围的每个数据直至确定符合所述交易数据参数的交易数据。
可见本申请实施例通过非交互式零知识证明的方式可以使监管系统对第一验证参数和第二验证参数的真实性进行验证,从而保证由第一验证参数、第二验证参数计算得到的交易数据为真实数据。
进一步的,本实施例还公开了一种交易数据处理装置。
参照图5,图5为本发明一实施例揭露的交易数据处理装置的内部结构示意图。图5中,交易数据处理装置2包括存储器21和处理器22,所述存储器21上存储有可在所述处理器22上运行的交易数据处理程序,所述交易数据处理程序被所述处理器22执行时实现如下方法:
获取第一验证参数与第二验证参数,所述第一验证参数为交易数据发送系统利用预先确定的第一系统参数、第二系统参数、第三系统参数、交易数据以及第一随机数确定的符合ElGamal承诺的第一验证参数,所述第三系统参数为监管系统利用所述监管系统私钥计算得到的系统参数;所述第二验证参数为所述交易数据发送系统利用所述第一系统参数、所述第二系统参数以及所述第一随机数确定的符合ElGamal承诺的第二验证参数;
利用所述第一验证参数、所述第二验证参数以及所述监管系统私钥确定所述交易数据。
由此可见,本申请利用ElGamal承诺的特殊结构,即,其可计算两个验证参数,且两个验证参数中存在可以通过计算抵消的系统参数以及利用监管系统私钥生成的系统参数,因此,监管方即可在获取到第一验证参数、第二验证参数后,通过计算将相同参数抵消,并带入监管系统私钥即可确定交易数据,实现对交易数据的监管。
所述交易数据处理程序被所述处理器12执行时,还可以实现:获取非交互式零知识证明参数,所述非交互式零知识证明参数为所述交易数据发送系统利用哈希函数生成与所述第一随机数对应的非交互式零知识证明参数;利用所述非交互式零知识证明参数验证所述第一验证参数与所述第二验证参数中的所述第一随机数是否相同;若是,则执行所述利用所述第一验证参数、所述第二验证参数以及所述监管系统私钥确定所述交易数据的步骤。
所述交易数据处理程序被所述处理器12执行时,具体可以实现:利用所述第一验证参数、所述第二验证参数以及所述监管系统私钥确定交易数据参数,所述交易数据为所述交易数据参数的变量;确定所述交易数据的数据范围;遍历所述数据范围的每个数据直至确定符合所述交易数据参数的交易数据。
在本实施例中,所述交易数据处理装置2可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机。
进一步的,参照图5,所述交易数据处理装置2还可以包括总线23,其中,所述存储器21和所述处理器22通过所述总线23连接。
其中,存储器21至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器21在一些实施例中可以是交易数据处理装置2的内部存储单元,例如该交易数据处理装置2的硬盘。存储器21在另一些实施例中也可以是交易数据处理装置2的外部存储设备,例如交易数据处理装置2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器21还可以既包括交易数据处理装置2的内部存储单元也包括外部存储设备。存储器21不仅可以用于存储安装于交易数据处理装置2的应用软件及各类数据,例如交易数据处理程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器22在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器21中存储的程序代码或处理数据,例如执行交易数据处理程序等。
总线23可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,交易数据处理装置2还可以包括网络接口24,网络接口24可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该交易数据处理装置2与其他电子设备之间建立通信连接。
可选地,该交易数据处理装置2还可以包括用户接口25,用户接口25可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在交易数据处理装置2中处理的信息以及用于显示可视化的用户界面。
图5仅示出了具有组件21-25的交易数据处理装置2,本领域技术人员可以理解的是,图5示出的结构并不构成对交易数据处理装置2的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
进一步的,本申请还提供了一种交易数据处理系统。
参见图6,图6为本发明一实施例揭露的交易数据处理系统结构示意图。图6中,所述交易数据处理系统,包括:
验证参数获取模块401,用于获取第一验证参数与第二验证参数,所述第一验证参数为交易数据发送系统利用预先确定的第一系统参数、第二系统参数、第三系统参数、交易数据以及第一随机数确定的符合ElGamal承诺的第一验证参数,所述第三系统参数为监管系统利用所述监管系统私钥计算得到的系统参数;所述第二验证参数为所述交易数据发送系统利用所述第一系统参数、所述第二系统参数以及所述第一随机数确定的符合ElGamal承诺的第二验证参数;
交易数据确定模块402,用于利用所述第一验证参数、所述第二验证参数以及所述监管系统私钥确定所述交易数据。
可选地,所述系统还包括:
非交互式零知识证明参数获取模块,用于获取非交互式零知识证明参数,所述非交互式零知识证明参数为所述交易数据发送系统利用哈希函数生成与所述第一随机数对应的非交互式零知识证明参数;
第一随机数验证模块,用于利用所述非交互式零知识证明参数验证所述第一验证参数与所述第二验证参数中的所述第一随机数是否相同;若是,则执行所述利用所述第一验证参数、所述第二验证参数以及所述监管系统私钥确定所述交易数据的步骤。
可选地,所述交易数据确定模块402具体包括:
交易数据参数确定单元,用于利用所述第一验证参数、所述第二验证参数以及所述监管系统私钥确定交易数据参数,所述交易数据为所述交易数据参数的变量;
数据范围确定单元,用于确定所述交易数据的数据范围;
交易数据确定单元,用于遍历所述数据范围的每个数据直至确定符合所述交易数据参数的交易数据。
由此可见,本申请利用ElGamal承诺的特殊结构,即,其可计算两个验证参数,且两个验证参数中存在可以通过计算抵消的系统参数以及利用监管系统私钥生成的系统参数,因此,监管方即可在获取到第一验证参数、第二验证参数后,通过计算将相同参数抵消,并带入监管系统私钥即可确定交易数据,实现对交易数据的监管。
进一步的,本实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有交易数据处理程序,所述交易数据处理程序可被一个或多个处理器执行,以实现如上述任一实施例所述的交易数据处理方法。
进一步的,本发明还提供一种计算机程序产品,包括计算机指令,当所述计算机指令在计算机上运行时,使得所述计算机可以执行上述任一实施例所述的交易数据处理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。