零知识证明电路的优化方法、装置、设备及可读存储介质制造方法及图纸

技术编号:20430701 阅读:15 留言:0更新日期:2019-02-23 10:40
本发明专利技术公开了一种零知识证明电路的优化方法、装置、设备及可读存储介质,该方法包括步骤:当侦测到优化零知识证明电路的优化指令后,根据优化指令获取零知识证明电路对应的约束集合;按照预设遍历方式遍历约束集合中的各个约束,确定约束输入中存在常数项的目标约束;构建目标约束对应的并查集,并删除约束集合中的目标约束,以得到优化后的零知识证明电路。本发明专利技术减少了零知识证明电路对应约束集合中的约束个数,降低了零知识证明电路占用的存储空间,在零知识证明电路对应程序的运行过程中,提高了遍历约束集合中约束的遍历效率,缩短了零知识证明电路对应程序的运行时长,提高了零知识证明电路对应程序的执行效率。

Optimizing Method, Device, Equipment and Readable Storage Medium of Zero Knowledge Proof Circuit

The invention discloses an optimization method, device, device and readable storage medium of zero-knowledge proof circuit. The method includes steps: after detecting the optimization instruction of the optimized zero-knowledge proof circuit, the corresponding constraint set of the zero-knowledge proof circuit is obtained according to the optimization instruction; the constraints in the constraint set are traversed according to the preset traversal mode, and the constraints input is often determined. The objective constraints of several items are constructed, and the corresponding set of objective constraints is searched, and the objective constraints in the set of constraints are deleted to obtain the optimized zero-knowledge proof circuit. The invention reduces the number of constraints in the corresponding constraint set of zero-knowledge proof circuit, reduces the storage space occupied by the zero-knowledge proof circuit, improves the traversal efficiency of the constraints in the traversal constraint set, shortens the running time of the corresponding program of zero-knowledge proof circuit, and improves the corresponding program of zero-knowledge proof circuit. Implementation efficiency.

【技术实现步骤摘要】
零知识证明电路的优化方法、装置、设备及可读存储介质
本专利技术涉及密码学
,尤其涉及一种零知识证明电路的优化方法、装置、设备及可读存储介质。
技术介绍
零知识证明是一种密码学的证明思想,示证者与验证者共同协商好一个规则,在该规则中,示证者在不暴露自身私密证据的情况下,向验证者提供一串密文,验证者通过验证密文,能够相信示证者拥有相应的私密证据,而验证者却无法知道私密证据的内容。零知识证明技术的引入,有效的提高的区块链上数据的隐私性,但由于零知识证明的实现较为复杂,目前出现的落地方案ZCash,仅仅停留在可用的阶段,并未考虑性能和易用性。在零知识证明的实际应用中,最关键的步骤是根据具体的应用场景设计零知识证明电路。零知识证明电路描述了场景中各个数据对象间的映射关系,零知识电路将场景中的公开参数和秘密参数的映射关系联系在一起,为参数构造了约束关系。只有满足电路约束关系的参数,才是符合具体场景的参数。根据一个场景设计一个零知识证明电路,是需要涉及复杂的,大量变量的设计。目前的零知识证明电路,仅仅只抽象了参数设计的方式,化繁为简,根据不同场景,实现了较为可用的,可编程的零知识证明电路。目前的零知识证明电路虽然带来可用性,但在零知识证明电路中却引入了大量的中间参数,降低了零知识证明电路对应程序的执行效率。从存储空间上来说,零知识证明电路中的中间参数需要占用很大的存储空间,对于普通用户使用的终端而言,这是终端无法接受的。从时间上来说,大量的中间参数造成了零知识证明电路对应程序的运行时间很长,无法满足现有的高频率交易的需求。
技术实现思路
本专利技术的主要目的在于提供一种零知识证明电路的优化方法、装置、设备及可读存储介质,旨在解决现有的零知识证明电路占用的存储空间大,且零知识证明电路对应程序的运行时间长,执行效率低下的技术问题。为实现上述目的,本专利技术提供一种零知识证明电路的优化方法,所述零知识证明电路的优化方法包括步骤:当侦测到优化零知识证明电路的优化指令后,根据所述优化指令获取所述零知识证明电路对应的约束集合;按照预设遍历方式遍历所述约束集合中的各个约束,确定所述约束输入中存在常数项的目标约束;构建所述目标约束对应的并查集,并删除所述约束集合中的所述目标约束,以得到优化后的所述零知识证明电路。优选地,所述构建所述目标约束对应的并查集的步骤包括:将所述目标约束中约束输入的常数项与所述约束输入的变量系数相乘,得到乘积,并将所述乘积和所述目标约束中约束输出的变量系数确定为所述目标约束对应并查集的权值;将所述目标约束对应的变量确定为同类项,将同类项的所述变量加入所述并查集中,得到所述目标约束对应的并查集。优选地,所述删除所述约束集合中的所述目标约束,以得到优化后的所述零知识证明电路的步骤包括:删除所述约束集合中的所述目标约束,判断所述约束集合中是否存在未遍历的约束;若所述约束集合中存在未遍历的所述约束,则检测未遍历的所述约束的输入中是否存在常数项;若未遍历的所述约束的输入中不存在常数项,则将未遍历的所述约束标记为已遍历约束,以得到优化后的所述零知识证明电路。优选地,所述若所述约束集合中存在未遍历的所述约束,则检测未遍历的所述约束的输入中是否存在常数项的步骤之后,还包括:若未遍历的所述约束的输入中存在常数项,则返回执行所述确定所述约束输入中存在常数项的目标约束的步骤。优选地,所述构建所述目标约束对应的并查集,并删除所述约束集合中的所述目标约束的步骤之后,还包括:将删除目标约束后的所述约束集合确定为约束数组,以递归的形式将所述约束数组拆分成左右子区间,其中,递归的结束条件为各个子区间中的约束个数为1个;按照拆分的递归顺序反向回溯至最顶层递归,以得到优化后的所述零知识证明电路,其中,在回溯过程中,在每一个递归中将两个子区间归并为一个子区间。优选地,所述按照拆分的递归顺序反向回溯至最顶层递归的步骤包括:获取左右两个子区间中的约束,并分别记为第一约束和第二约束;追溯所述第一约束对应变量的并查集祖先,记为第一并查集祖先,以及追溯所述第二约束对应变量的并查集祖先,记为第二并查集祖先;若通过全序关系函数确定所述第一并查集祖先与所述第二并查集祖先相等,则删除所述第一约束,将所述第二约束写入归并后的子区间中,得到归并后的子区间,并将归并后的子区间返回给上层递归,以回溯至最顶层递归;若通过全序关系函数确定所述第一并查集祖先与所述第二并查集祖先不相等,但确定所述第一并查集祖先大于所述第二并查集祖先,则删除所述第一约束,并将所述第二约束写入归并后的子区间中,以回溯至最顶层递归。优选地,所述按照预设遍历方式遍历所述约束集合中的各个约束的步骤包括:按照深度优先的遍历方式遍历所述约束集合中的各个约束。此外,为实现上述目的,本专利技术还提供一种零知识证明电路的优化装置,所述零知识证明电路的优化装置包括:获取模块,用于当侦测到优化零知识证明电路的优化指令后,根据所述优化指令获取所述零知识证明电路对应的约束集合;遍历模块,用于按照预设遍历方式遍历所述约束集合中的各个约束;确定模块,用于确定所述约束输入中存在常数项的目标约束;构建模块,用于构建所述目标约束对应的并查集;删除模块,用于删除所述约束集合中的所述目标约束,以得到优化后的所述零知识证明电路。此外,为实现上述目的,本专利技术还提供一种零知识证明电路的优化设备,所述零知识证明电路的优化设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的零知识证明电路的优化程序,所述零知识证明电路的优化程序被所述处理器执行时实现如上所述的零知识证明电路的优化方法的步骤。此外,为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有零知识证明电路的优化程序,所述零知识证明电路的优化程序被处理器执行时实现如上所述的零知识证明电路的优化方法的步骤。本专利技术通过在侦测到优化零知识证明电路的优化指令后,根据优化指令获取零知识证明电路对应的约束集合;按照预设遍历方式遍历约束集合中的各个约束,确定约束输入中存在常数项的目标约束;构建目标约束对应的并查集,并删除约束集合中的目标约束,以得到优化后的零知识证明电路,减少了零知识证明电路对应约束集合中的约束个数,降低了零知识证明电路占用的存储空间,在零知识证明电路对应程序的运行过程中,提高了遍历约束集合中约束的遍历效率,缩短了零知识证明电路对应程序的运行时长,提高了零知识证明电路对应程序的执行效率。附图说明图1是本专利技术实施例方案涉及的硬件运行环境的结构示意图;图2是本专利技术零知识证明电路的优化方法较佳实施例的流程示意图;图3是本专利技术实施例中约束的电路表示的一种示意图;图4是本专利技术实施例构建所述目标约束对应的并查集,并删除所述约束集合中的所述目标约束,以得到优化后的所述零知识证明电路的一种流程示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,图1是本专利技术实施例方案涉及的硬件运行环境的结构示意图。需要说明的是,图1即可为零知识证明电路的优化设备的硬件运行环境的结构示意图。本专利技术实施例零知识证明电路的优化设备可以是PC,便携计算机等终端设备。如图本文档来自技高网...

【技术保护点】
1.一种零知识证明电路的优化方法,其特征在于,所述零知识证明电路的优化方法包括以下步骤:当侦测到优化零知识证明电路的优化指令后,根据所述优化指令获取所述零知识证明电路对应的约束集合;按照预设遍历方式遍历所述约束集合中的各个约束,确定所述约束输入中存在常数项的目标约束;构建所述目标约束对应的并查集,并删除所述约束集合中的所述目标约束,以得到优化后的所述零知识证明电路。

【技术特征摘要】
1.一种零知识证明电路的优化方法,其特征在于,所述零知识证明电路的优化方法包括以下步骤:当侦测到优化零知识证明电路的优化指令后,根据所述优化指令获取所述零知识证明电路对应的约束集合;按照预设遍历方式遍历所述约束集合中的各个约束,确定所述约束输入中存在常数项的目标约束;构建所述目标约束对应的并查集,并删除所述约束集合中的所述目标约束,以得到优化后的所述零知识证明电路。2.如权利要求1所述的零知识证明电路的优化方法,其特征在于,所述构建所述目标约束对应的并查集的步骤包括:将所述目标约束中约束输入的常数项与所述约束输入的变量系数相乘,得到乘积,并将所述乘积和所述目标约束中约束输出的变量系数确定为所述目标约束对应并查集的权值;将所述目标约束对应的变量确定为同类项,将同类项的所述变量加入所述并查集中,得到所述目标约束对应的并查集。3.如权利要求1或2所述的零知识证明电路的优化方法,其特征在于,所述删除所述约束集合中的所述目标约束,以得到优化后的所述零知识证明电路的步骤包括:删除所述约束集合中的所述目标约束,判断所述约束集合中是否存在未遍历的约束;若所述约束集合中存在未遍历的所述约束,则检测未遍历的所述约束的输入中是否存在常数项;若未遍历的所述约束的输入中不存在常数项,则将未遍历的所述约束标记为已遍历约束,以得到优化后的所述零知识证明电路。4.如权利要求3所述的零知识证明电路的优化方法,其特征在于,所述若所述约束集合中存在未遍历的所述约束,则检测未遍历的所述约束的输入中是否存在常数项的步骤之后,还包括:若未遍历的所述约束的输入中存在常数项,则返回执行所述确定所述约束输入中存在常数项的目标约束的步骤。5.如权利要求1或2所述的零知识证明电路的优化方法,其特征在于,所述构建所述目标约束对应的并查集,并删除所述约束集合中的所述目标约束的步骤之后,还包括:将删除目标约束后的所述约束集合确定为约束数组,以递归的形式将所述约束数组拆分成左右子区间,其中,递归的结束条件为各个子区间中的约束个数为1个;按照拆分的递归顺序反向回溯至最顶层递归,以得到优化后的所述零知识证明电路,其中,在回溯过程中,在每一个递归中将两个子区间归并为一个子区间。6.如权利要求5所述的零知识证明电路的优化方法,其特征在于,所述按照拆分的递归顺序反向回溯至最顶层递归的步骤包括:获取左右两个子区间中的约束,并分别记为第一约束和第二约束;追溯所述第一约束对应变量的并查集祖先,记为第一并查集祖先,以及追溯所述第二约束对应变量的并查集祖先,记为第二并查集祖先;若通过全序关系函数确定所述第一并查集祖先与所述第二并查集祖先相等,则删除所述第一约束,将所述第二约束写入归并后的子区间中,得到归并后的子区间,并将归并后的子区间返回给上层递归,以回溯至最顶层递归;若通过全序关系函数确定所述第一并查集祖先与所述第二并查集祖先不相等,但确定所述第一并查集祖先大于所述第二并查集祖先,则删除所述第一约束,并将所述第二约束写入归并后的子区间中,以回溯至...

【专利技术属性】
技术研发人员:石翔李辉忠张开翔范瑞斌
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:广东,44

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

1