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.如权利要求1所述的零知识证明电路的优化方法,其特征在于,所述构建所述目标约束对应的并查集的步骤包括:将所述目标约束中约束输入的常数项与所述约束输入的变量系数相乘,得到乘积,并将所述乘积和所述目标约束中约束输出的变量系数确定为所述目标约束对应并查集的权值;将所述目标约束对应的变量确定为同类项,将同类项的所述变量加入所述并查集中,得到所述目标约束对应的并查集。3.如权利要求1或2所述的零知识证明电路的优化方法,其特征在于,所述删除所述约束集合中的所述目标约束,以得到优化后的所述零知识证明电路的步骤包括:删除所述约束集合中的所述目标约束,判断所述约束集合中是否存在未遍历的约束;若所述约束集合中存在未遍历的所述约束,则检测未遍历的所述约束的输入中是否存在常数项;若未遍历的所述约束的输入中不存在常数项,则将未遍历的所述约束标记为已遍历约束,以得到优化后的所述零知识证明电路。4.如权利要求3所述的零知识证明电路的优化方法,其特征在于,所述若所述约束集合中存在未遍历的所述约束,则检测未遍历的所述约束的输入中是否存在常数项的步骤之后,还包括:若未遍历的所述约束的输入中存在常数项,则返回执行所述确定所述约束输入中存在常数项的目标约束的步骤。5.如权利要求1或2所述的零知识证明电路的优化方法,其特征在于,所述构建所述目标约束对应的并查集,并删除所述约束集合中的所述目标约束的步骤之后,还包括:将删除目标约束后的所述约束集合确定为约束数组,以递归的形式将所述约束数组拆分成左右子区间,其中,递归的结束条件为各个子区间中的约束个数为1个;按照拆分的递归顺序反向回溯至最顶层递归,以得到优化后的所述零知识证明电路,其中,在回溯过程中,在每一个递归中将两个子区间归并为一个子区间。6.如权利要求5所述的零知识证明电路的优化方法,其特征在于,所述按照拆分的递归顺序反向回溯至最顶层递归的步骤包括:获取左右两个子区间中的约束,并分别记为第一约束和第二约束;追溯所述第一约束对应变量的并查集祖先,记为第一并查集祖先,以及追溯所述第二约束对应变量的并查集祖先,记为第二并查集祖先;若通过全序关系函数确定所述第一并查集祖先与所述第二并查集祖先相等,则删除所述第一约束,将所述第二约束写入归并后的子区间中,得到归并后的子区间,并将归并后的子区间返回给上层递归,以回溯至最顶层递归;若通过全序关系函数确定所述第一并查集祖先与所述第二并查集祖先不相等,但确定所述第一并查集祖先大于所述第二并查集祖先,则删除所述第一约束,并将所述第二约束写入归并后的子区间中,以回溯至...
【专利技术属性】
技术研发人员:石翔,李辉忠,张开翔,范瑞斌,
申请(专利权)人:深圳前海微众银行股份有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。