首页> 中国专利> 一种适合区块链隐私保护的零知识证明方法和介质

一种适合区块链隐私保护的零知识证明方法和介质

摘要

本发明公开了一种适合区块链隐私保护的零知识证明方法和介质,可支持比特币的UTXO以及以太坊的余额模型,且能很好的与智能合约相结合,进一步提升方案的安全性,扩展了方案的应用场景,且针对交易的特定代数结构设计的零知识证明,即使轻节点也可以生成证明过程。其技术方案为:方法包括初始化阶段系统参数(包含参数的生成过程和含义),证明生成阶段生成零知识证明的具体过程(包含过程中生成的密文,涉及到的公式和参数等),以及验证阶段(包含验证的公式和条件等)。

著录项

  • 公开/公告号CN108418689A

    专利类型发明专利

  • 公开/公告日2018-08-17

    原文格式PDF

  • 申请/专利权人 矩阵元技术(深圳)有限公司;

    申请/专利号CN201711241178.5

  • 申请日2017-11-30

  • 分类号H04L9/32(20060101);H04L29/06(20060101);G06Q20/38(20120101);G06Q20/40(20120101);

  • 代理机构31100 上海专利商标事务所有限公司;

  • 代理人施浩

  • 地址 518054 广东省深圳市前海深港合作区前湾一路1号A栋201

  • 入库时间 2023-06-19 06:14:36

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-05-05

    专利权的转移 IPC(主分类):H04L 9/32 专利号:ZL2017112411785 登记生效日:20230421 变更事项:专利权人 变更前权利人:矩阵元技术(深圳)有限公司 变更后权利人:矩阵元技术(深圳)有限公司 变更事项:地址 变更前权利人:518054 广东省深圳市前海深港合作区前湾一路1号A栋201 变更后权利人:518054 广东省深圳市前海深港合作区前湾一路1号A栋201 变更事项:专利权人 变更前权利人: 变更后权利人:武汉大学

    专利申请权、专利权的转移

  • 2020-07-10

    授权

    授权

  • 2018-09-11

    实质审查的生效 IPC(主分类):H04L9/32 申请日:20171130

    实质审查的生效

  • 2018-08-17

    公开

    公开

说明书

技术领域

本发明涉及区块链的隐私保护技术,尤其涉及区块链隐私保护中的零知识证明方法。

背景技术

区块链系统作为公开的账本,其解决了各方信任建立的共识问题。每一个参与者都能够获得完整的数据备份,所有交易数据都是公开和透明的,这个区块链的优势特点,但另一方面,对于很多区块链应用方来说,这个特点又是致命的。因为很多时候,不仅用户本身希望其帐户隐私和交易信息被保护,就商业机构来说,很多帐户和交易信息更是这些机构的重要资产和商业机密,不希望公开分享給同行,尤其是对敏感数据需要平衡隐私保护和合规监管,对于涉及大量商业机密和利益的业务场景来说,数据的暴露不符合业务规则和监管要求。

智能合约是运行在区块链上的一段代码,该代码控制和管理数据库。每个账户的资产存储在智能合约的数据库中,并可以通过智能合约在满足特定的条件下对数据库中的数据进行操作。例如在供应链金融场景中,每个账户的余额以及对该余额的操作都在智能合约中记录和进行。如节点间转账操作即是通过在全部节点间广播消息,并执行智能合约来执行。每个节点的余额都是隐私信息,各节点希望其余额对其他节点不可见。转账内容也属于隐私信息,因此广播消息中余额的变动不希望其他节点可见。同时,还需要支持智能合约中余额的变动操作,所有人都能对余额进行操作。

在区块链系统中,各节点间维持的是一致的公共账本,此账本记录了每个节点的余额信息,节点间通过一定的共识机制对公共账本进行操作。这种情况下账本中所有用户的交易信息,包括区块链上记载的其他信息都被暴露,用户的隐私保护问题随之产生。系统需要在保障用户隐私的情况下,实现区块链交易可验证、历史可查等特性,保证交易的有效性。比特币对隐私保护的解决思路是,通过隔断交易地址和地址持有人真实身份的关联,来达到匿名的效果。所以虽然能够看到每一笔转账记录的发送方和接受方的地址,但无法对应到现实世界中的具体某个人。但这样的保护是很弱的,通过观察和跟踪区块链的信息,通过地址ID、IP信息等还是可以追查到帐户和交易的关联性。

为了解决区块链的隐私保护问题,目前有混币、环签名、同态加密、零知识证明等几种方式:

1.混币原理(CoinJoin):混币原理的实现思路是割裂输入地址和输出地址之间的关系。在一个交易中,假如有很多人参与,其中包括大量输入和输出,这样会比较难在输入和输出中找出每个人的对应对,这样一来,输入与输出之间的联系被事实上割裂。多次混币、每次少量币,效果更好。此方法虽然高度匿名,但其风险评估不到位,必须信赖匿名的第三方。

2.对公共账本上的余额直接进行加密,只有节点本身或者赋予权利的相关方能对交易信息可见,其余节点无法操作数据,账本信息难以保持一致性。例如Chinaledger提出了基于中央对手方(CCP)的方案,交易发起方使用CCP的公钥加密交易,签名后提交给CCP,由CCP实现解密、检验签名、检验余额,如果是有效再实现转账金额过户。此方法中,其余节点只能背书交易,而不能背书余额,此方案虽然保护了节点用户隐私,但过于中心化,整个系统依赖于CCP的信誉交易。还有以太坊社区提出的基于状态旁路(State channel)的隐私保护方案,此方案交易过程中,区块链中节点将交易提交到智能合约里,智能合约实现中间流程明细的加密,其余节点不可见;到交易完成时,再把最终价值分配方案解密,返回到区块链其余节点上。但此方法只保护了中间过程部分的隐私,交易的总额变动也是对所有节点透明的。

3.环签名:环签名是一种简化的类群签名,它因为签名由一定的规则组成一个环而得名。在环签名方案中,环中一个成员利用他的私钥和其他成员的公钥进行签名,但却不需要征得其他成员的允许,而验证者只知道签名来自这个环,但不知到谁是真正的签名者。环签名解决了对签名者完全匿名问题,环签名允许一个成员代表一组人进行签名而不泄漏签名者的信息。但环签名技术只解决了交易者匿名问题,无法对交易内容进行隐私保护。

4.同态加密:同态加密是一种无需对加密数据进行提前解密就可以执行计算的方法。通过使用同态加密技术在区块链上存储数据可以达到一种完美的平衡,不会对区块链属性造成任何重大的改变。也就是说,区块链仍旧是公有区块链。然而,区块链上的数据将会被加密,因此照顾到了公有区块链的隐私问题,同态加密技术使公有区块链具有私有区块链的隐私效果。可利用加法同态加密技术隐藏区块链上的交易金融和用户余额,且保证其余用户对公共账目上余额的操作。但同态加密无法确认交易的一致性,缺少对交易有效性的验证环节。

5.零知识证明:零知识证明是一种密码学技术,是一种在无需泄露数据本身情况下证明某些数据运算的一种零知识证明,允许两方(证明者和验证者)来证明某个提议是真实的,而且无需泄露除了它是真实的之外的任何信息。在密码学货币和区块链中,这通常是指交易信息数据。例如Zcash,其是通过引入零知识证明技术zk-SNARKs,以达到零知识级匿名的加密货币,在使用Zcash进行交易时,既不会暴露交易双方地址,也不会暴露交易金额,但Zcash使用的场景比较局限性,ZCash只针对比特币的UTXO模型,不能推广到如以太坊的余额模型,并且不能很好的支持智能合约;在性能上,Zcash在生成证明时需要电路转换,消耗的计算资源和时间非常大,因此Zcash的轻节点在发起交易时根本不采用SNARK技术,而只是全节点才采用SNARK技术;在生成系统参数时,Zcash必须要有一个或者多个强中心生成系统参数,系统参数中还隐藏有控制整个系统的陷门;且其使用场景较为单一,Zcash中的SNARK技术目前没有其他应用。

发明内容

以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。

本发明的目的在于解决上述问题,提供了一种适合区块链隐私保护的零知识证明方法和介质,可支持比特币的UTXO以及以太坊的余额模型,且能很好的与智能合约相结合,进一步提升方案的安全性,扩展了方案的应用场景,且针对交易的特定代数结构设计的零知识证明,即使轻节点也可以生成证明过程。

本发明的技术方案为:本发明揭示了一种适合区块链隐私保护的零知识证明方法,包括:

在初始化阶段生成系统参数;

在用户配置阶段生成交易节点公私钥对并定义加密方式;

在证明生成阶段,生成证明节点的余额密文以及分别使用证明节点和验证节点公钥加密的转账金额密文,证明节点生成随机参数并以初始化阶段得到的系统参数作为通用输入,计算得到相关证明参数,以此生成非交互式零知识证明π;

在验证阶段,证明节点将π发送给验证节点,验证节点结合系统参数,对π进行解析后验证是否满足条件,若满足则允许交易。

根据本发明的适合区块链隐私保护的零知识证明方法的一实施例,在初始化阶段生成系统参数为:PP=(p,G1,G2,GT,e,g1,h,g2,gT,vk,σ,T),其中(p,G1,G2,GT,e,g1,g2)←Gbp(1n)是双线性组,是另外一个G1的生成元且μ←$Zp,gT=e(g1,g2)是GT的生成元,签名密钥为sk=x而验证密钥为计算在0到2ε-1的签名:计算双线性映射

根据本发明的适合区块链隐私保护的零知识证明方法的一实施例,在用户配置阶段进行交易的参与方使用paillier加密体系。

根据本发明的适合区块链隐私保护的零知识证明方法的一实施例,在证明生成阶段,拥有余额tA的用户A在向用户B转账金额为t时,执行以下操作:

步骤1:用户A从账本中得到tA的密文:其中r为随机数,NA为用户A的公钥;

步骤2:为得到存在证据生成参数的方式包括步骤(1)至(3):

(1)而且即,Ct,是相同的明文用不同公钥加密得到的密文,并由CMt做出pederson承诺,其中NA为用户A的公钥,NB为用户B的公钥,rt为生成的随机数,l为使用在pederson承诺中的随机数;

(2)而且其中l′为使用在pederson承诺中的随机数,以及

(3)t∈[0,(2ε)γ],t′=tA-t∈[0,(2ε)γ),其中

ε和γ是表示方案明文空间的两参数,方案的明文空间为[0,2β],其中β=ε·γ,若β≠ε·γ则可以通过适当放大范围以使β=ε·γ成立;

步骤3:使用系统参数PP作为通用输入,A使用私密输入生成能证明以上论断的证据,生成证明的方式包括以下步骤:

设置N=NA·NB

随机样本rl,rl′,sj,wj$ZN*p,其中j=0,1,2..,γ-1,计算:

再对应于j=0,1,2,..,γ-1随机选取样本vj,vj′,qj,mj$ZN*p,计算:

根据以上的定义和公式,计算

其中H表示密码学中的哈希函数。;

根据c,计算:

z1=r1/rtcmodNA>l=rl-c·lmod(N*p)

zl′=rl′-c·l′mod(N*p)

z3=r3/(r/rt)c>A

对于j=0,1,2,..,γ-1计算:

最后,A发送零知识证明π给B:

根据本发明的适合区块链隐私保护的零知识证明方法的一实施例,在证明生成阶段,拥有余额tA的用户A在向用户B转账金额为t时,执行以下操作:

步骤1:用户A从账本中得到tA的密文:其中r为随机数,NA为用户A的公钥;

步骤2:为得到存在证据生成参数的方式包括步骤(1)至(3):

(1)而且即,Ct,是相同的明文用不同公钥加密得到的密文,并由CMt做出pederson承诺,其中NA为用户A的公钥,NB为用户B的公钥,rt和为生成的随机数,l为使用在pederson承诺中的随机数;

(2)而且其中l′为使用在pederson承诺中的随机数;以及

(3)t∈[0,(2ε)γ],t′=tA-t∈[0,(2ε)γ),其中

ε和γ是表示方案明文空间的两参数,方案的明文空间为[0,2β],其中β=ε·γ,若β≠ε·γ则可以通过适当放大范围以使β=ε·γ成立;

步骤3:使用系统参数PP作为通用输入,A使用私密输入生成能证明以上论断的证据,生成证明的方式包括以下步骤:

设置N=NA·NB

随机样本rl,rl′,sj,wj$ZN*p,其中j=0,1,2..,γ-1,计算:

再对应于j=0,1,2,..,γ-1随机选取样本vj,v′j,qj,mj$ZN*p,计算:

选取随机样本并且设置根据以上的定义和公式,计算:

计算:

z1=r1/rtcmodNA>l′=rl′-c·l′mod(N*p)

z3=r3/(r/rt)c>A

对于j=0,1,2,..,γ-1计算:

最后,A发送零知识证明π给B:

根据本发明的适合区块链隐私保护的零知识证明方法的一实施例,用户A从账本中得到tA的密文的过程中,若用户A不知道随机数r的数值,则利用抽取器算法通过明文tA和私钥λA得到随机数r。

根据本发明的适合区块链隐私保护的零知识证明方法的一实施例,在验证阶段,接收到证明π之后,验证者解析π,结合通用输入PP,对于j=0,1,2..,γ-1,验证阶段检查是否满足以下的条件:

根据本发明的适合区块链隐私保护的零知识证明方法的一实施例,在验证阶段,接收到证明π之后,验证者解析π并计算结合通用输入PP,对于j=0,1,2..,γ-1,验证阶段检查是否满足以下的条件:

本发明还揭示了一种计算机可读存储介质的一实施例,其上存储计算机程序,计算机程序被读取到处理器中执行以运行如下的步骤:

在初始化阶段生成系统参数;

在用户配置阶段生成交易节点公私钥对并定义加密方式;

在证明生成阶段,生成证明节点的余额密文以及分别使用证明节点和验证节点公钥加密的转账金额密文,证明节点生成随机参数并以初始化阶段得到的系统参数作为通用输入,计算得到相关证明参数,以此生成非交互式零知识证明π;

在验证阶段,证明节点将π发送给验证节点,验证节点结合系统参数,对π进行解析后验证是否满足条件,若满足则允许交易。

本发明还揭示了一种计算机可读存储介质的一实施例,计算机程序运行的步骤中,在初始化阶段生成系统参数为:PP=(p,G1,G2,GT,e,g1,h,g2,gT,vk,σ,T),其中(p,G1,G2,GT,e,g1,g2)←Gbp(1n)是双线性组,是另外一个G1的生成元且μ←$Zp,gT=e(g1,g2)是GT的生成元,签名密钥为sk=x而验证密钥为计算在0到2ε-1的签名:计算双线性映射

本发明还揭示了一种计算机可读存储介质的一实施例,计算机程序运行的用户配置阶段进行交易的参与方使用paillier加密体系。

本发明还揭示了一种计算机可读存储介质的一实施例,计算机程序运行的证明生成阶段,拥有余额tA的用户A在向用户B转账金额为t时,执行以下操作:

步骤1:用户A从账本中得到tA的密文:其中r为随机数,NA为用户A的公钥;

步骤2:为得到存在证据生成参数的方式包括步骤(1)至(3):

(1)而且即,Ct,是相同的明文用不同公钥加密得到的密文,并由CMt做出pederson承诺,其中NA为用户A的公钥,NB为用户B的公钥,rt为生成的随机数,l为使用在pederson承诺中的随机数;

(2)而且其中l′为使用在pederson承诺中的随机数;以及

(3)t∈[0,(2ε)γ],t′=tA-t∈[0,(2ε)γ),其中

ε和γ是表示方案明文空间的两参数,方案的明文空间为[0,2β],其中β=ε·γ,若β≠ε·γ则可以通过适当放大范围以使β=ε·γ成立;

步骤3:使用系统参数PP作为通用输入,A使用私密输入生成能证明以上论断的证据,生成证明的方式包括以下步骤:

设置N=NA·NB

随机样本rl,rl′,sj,wj$ZN*p,其中j=0,1,2..,γ-1,计算:

再对应于j=0,1,2,..,γ-1随机选取样本vj,vj′,qj,mj$ZN*p,计算:

根据以上的定义和公式,计算

其中H代表密码学中的哈希函数;

根据c,计算:

z1=r1/rtcmodNA>l=rl-c·lmod(N*p)

zl′=rl′-c·l′mod(N*p)

z3=r3/(r/rt)c>A

对于j=0,1,2,..,γ-1计算:

最后,A发送零知识证明π给B:

本发明还揭示了一种计算机可读存储介质的一实施例,计算机程序运行的证明生成阶段,拥有余额tA的用户A在向用户B转账金额为t时,执行以下操作:

步骤1:用户A从账本中得到tA的密文:其中r为随机数,NA为用户A的公钥;

步骤2:为得到存在证据生成参数的方式包括步骤(1)至(3):

(1)而且即,Ct,是相同的明文用不同公钥加密得到的密文,并由CMt做出pederson承诺,其中NA为用户A的公钥,NB为用户B的公钥,rt和为生成的随机数,l为使用在pederson承诺中的随机数;

(2)而且其中l′为使用在pederson承诺中的随机数;以及

(3)t∈[0,(2ε)γ],t′=tA-t∈[0,(2ε)γ),其中

ε和γ是表示方案明文空间的两参数,方案的明文空间为[0,2β],其中β=ε·γ,若β≠ε·γ则可以通过适当放大范围以使β=ε·γ成立;

步骤3:使用系统参数PP作为通用输入,A使用私密输入生成能证明以上论断的证据,生成证明的方式包括以下步骤:

设置N=NA·NB

随机样本rl,rl′,sj,wj$ZN*p,其中j=0,1,2..,γ-1,计算:

再对应于j=0,1,2,..,γ-1随机选取样本vj,v′j,qj,mj$ZN*p,计算:

选取随机样本并且设置根据以上的定义和公式,计算:

计算:

z1=r1/rtcmodNA>l′=rl′-c·l′mod(N*p)

z3=r3/(r/rt)c>A

对于j=0,1,2,..,γ-1计算:

最后,A发送零知识证明π给B:

本发明还揭示了一种计算机可读存储介质的一实施例,用户A从账本中得到tA的密文的过程中,若用户A不知道随机数r的数值,则利用抽取器算法通过明文tA和私钥λA得到随机数r。

本发明还揭示了一种计算机可读存储介质的一实施例,计算机程序运行的验证阶段,接收到证明π之后,验证者解析π,结合通用输入PP,对于j=0,1,2..,γ-1,验证阶段检查是否满足以下的条件:

本发明还揭示了一种计算机可读存储介质的一实施例,计算机程序运行的验证阶段,接收到证明π之后,验证者解析π并计算结合通用输入PP,对于j=0,1,2..,γ-1,验证阶段检查是否满足以下的条件:

本发明对比现有技术有如下的有益效果:本发明的方法包括初始化阶段系统参数(包含参数的生成过程和含义),证明生成阶段生成零知识证明的具体过程(包含过程中生成的密文,涉及到的公式和参数等),以及验证阶段(包含验证的公式和条件等)。具体而言,本发明的适合于区块链隐私保护的零知识证明方案,通过结合同态加密算法,针对交易金额进行保护。智能合约的公共账本中的数据使用同态加密后的密文存储,并在交易过程中,生成非交互式的零知识证明,验证交易的合法性和有效性。具体算法的方案为:考虑区块链中两交易参与方,证明节点和验证节点。系统首先初始化参数,交易节点生成公私钥对及并定义加密方式;之后证明节点获取其余额密文以及分别使用证明节点和验证节点公钥加密的转账金额密文;证明节点通过计算得到相关参数,生成非交互式零知识证明π;证明节点将π发送给验证节点,验证节点结合系统参数,对π进行解析,验证是否满足条件,若满足,则允许交易。本发明算法的优势在于,可同时支持比特币的UTXO模型及以太坊的余额模型,但更适合于余额模型,且针对适配智能合约设计,能很好的与智能合约结合;系统参数可配置,系统参数中包含陷门信息,并且在方案的安全性上有严格证明,在公链场景可以采取多方安全计算的方式生成系统参数,而联盟链场景中可以是监管节点生成系统参数;本发明方案的应用场景较多,可应用在包括但不限于供应链金融、清算和结算、借贷场景等;本发明方案针对交易的特定代数结构设计零知识证明系统,消耗的计算资源和时间较小,即使轻节点也可生成证明过程。

附图说明

在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本发明的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。

图1示出了本发明的合区块链隐私保护的零知识证明方法的一实施例的流程图。

具体实施方式

以下结合附图和具体实施例对本发明作详细描述。注意,以下结合附图和具体实施例描述的诸方面仅是示例性的,而不应被理解为对本发明的保护范围进行任何限制。

本发明的方案中使用了加法同态加密算法对区块链中的隐私数据进行加密,并在交易过程中生成非交互式的零知识证明以证明交易的有效性。

为了简单起见,以下提到的实施例只考虑在智能合约中的两个参与方用户A和B。假定明文空间是[0,2β],其中β=ε·γ(若β≠ε·γ,则可以通过适当放大范围,以使β=ε·γ成立)。本实施例的适合区块链隐私保护的(非交互式)零知识证明方法的实施步骤如图1所示,包括四个阶段:初始化阶段、用户配置阶段、证明生成阶段和验证阶段,以下针对这四个阶段分别进行说明。

一、初始化阶段

在系统的初始化阶段,生成系统参数PP。(p,G1,G2,GT,e,g1,g2)←Gbp(1n)是双线性组。假定是另外一个G1的生成元,其中μ←$Zp。假定gT=e(g1,g2)是GT的生成元。签名密钥sk=x而验证密钥接着计算在0到2ε-1的签名:

同时,计算以下的双线性映射:

综上,系统参数为PP=(p,G1,G2,GT,e,g1,h,g2,gT,vk,σ,T)。

二、用户配置阶段

在用户配置阶段,当进行交易时,参与方使用paillier加密体系。考虑用户A,其公钥、私钥以及加密方法如下所示:

公钥:PKA=NA,其中NA是两个大素数pA和qA的乘积。

私钥:SKA=λA=lcm(pA-1,qA-1)。(标准的lcm函数是计算参数的最小公倍数)

加密:其中代表随机数。

三、证明生成阶段

在证明生成阶段,拥有余额tA的用户A在向用户B转账金额为t时,执行以下操作:

(一)用户A从账本中得到tA的密文,其中A可能并不知道随机数r的具体数值。但A可以使用如下描述的抽取器算法通过明文tA和私钥λA得到随机数r。

EXTRACTOR(抽取器)算法的具体实现步骤如下:

A使用其公钥NA和B的公钥NB可生成如下的t的密文,生成方式为:

rt为生成的随机数;

用Pederson承诺的形式得到t,t′=tA-t,生成方式为:

其中,l,l′是使用在pederson承诺中的随机数。

(二),根据上述(一),为得到存在证据生成参数的方式如下:

(1)而且即,Ct,是相同的明文用不同公钥加密得到的密文,其中由CMt做出承诺。

(2)而且

(3)t∈[0,(2ε)γ],t′=tA-t∈[0,(2ε)γ),其中

ε和γ是表示方案明文空间的两参数,方案的明文空间为[0,2β],其中β=ε·γ(若β≠ε·γ,可以通过适当放大范围,以使β=ε·γ成立)

(三)使用系统参数PP作为通用输入,A使用私密输入生成能证明以上论断的证据,生成方式有两种方案,其中方案二包含陷门信息。

方案一:

设置N=NA·NB

随机样本rl,rl′,sj,wj$ZN*p,其中j=0,1,2..,γ-1,计算:

再对应于j=0,1,2,..,γ-1随机选取样本vj,v′j,qj,mj$ZN*p,然后计算:

根据以上的定义和公式,计算

其中,H代表密码学中的哈希函数。

根据c,计算:

z1=r1/rtcmodNA>l=rl-c·lmod(N*p)

zl′=rl′-c·l′mod(N*p)

z3=r3/(r/rt)c>A

对于j=0,1,2,..,γ-1计算:

最后,A发送零知识证明π给B:

方案二为:

设置N=NA·NB

随机样本rl,rl′,sj,wj$ZN*p,其中j=0,1,2..,γ-1,计算:

再对应于j=0,1,2,..,γ-1随机选取样本vj,v′j,qj,mj$ZN*p,然后计算:

以上部分和方案一相同,在此方案中,还需选取随机样本并且设置根据以上的定义和公式,计算

计算:

z1=r1/rtcmodNA>l′=rl′-c·l′mod(N*p)

z3=r3/(r/rt)c>A

对于j=0,1,2,..,γ-1计算:

最后,A发送零知识证明π给B:

四、验证阶段

接收到证明π之后,验证者按如上方式解析π,结合通用输入PP,对于j=0,1,2..,γ-1,验证阶段两方案分别检查是否满足以下的条件:

方案一(对应第三阶段的方案一):

方案二(对应第三阶段的方案二):

接收到证明π后,验证者除了解析π,还需计算之后结合通用输入PP,对于j=0,1,2..,γ-1,除了验证方案一中的公式(1)到(6)外,还需验证以下公式:

若条件都满足,则允许交易,节点上的智能合约自动对公共账本上对交易两节点的余额进行相应修改。

此外,本发明还公开了计算机可读存储介质,其上存储计算机程序,计算机程序被处理器执行,运行如上述实施例所述的方法步骤。

以上实施例仅为举例,本发明的可使用场景包括:供应链金融中进行资产转移、账本信息一致性维护时,对各节点的余额信息使用加法同态加密算法进行加密,并在节点间进行交易时,广播非交互式零知识证明,以证明交易的有效性;在清算和结算场景中,保护客户隐私的同时提升客户识别效率并降低时间成本;借贷场景中加密出款及借款方交易记录,并跟踪和保护付款的流动过程的有效性。

尽管为使解释简单化将上述方法图示并描述为一系列动作,但是应理解并领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。

本领域技术人员将进一步领会,结合本文中所公开的实施例来描述的各种解说性逻辑板块、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。

结合本文所公开的实施例描述的各种解说性逻辑板块、模块、和电路可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文所描述功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协作的一个或多个微处理器、或任何其他此类配置。

结合本文中公开的实施例描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中体现。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读取和写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC中。ASIC可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。

在一个或多个示例性实施例中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现为计算机程序产品,则各功能可以作为一条或更多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,其包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,这样的计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或能被用来携带或存储指令或数据结构形式的合意程序代码且能被计算机访问的任何其它介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其它远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据,而碟(disc)用激光以光学方式再现数据。上述的组合也应被包括在计算机可读介质的范围内。

提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号