用于区块链的证明方法及装置、电子设备和存储介质制造方法及图纸

技术编号:36558870 阅读:13 留言:0更新日期:2023-02-04 17:13
本公开提供了一种区块链的证明方法及装置、电子设备和存储介质。该方法的实现方案为:获取地址控制者对该地址控制者的公开地址的一个或多个绑定声明,该一个或多个绑定声明指示公开地址和该地址控制者的一个或多个私密地址之间的绑定关系;针对该一个或多个私密地址中的每一个私密地址,获取对该一个或多个绑定声明中的对应绑定声明进行签名后的签名数据,其中,对该对应绑定声明进行签名是基于与该私密地址对应的私钥的;以及利用符合预设条件的零知识证明电路来生成用于验证该一个或多个绑定关系的第一证明数据,其中,零知识证明电路的输入包括签名数据。明电路的输入包括签名数据。明电路的输入包括签名数据。

【技术实现步骤摘要】
用于区块链的证明方法及装置、电子设备和存储介质


[0001]本公开涉及区块链
,具体涉及一种用于区块链的证明方法及装置、电子设备、计算机可读存储介质和计算机程序产品。

技术介绍

[0002]区块链技术,又称为“分布式账本技术”,是一种去中心化、集体维护分布式账本的技术。去中心化是指无需由中心化实体来确保实现系统的一个或多个属性,例如在某些公共区块链上,交易记录的保全由所有参与节点共同保障,而不需要经由特定的中央服务器来管理。集体维护分布式账本是指由分布在不同地方的多个节点共同参与并且以多方存储多方计算的方式来确保数据难以篡改且计算结果可信,例如,在参与方数量较大且分布较为分散的情况下,难以通过单个或少数节点篡改交易记录。
[0003]在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。

技术实现思路

[0004]本公开提供了一种用于区块链的证明方法及装置、电子设备、计算机可读存储介质和计算机程序产品。
[0005]根据本公开的一方面,提供一种用于区块链的证明方法,包括:获取地址控制者对该地址控制者的公开地址的一个或多个绑定声明,该一个或多个绑定声明指示公开地址和该地址控制者的一个或多个私密地址之间的绑定关系;针对该一个或多个私密地址中的每一个私密地址,获取对该一个或多个绑定声明中的对应绑定声明进行签名后的签名数据,其中,对该对应绑定声明进行签名是基于与该私密地址对应的私钥的;以及利用符合预设条件的零知识证明电路来生成用于验证该一个或多个绑定关系的第一证明数据,其中,零知识证明电路的输入包括签名数据。
[0006]根据本公开的另一方面,还提供一种用于区块链的证明装置,包括:第一获取模块,被配置为获取地址控制者对该地址控制者的公开地址的一个或多个绑定声明,该一个或多个绑定声明指示公开地址和该地址控制者的一个或多个私密地址之间的绑定关系;第二获取模块,被配置为针对该一个或多个私密地址中的每一个私密地址,获取对该一个或多个绑定声明中的对应绑定声明进行签名后的签名数据,其中,对该对应绑定声明进行签名是基于与该私密地址对应的私钥的;以及生成模块,被配置为利用符合预设条件的零知识证明电路来生成用于验证该一个或多个绑定关系的第一证明数据,其中,零知识证明电路的输入包括签名数据。
[0007]根据本公开的另一方面,还提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的至少一个存储器,其中,所述至少一个存储器存储有计算机程序,所述计算机程序在被所述至少一个处理器执行时实现上述用于区块链的证明方法。
[0008]根据本公开的另一方面,还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被处理器执行时实现上述用于区块链的证明方法。
[0009]根据本公开的另一方面,还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现上述用于区块链的证明方法。
[0010]根据本公开的一个或多个实施例,利用与私有地址对应的私钥对公开地址的绑定声明进行签名,并且将签名数据作为符合预设条件的零知识证明电路的输入。一方面,可以准确地证明地址控制者的私密地址与公开地址的绑定关系,另一方面,由于零知识证明电路符合预设条件(例如,在预设的安全运行环境中操作),因此可以同时确保无需披露私密地址与公开地址之间的关系。进一步地,鉴于零知识证明电路的“零知识”特性,外界无法基于零知识证明电路的输出恢复或推断私有地址本身。
[0011]根据本公开的另外一个或多个实施例,上述利用符合预设条件的零知识证明电路来证明私密地址与公开地址是否绑定,可以最大程度上去除对需要第三方提供证明的依赖,使得进一步提升整个系统的去中心化特性。
[0012]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0013]附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
[0014]图1示出了根据本公开的一些实施例的用于区块链的证明方法的流程图;
[0015]图2示出了根据本公开的实施例的绑定声明的结构化数据的示意图;
[0016]图3示出了根据本公开的实施例的签名的结构化数据的示意图;
[0017]图4示出了根据本公开的另一些实施例的用于区块链的证明方法的流程图;
[0018]图5示出了根据本公开的又一些实施例的用于区块链的证明方法的流程图;
[0019]图6示出了根据本公开的实施例的用于区块链的证明装置的结构框图;
[0020]图7示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。
具体实施方式
[0021]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0022]在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
[0023]在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该
要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
[0024]区块链技术,又称为“分布式账本技术”,是一种去中心化、集体维护分布式账本的技术。去中心化是指无需由中心化实体来确保实现系统的一个或多个属性,例如在某些公共区块链上,交易记录的保全由所有参与节点共同保障,而不需要经由特定的中央服务器来管理。集体维护分布式账本是指由分布在不同地方的多个节点共同参与并且以多方存储多方计算的方式来确保数据难以篡改且计算结果可信,例如,在参与方数量较大且分布较为分散的情况下,难以通过单个或少数节点篡改交易记录。
[0025]在区块链上,每个地址可以用来标识一个账户。在一些情况下,区块链的参与者(个人或机构)可能拥有不止一个地址,并且这些地址中的一部分可能是未与该参与者完全公开绑定的私密地址。例如,地址控制者拥有本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于区块链的证明方法,包括:获取地址控制者对所述地址控制者的公开地址的一个或多个绑定声明,所述一个或多个绑定声明指示所述公开地址和所述地址控制者的一个或多个私密地址之间的绑定关系;针对所述一个或多个私密地址中的每一个私密地址,获取对所述一个或多个绑定声明中的对应绑定声明进行签名后的签名数据,其中,对所述对应绑定声明进行签名是基于与该私密地址对应的私钥的;以及利用符合预设条件的零知识证明电路来生成用于验证所述一个或多个绑定关系的第一证明数据,其中,所述零知识证明电路的输入包括所述签名数据。2.根据权利要求1所述的方法,还包括:针对所述一个或多个私密地址中的每一个私密地址,利用所述零知识证明电路为该私密地址生成对应的别名以用于公开;以及基于所述对应的别名确定是否存在针对该私密地址的作弊,其中,与每一个私密地址对应的别名之间彼此不同。3.根据权利要求2所述的方法,其中,基于所述对应的别名确定是否存在针对该私密地址的作弊包括:确定包括所述对应的别名的绑定地址对,所述绑定地址对还包括与所述对应的别名绑定的公开地址;基于所述绑定地址对,确定与所述对应的别名绑定的公开地址的数量;以及响应于确定与所述对应的别名绑定的公开地址的数量大于1,确定存在针对该私密地址的作弊。4.根据权利要求2或3所述的方法,还包括:确定能够与所述地址控制者正在使用的应用程序通信的机密计算容器,其中,所述零知识证明电路位于所述机密计算容器中。5.根据权利要求4所述的方法,其中,确定能够与所述地址控制者正在使用的应用程序通信的机密计算容器包括:确定所述机密计算容器的第一身份ID和第一版本;将所述第一身份ID和所述第一版本分别与所述应用程序中预先设置的第二身份ID和第二版本进行比较;以及响应于确定所述第一身份ID与所述第二身份ID相同,并且所述第一版本与所述第二版本相同,确定所述机密计算容器为能够与所述应用程序通信的机密计算容器。6.根据权利要求4或5所述的方法,还包括:在所述机密计算容器内利用随机数生成器生成第一盐值;利用所述机密计算容器对所述第一盐值进行加密;以及将加密后的所述第一盐值存储在所述机密计算容器外。7.根据权利要求6所述的方法,其中,针对所述一个或多个私密地址中的每一个私密地址,利用所述零知识证明电路为该私密地址生成对应的别名以用于公开包括:获取第二盐值,其中,所述第二盐值的存储位置与所述第一盐值的存储位置相同;以及将所述签名数据和所述第二盐值作为所述零知识证明电路的输入来生成所述对应的别名。
8.根据权利要求7所述的方法,还包括:利用所述零知识证明电路生成与所述第二盐值对应...

【专利技术属性】
技术研发人员:郭伟基王炜煜
申请(专利权)人:上海加密原生科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1