SuperAPI AI 工具集

circom

安全与审计

查看项目

更新于 10-16 08:48

技能介绍

用途:circom 是用于定义零知识证明系统(如配合 snarkjs)所需算术电路的领域特定语言与编译器。本技能面向智能体,聚焦 circom 2.x 的语言语义、约束生成与实际用法。

主要能力:电路由参数化模板与组件构建,编译器输出 R1CS,并可选生成 WASM/C++ 见证生成器。参考内容涵盖信号(输入/输出/中间、赋值运算符、公开/私有、不可变性)、模板与组件(定义、实例化、点号表示、数组、并行与自定义模板)、约束生成(二次约束、===、<== 与 <-- + ===)、main 组件(入口、公开输入列表、唯一 main)、pragma 与 include(版本、custom_templates、include、-l)。

功能细节:运算符(域、布尔、关系、位运算、优先级、条件 ? :);控制流(if/for/while、已知与未知条件、实例化顺序);函数(纯计算、无信号/约束、每条路径都返回);变量与数据类型(var、已知大小数组、域与信号数组);匿名组件与元组(内联实例化、多输出、_、数组 <==);标签(如 binary、maxbit、继承、带值标签);总线(类结构信号组、打标签、嵌套/参数化、输入格式);编译(CLI 标志 r1cs、wasm、c、sym、O0/O1/O2、prime、-l、inspect);作用域(顶层或已知条件 if 下的信号/组件,var 块级作用域)。

最佳实践:信号安全(优先 <==/==>;仅在必要时用 <-- 并补充 ===;使用 --inspect);assert 与 log(编译期与见证期 assert、log() 调试);已知与未知(信号未知,约束与索引须在已知控制流下);简化(O0/O1/O2 选择、PLONK 与 Groth16、大电路)。

限制:资料未提供具体安装命令、收费与价格、平台支持范围及性能数据,暂未提供。