You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ZKP Circom电路导线数超出预期:第4根导线来源咨询

Circom电路中第4根导线的来源解释

你的乘法电路代码:

pragma circom 2.0.0;

template Multiplier2() {
    signal input a;
    signal input b;
    signal output c;
    c <== a*b;
 }

 component main = Multiplier2();

编译输出显示wires: 4,你预期是3根(对应a、b、c三个信号),这第4根是Circom处理乘法时自动生成的隐藏中间导线。

原因是Circom在处理非线性约束(比如a*b这种乘法)时,会引入一个临时的中间信号来拆解约束逻辑:

  • 首先创建一个隐藏信号(比如命名为t),用它来承载a*b的结果,形成非线性约束t = a*b
  • 再通过线性约束把这个中间信号的值赋值给输出c,也就是c = t

这就额外多了一根导线,加上你定义的a、b、c,总共有4根导线。

你可以打开编译生成的.sym符号文件,里面会列出所有导线的标签,能看到这个隐藏导线的命名(通常类似main.Multiplier2.c$mul),对应乘法操作的中间信号。

内容的提问来源于stack exchange,提问作者egor10_4

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 16:00:16