一种区块链中可监管的零知识验证方法、系统及存储介质与流程

文档序号:20039016发布日期:2020-02-28 11:40阅读:99来源:国知局
一种区块链中可监管的零知识验证方法、系统及存储介质与流程

本发明涉及区块链技术领域,尤其是一种区块链中可监管的零知识验证方法、系统及存储介质。



背景技术:

在区块链中,每一笔交易本质上都是一次通用计算,而交易的合法性验证实际上就是对通用计算的正确性验证。将通用计算按照计算步骤转化为计算逻辑电路,对于每一个电路门进行约束,将所有电路门的约束进行形式化统一,整合形成秩一约束系统。将通用计算的正确性转化为秩一约束系统的可满足性。将秩一约束系统转化为多项式表示,将通用计算的正确性再一次转化为多项式的正确性。通过对多项式在定义域上的取值进行抽样验证,从而实现对通用计算的正确性验证,及交易的正确性验证。在这个过程中,通过密码学方案,使得验证方能够在不获得任何交易相关信息的前提下对交易的合法性进行验证,实现了隐私保护,即传统的零知识证明方案。

在上述传统的零知识证明方案中,交易信息对于验证方来说是完全隐藏不可见的,这虽然实现了隐私保护和私密交易。但在实际落地场景中,往往有着监管方角色的存在。对于采用了零知识证明的交易,监管方无法得知交易细节,自然无法达到监管的目的。



技术实现要素:

有鉴于此,本发明实施例提供一种区块链中可监管的零知识验证方法、系统及存储介质,让监管方得以监管交易细节。

第一方面,本发明实施例提供了一种区块链中可监管的零知识验证方法,包括以下步骤:

通过监管方生成公私钥对,并将公钥广播至区块链全网;

根据监管方广播的公钥,以及第一节点与第二节点之间的交易信息,由证明方生成交易信息对应的信息摘要、证明文件以及加密密文;

将所述信息摘要、证明文件以及加密密文广播至区块链全网;

根据所述证明文件,通过验证方对交易进行合法性验证;

根据私钥,由监管方对加密密文进行解密,得到明文;

根据所述明文和所述信息摘要,由监管方对交易进行真实性检验。

进一步,所述根据监管方广播的公钥,以及第一节点与第二节点之间的交易信息,由证明方生成交易信息对应的信息摘要、证明文件以及加密密文这一步骤,包括以下步骤:

确定第一节点与第二节点之间的交易等式,所述交易等式为:第一节点交易前的余额=第一节点交易后的余额+交易金额;

由证明方通过单项信息摘要函数计算所述交易等式的信息摘要;

根据公钥对交易等式进行加密,得到加密密文;

根据所述交易等式以及信息摘要,对交易进行抽样证明,生成证明文件。

进一步,所述根据所述交易等式以及信息摘要,对交易进行抽样证明,生成证明文件这一步骤,包括以下步骤:

将交易等式以及信息摘要的计算过程转化为逻辑电路;

将逻辑电路转化为秩一约束系统;

将秩一约束系统转化为多项式约束系统;

基于预设的臭氧点,对多项式约束系统进行抽样证明,并生成证明文件。

进一步,所述根据所述明文和所述信息摘要,由监管方对交易进行真实性检验这一步骤,包括以下步骤:

对明文进行摘要计算;

将明文的摘要计算结果与所述信息摘要进行校验,得到真实性检验结果。

第二方面,本发明实施例还提供了一种区块链中可监管的零知识验证系统,包括:

钥对生成模块,用于通过监管方生成公私钥对,并将公钥广播至区块链全网;

交易模块,用于根据监管方广播的公钥,以及第一节点与第二节点之间的交易信息,由证明方生成交易信息对应的信息摘要、证明文件以及加密密文;

广播模块,用于将所述信息摘要、证明文件以及加密密文广播至区块链全网;

合法性验证模块,用于根据所述证明文件,通过验证方对交易进行合法性验证;

解密模块,用于根据私钥,由监管方对加密密文进行解密,得到明文;

真实性检验模块,用于根据所述明文和所述信息摘要,由监管方对交易进行真实性检验。

进一步,所述交易模块包括:

交易等式确定单元,用于确定第一节点与第二节点之间的交易等式,所述交易等式为:第一节点交易前的余额=第一节点交易后的余额+交易金额;

摘要计算单元,用于由证明方通过单项信息摘要函数计算所述交易等式的信息摘要;

加密单元,用于根据公钥对交易等式进行加密,得到加密密文;

抽样证明单元,用于根据所述交易等式以及信息摘要,对交易进行抽样证明,生成证明文件。

进一步,所述抽样证明单元包括:

第一转化单元,用于将交易等式以及信息摘要的计算过程转化为逻辑电路;

第二转化单元,用于将逻辑电路转化为秩一约束系统;

第三转化单元,用于将秩一约束系统转化为多项式约束系统;

证明文件生成单元,用于基于预设的臭氧点,对多项式约束系统进行抽样证明,并生成证明文件。

进一步,所述真实性检验模块包括:

计算单元,用于对明文进行摘要计算;

校验单元,用于将明文的摘要计算结果与所述信息摘要进行校验,得到真实性检验结果。

第三方面,本发明实施例还提供了一种区块链中可监管的零知识验证系统,包括:

至少一个处理器;

至少一个存储器,用于存储至少一个程序;

当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现所述的区块链中可监管的零知识验证方法。

第四方面,本发明实施例还提供了一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行所述的区块链中可监管的零知识验证方法。

上述本发明实施例中的一个或多个技术方案具有如下优点:本发明首先根据监管方广播的公钥,生成并将交易信息对应的信息摘要、证明文件以及加密密文广播至区块链全网;接着,根据所述证明文件,通过验证方对交易进行合法性验证;然后,根据私钥,由监管方对加密密文进行解密,得到明文;最后根据所述明文和所述信息摘要,由监管方对交易进行真实性检验;本发明保障了证明方的隐私,降低了验证方在验证过程中的计算量,使得监管方能够有效地实现监管需求,同时对于信息的正确性加以保障。

附图说明

图1为本发明实施例的整体步骤流程图。

具体实施方式

下面结合说明书附图和具体实施例对本发明作进一步解释和说明。对于本发明实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。

参照图1,,本发明实施例提供了一种区块链中可监管的零知识验证方法,包括以下步骤:

通过监管方生成公私钥对,并将公钥广播至区块链全网;

根据监管方广播的公钥,以及第一节点与第二节点之间的交易信息,由证明方生成交易信息对应的信息摘要、证明文件以及加密密文;

将所述信息摘要、证明文件以及加密密文广播至区块链全网;

根据所述证明文件,通过验证方对交易进行合法性验证;

根据私钥,由监管方对加密密文进行解密,得到明文;

根据所述明文和所述信息摘要,由监管方对交易进行真实性检验。

进一步作为优选的实施方式,所述根据监管方广播的公钥,以及第一节点与第二节点之间的交易信息,由证明方生成交易信息对应的信息摘要、证明文件以及加密密文这一步骤,包括以下步骤:

确定第一节点与第二节点之间的交易等式,所述交易等式为:第一节点交易前的余额=第一节点交易后的余额+交易金额;

由证明方通过单项信息摘要函数计算所述交易等式的信息摘要;

根据公钥对交易等式进行加密,得到加密密文;

根据所述交易等式以及信息摘要,对交易进行抽样证明,生成证明文件。

进一步作为优选的实施方式,所述根据所述交易等式以及信息摘要,对交易进行抽样证明,生成证明文件这一步骤,包括以下步骤:

将交易等式以及信息摘要的计算过程转化为逻辑电路;

将逻辑电路转化为秩一约束系统;

将秩一约束系统转化为多项式约束系统;

基于预设的臭氧点,对多项式约束系统进行抽样证明,并生成证明文件。

进一步作为优选的实施方式,所述根据所述明文和所述信息摘要,由监管方对交易进行真实性检验这一步骤,包括以下步骤:

对明文进行摘要计算;

将明文的摘要计算结果与所述信息摘要进行校验,得到真实性检验结果。

与方法相对应,本发明实施例还提供了一种区块链中可监管的零知识验证系统,包括:

钥对生成模块,用于通过监管方生成公私钥对,并将公钥广播至区块链全网;

交易模块,用于根据监管方广播的公钥,以及第一节点与第二节点之间的交易信息,由证明方生成交易信息对应的信息摘要、证明文件以及加密密文;

广播模块,用于将所述信息摘要、证明文件以及加密密文广播至区块链全网;

合法性验证模块,用于根据所述证明文件,通过验证方对交易进行合法性验证;

解密模块,用于根据私钥,由监管方对加密密文进行解密,得到明文;

真实性检验模块,用于根据所述明文和所述信息摘要,由监管方对交易进行真实性检验。

进一步作为优选的实施方式,所述交易模块包括:

交易等式确定单元,用于确定第一节点与第二节点之间的交易等式,所述交易等式为:第一节点交易前的余额=第一节点交易后的余额+交易金额;

摘要计算单元,用于由证明方通过单项信息摘要函数计算所述交易等式的信息摘要;

加密单元,用于根据公钥对交易等式进行加密,得到加密密文;

抽样证明单元,用于根据所述交易等式以及信息摘要,对交易进行抽样证明,生成证明文件。

进一步作为优选的实施方式,所述抽样证明单元包括:

第一转化单元,用于将交易等式以及信息摘要的计算过程转化为逻辑电路;

第二转化单元,用于将逻辑电路转化为秩一约束系统;

第三转化单元,用于将秩一约束系统转化为多项式约束系统;

证明文件生成单元,用于基于预设的臭氧点,对多项式约束系统进行抽样证明,并生成证明文件。

进一步作为优选的实施方式,所述真实性检验模块包括:

计算单元,用于对明文进行摘要计算;

校验单元,用于将明文的摘要计算结果与所述信息摘要进行校验,得到真实性检验结果。

与方法相对应,本发明实施例还提供了一种区块链中可监管的零知识验证系统,包括:

至少一个处理器;

至少一个存储器,用于存储至少一个程序;

当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现所述的区块链中可监管的零知识验证方法。

与方法相对应,本发明实施例还提供了一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行所述的区块链中可监管的零知识验证方法。

本发明的主要目的是提供一种区块链中可监管的零知识证明的方法,旨在保护交易信息等隐私数据,同时能让监管方进行监管的方法。

为了实现上述目的,本发明提供了一种区块链隐私交易并且可以由证明方特定授权监管方解密的方法,方法的步骤为:

s1:监管方生成公私钥对(pk,sk),并将公钥pk全网公开;

s2:对于a向b转账这笔交易,本实施例将其简化为等式x,即:a转帐前余额=a转账后余额+转账金额;

s3:证明方将等式x通过单项信息摘要函数获得hash(x),由于信息摘要函数是单向的,通过hash(x)并不能得到x相关信息;

s4:证明方将通用等式x使用监管方广播的公钥pk加密获得密文e(pk,x),此密文只能由监管方的对应私钥sk解密;

s5:证明方将通用等式x以及x的摘要计算过程转化为逻辑电路circuit(x,hash(x));

s6:证明方将逻辑电路circuit(x,hash(x))转化为秩一约束系统r1cs(x,hash(x));

s7:证明方将秩一约束系统r1cs(x,hash(x))转化为多项式约束系统qsp(x,hash(x));

s8:证明方通过预先设置的秘密抽样点,对于qsp(x,hash(x))进行抽样证明,将证明内容生成证明文件proof(x,hash(x));

s9:证明方将proof(x,hash(x)),hash(x),e(pk,x)同时在区块链中进行广播;

s10:验证方通过proof(x,hash(x))对交易进行合法性验证;

s11:监管方通过私钥sk对密文e(pk,x)进行解密获得明文x,并将明文x进行摘要计算与hash(x)进行校验以检验明文信息的真实性。

本发明中:证明方提供proof(x,hash(x)),hash(x),e(pk,x)三个信息,并未泄漏原始信息x,隐私得到保护。

本发明中:验证方只需验证proof(x,hash(x))即可,大大降低了计算量;

本发明中:监管方通过e(pk,x)获得需要监管的明文x,通过hash(x)对明文x进行正确性校验,避免了作假和欺诈。

综上所述,本发明公布的区块链中可监管的零知识证明方法,通过对明文进行信息摘要,在证明中包含摘要信息和非对称加密的密文信息,使得证明者的隐私得到了有效的保护,使得验证方在验证过程中的计算量大幅降低,使得监管方能够有效地实现监管需求,同时对于信息的正确性加以保障。

在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。

此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。

计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1