掌桥专利:专业的专利平台
掌桥专利
首页

一种区块链中可监管零知识证明验证方法及系统

文献发布时间:2023-06-19 11:57:35


一种区块链中可监管零知识证明验证方法及系统

技术领域

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

背景技术

区块链应用提供了数据的可信共享交换,意在提升系统的运行效率。区块链的多个节点网络通过共识机制运行,单个节点均会储存区块链上所有数据。因此,即便是单一节点遭受黑客攻击,也不会影响区块链系统的整体运行。区块链的分布式存储有效降低了数据集中管理的风险,区块链的技术特点和独特优势为各个领域应用开辟了广阔空间。但是,区块链的分布式共识在提高系统的可靠性和可信性的同时,增大了数据被发送和存储的范围,应此大大提升了数据泄露的风险。对于大部分区块链应用而言,数据的泄露将会导致应用存在严重的安全问题。

匿名用户/交易虽然有效的保护了数据的隐私,但是因为其难以监管,所以无法保证数据的真实性,由此,区块链如果需要在实际社会生活中获得广泛应用,其数据的真实性也必须得到保障,由此区块链需要引入第三方监管,以确保链上信息的正确性。区块链应用必须采取可监管的匿名保护措施。根据实际应用的需求,现有多种技术实现不同程度的数据保护,零知识证明就是其中一个重要方向。零知识证明指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。

然而,目前零知识证明在实际区块链上的敏感数据的应用,为各类区块链应用提供链上数据安全性和可监管性的技术支持时,无法达到可监管敏感数据保护以实现用户身份的可监管匿名、敏感数据的加密保护及支持共识节点验证数据真实性的问题。

发明内容

本发明提供一种区块链中可监管零知识证明验证方法及系统,用以解决目前零知识证明在实际区块链上的敏感数据的应用上存在的上述部分或全部问题。

第一方面,本发明提供一种区块链中可监管零知识证明验证方法,包括:

通过客户端创建用户的主账户,得到与用户身份一对一链接的主地址,并记录在区块链智能合约;

根据所述主地址生成用户的公私钥对,并将所述用户的公私钥对广播至区块链全网;

基于所述用户的公私钥对和监管方的公钥,得到用户的副地址;

通过区块链智能合约记录的主地址对用户发起的交易进行合法性验证:若判定为合法,则执行交易;否则,通过环签名混淆使得监管方判断用户的主地址和副地址的关联性,获得用户的身份信息。

优选地,所述基于所述用户的公私钥对和监管方的公钥,得到用户的副地址,包括:

根据用户的公私钥对(A,a)产生一个随机密钥对(S,s);

根据用户的公私钥对(A,a)、随机密钥对(S,s)和监管方的公钥集合(B

基于所述生成的公钥和随机公钥生成副地址(A

优选地,所述根据用户的公私钥对(A,a)、随机密钥对(S,s)和监管方的公钥集合(B

A

a

其中,G为满足S=[s]G的约定数。

优选地,通过环签名混淆使得监管方判断用户的主地址和副地址的关联性,包括:

根据密钥交换算法得到随机私钥集合(s

通过如下公式得到公钥A′:A'=A

其中,

通过判断A

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

用户客户端,用于创建用户的主账户,得到与用户身份一对一链接的主地址,并记录在区块链智能合约;

钥对生成模块,用于根据所述主地址生成用户的公私钥对,并将所述用户的公私钥对广播至区块链全网;

副地址生成模块,用于基于所述用户的公私钥对和监管方的公钥,得到用户的副地址;

合法性验证模块,用于通过区块链智能合约记录的主地址对用户发起的交易进行合法性验证:若判定为合法,则执行交易;否则,通过环签名混淆使得监管方判断用户的主地址和副地址的关联性,获得用户的身份信息。

优选地,所述副地址生成模块,用于基于所述用户的公私钥对和监管方的公钥,得到用户的副地址,包括:

根据用户的公私钥对(A,a)产生一个随机密钥对(S,s);

根据用户的公私钥对(A,a)、随机密钥对(S,s)和监管方的公钥集合(B

基于所述生成的公钥和随机公钥生成副地址(A

优选地,所述根据用户的公私钥对(A,a)、随机密钥对(S,s)和监管方的公钥集合(B

A

a

其中,G为满足S=[s]G的约定数。

优选地,合法性验证模块,用于通过环签名混淆使得监管方判断用户的主地址和副地址的关联性,包括:

根据密钥交换算法得到随机私钥集合(s

通过如下公式得到公钥A′:A'=A

其中,

通过判断A

本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述区块链中可监管零知识证明验证方法的步骤。

本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述区块链中可监管零知识证明验证方法的步骤。

本发明提供的一种区块链中可监管零知识证明验证方法及系统,通过创建的用户主帐户得到与用户身份一对一链接的主地址,并记录在区块链智能合约;根据所述主地址生成用户的公私钥对,并将所述用户的公私钥对广播至区块链全网;基于所述用户的公私钥对和监管方的公钥,得到用户的副地址;通过区块链智能合约记录的主地址对用户发起的交易进行合法性验证。本发明实施例达到可监管敏感数据保护以实现用户身份的可监管匿名、敏感数据的加密保护及支持共识节点验证数据真实性。

附图说明

为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明提供的区块链共识节点验证示意图;

图2是本发明提供的一种区块链中可监管零知识证明验证方法的流程示意图;

图3是本发明提供的一种区块链中可监管零知识证明验证系统的结构示意图;

图4是本发明提供的电子设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的技术基础:区块链具有数据不可篡改和时间戳的特性,其特性奠定了区块链地位和应用,区块链技术特点主要包括去中心化(弱中心化)、去信任、共识机制、数据敏感可靠、可监管性。区块链的技术原理和运行机制使其在保障信息安全性上具有不可比拟的天然优势。

本发明的技术构思:针对区块链共识节点验证数据真实性与数据敏感性中的需求,如图1所示的验证示意图,提出区块链敏感数据保护方案,突破零知识证明在实际区块链上的敏感数据的应用,为各类区块链应用提供链上数据安全性和可监管性的技术支持,达到可监管敏感数据保护技术可实现用户身份的可监管匿名、敏感数据的加密保护,同时支持共识节点的验证。对于匿名情况,解决如何将提供错误信息者与真实用户关联,引入基于零知识证明的帐户镜像匿名技术以支持第三方的监管。

下面结合图2-图4描述本发明提供的一种区块链中可监管零知识证明验证方法及系统。

本发明实施例提供了一种区块链中可监管零知识证明验证方法。图2为本发明实施例提供的一种区块链中可监管零知识证明验证方法的流程示意图,如图2所示,该方法包括:

步骤210,通过客户端创建用户的主账户,得到与用户身份一对一链接的主地址,并记录在区块链智能合约;

具体地,主地址是用户的主帐户,该账户是在用户生成钱包时创建的,每个用户只有一个与身份一对一链接的主地址。

步骤220,根据所述主地址生成用户的公私钥对,并将所述用户的公私钥对广播至区块链全网;

具体地,采用标准加密算法中的椭圆曲线算法Secp256k1将主地址生成公钥和私钥,构建用户的公私钥对。

步骤230,基于所述用户的公私钥对和监管方的公钥,得到用户的副地址;

具体地,副地址采用标准加密算法中的椭圆曲线Diffie-Hellman(ECDH)算法生成。

步骤240,通过区块链智能合约记录的主地址对用户发起的交易进行合法性验证:若判定为合法,则执行交易;否则,通过环签名混淆使得监管方判断用户的主地址和副地址的关联性,获得用户的身份信息。

与现有技术相比,本发明实施例提供的方法,通过零知识证明验证主地址,进而验证交易的合法性,即监管方监管用户主副帐户的相关性,实现用户身份的匿名、敏感数据的加密保护,对加密敏感数据的监管验证以及第三方监管的不可伪造或篡改交易。

基于上述任一实施例,所述基于所述用户的公私钥对和监管方的公钥,得到用户的副地址,包括:

根据用户的公私钥对(A,a)产生一个随机密钥对(S,s);

根据用户的公私钥对(A,a)、随机密钥对(S,s)和监管方的公钥集合(B

基于所述生成的公钥和随机公钥生成副地址(A

需要说明的是,生成的副地址也就是用户的副帐户使用的是用户自身的公钥和随机公钥,而相应的私钥将存储到密钥库中。

基于上述任一实施例,所述根据用户的公私钥对(A,a)、随机密钥对(S,s)和监管方的公钥集合(B

A

a

其中,G为满足S=[s]G的约定数。

基于上述任一实施例,通过环签名混淆使得监管方判断用户的主地址和副地址的关联性,包括:

根据密钥交换算法得到随机私钥集合(s

具体地,一旦账户涉嫌非法活动,监管方扫描网络的账户相关性,监管方的公钥和私钥对分别为(B

这里,G为密钥算法中的约定数,由通信多方决定。

上述监管方的计算过程为:

通过如下公式得到公钥A′:A'=A

其中,

通过判断A

具体来说,区块链中身份验证过程是,在上层应用中首先进行身份链地址的实名验证,而身份链主要通过多个具有公信力的第三方机构实现每个实体主地址的验证与构建,其过程的具体步骤如下:

1、用户通过客户端向第三方监管机构申请CA证书,第三方认证后返回给用户认证证书,该过程只需要进行一次。

2、用户可通过零知识证明方案,向区块链证明已经获得了认证,无需暴露任何CA信息。

3、用户自己产生的地址会被区块链智能合约记录,成为该用户唯一的主地址,链上并没有主账户的身份信息,所以身份信息实现保密。

4、用户利用自己的公私钥并随机选取区块链上的公钥,使用环签名策略向委员会申请副地址认证。

5、当用户要发起一笔交易时需进行交易有效性验证,区块链通过CA合约验证地址,判定交易是否合法,合法则执行交易。

下面对本发明提供的一种区块链中可监管零知识证明验证系统进行描述,下文描述的与上文描述的一种区块链中可监管零知识证明验证方法可相互对应参照。

图3为本发明实施例提供的一种区块链中可监管零知识证明验证系统的结构示意图,如图3所示,该系统包括用户客户端310、钥对生成模块320、副地址生成模块330和合法性验证模块340:

用户客户端310,用于创建用户的主账户,得到与用户身份一对一链接的主地址,并记录在区块链智能合约;

钥对生成模块320,用于根据所述主地址生成用户的公私钥对,并将所述用户的公私钥对广播至区块链全网;

副地址生成模块330,用于基于所述用户的公私钥对和监管方的公钥,得到用户的副地址;

合法性验证模块340,用于通过区块链智能合约记录的主地址对用户发起的交易进行合法性验证:若判定为合法,则执行交易;否则,通过环签名混淆使得监管方判断用户的主地址和副地址的关联性,获得用户的身份信息。

与现有技术相比,本发明实施例提供的系统,通过零知识证明验证主地址,进而验证交易的合法性,即监管方监管用户主副帐户的相关性,实现用户身份的匿名、敏感数据的加密保护,对加密敏感数据的监管验证以及第三方监管的不可伪造或篡改交易。

基于上述任一实施例,结合图3所示,所述副地址生成模块330,用于基于所述用户的公私钥对和监管方的公钥,得到用户的副地址,包括:

根据用户的公私钥对(A,a)产生一个随机密钥对(S,s);

根据用户的公私钥对(A,a)、随机密钥对(S,s)和监管方的公钥集合(B

基于所述生成的公钥和随机公钥生成副地址(A

基于上述任一实施例,所述根据用户的公私钥对(A,a)、随机密钥对(S,s)和监管方的公钥集合(B

A

a

其中,G为满足S=[s]G的约定数。

基于上述任一实施例,结合图3所示,合法性验证模块340,用于通过环签名混淆使得监管方判断用户的主地址和副地址的关联性,包括:

根据密钥交换算法得到随机私钥集合(s

通过如下公式得到公钥A′:A'=A

其中,

通过判断A

综上所述,本发明公开了一种区块链中可监管零知识证明验证方法及系统,其中方法包括:通过客户端创建用户的主账户,得到与用户身份一对一链接的主地址,并记录在区块链智能合约;根据所述主地址生成用户的公私钥对,并将所述用户的公私钥对广播至区块链全网;基于所述用户的公私钥对和监管方的公钥,得到用户的副地址;通过区块链智能合约记录的主地址对用户发起的交易进行合法性验证:若判定为合法,则执行交易;否则,通过环签名混淆使得监管方判断用户的主地址和副地址的关联性,获得用户的身份信息;该系统包括用户客户端、钥对生成模块、副地址生成模块和合法性验证模块。同时公开了与上述方法构成同一发明构思的系统、电子设备及存储介质。本发明解决了目前零知识证明在实际区块链上的敏感数据的应用,为各类区块链应用提供链上数据安全性和可监管性的技术支持时,无法达到可监管敏感数据保护以实现用户身份的可监管匿名、敏感数据的加密保护及支持共识节点验证数据真实性的问题。

图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行区块链中可监管零知识证明验证方法,该方法包括:通过客户端创建用户的主账户,得到与用户身份一对一链接的主地址,并记录在区块链智能合约;根据所述主地址生成用户的公私钥对,并将所述用户的公私钥对广播至区块链全网;基于所述用户的公私钥对和监管方的公钥,得到用户的副地址;通过区块链智能合约记录的主地址对用户发起的交易进行合法性验证:若判定为合法,则执行交易;否则,通过环签名混淆使得监管方判断用户的主地址和副地址的关联性,获得用户的身份信息。

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

另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的区块链中可监管零知识证明验证方法,该方法包括:通过客户端创建用户的主账户,得到与用户身份一对一链接的主地址,并记录在区块链智能合约;根据所述主地址生成用户的公私钥对,并将所述用户的公私钥对广播至区块链全网;基于所述用户的公私钥对和监管方的公钥,得到用户的副地址;通过区块链智能合约记录的主地址对用户发起的交易进行合法性验证:若判定为合法,则执行交易;否则,通过环签名混淆使得监管方判断用户的主地址和副地址的关联性,获得用户的身份信息。

又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的区块链中可监管零知识证明验证方法,该方法包括:通过客户端创建用户的主账户,得到与用户身份一对一链接的主地址,并记录在区块链智能合约;根据所述主地址生成用户的公私钥对,并将所述用户的公私钥对广播至区块链全网;基于所述用户的公私钥对和监管方的公钥,得到用户的副地址;通过区块链智能合约记录的主地址对用户发起的交易进行合法性验证:若判定为合法,则执行交易;否则,通过环签名混淆使得监管方判断用户的主地址和副地址的关联性,获得用户的身份信息。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 一种区块链中可监管零知识证明验证方法及系统
  • 一种区块链系统中可委托监管匿名隐私保护方法
技术分类

06120113115205