3.3.1.1 zk-SNARKs (Groth16) Groth16证明生成卡壳?大型Merkle树验证电路的约束爆炸痛点与一键优化方案 想象一下,你是区块链隐私协议的实战工程师,手握一个野心勃勃的rollup项目。电路设计本该优雅:用户提交Merkle proof证明资产所有权,然后零知识证明交易有效性。电路规模不小,深度32层的Merkle树验证,路径128位哈希。但编译出zkey后,证明生成阶段CPU飙到100%,内存直冲16GB,snarkjs groth16 prove命令卡在“computing final proof”不动弹半小时,最终OOM杀进程。日志吐出一堆“pairing computation overflow”,你挠头:这不是标准电路吗,为什么我的机器扛不住?