SuperAPI AI 工具集

zk-proofs

安全与审计

查看项目

更新于 10-15 22:09

技能介绍

用途:面向在 Stellar 上实现零知识证明与隐私应用的开发者,说明如何把 SNARK 验证落到链上合约,以及如何接入不同证明工具链。能力与前提:链上原语按 CAP 与协议版本区分——BLS12-381 运算(G1/G2 加减、乘法、MSM、配对检查、hash-to-curve、Fr 运算)为 CAP-0059,协议 22 起可用;BN254 基础运算(G1 加乘、配对检查 crypto::bn254)为 CAP-0074,协议 25 起可用;BN254 G1 MSM、Fr 运算与曲线上检查为 CAP-0080,协议 26 起可用;Poseidon/Poseidon2 置换原语为 CAP-0075,协议 25 起可用,但只是置换而非完整哈希函数。实现前须确认 CAP 状态、目标网络协议版本以及 soroban-sdk 对所需主机函数的支持。用法:Groth16 在 BLS12-381 上可用较小合约验证;BN254 自协议 25 起同样可行;Noir 的 UltraHonk 需专用链上验证合约(依赖 CAP-0080,协议 26+),可用社区维护的 rs-soroban-ultrahonk,采用前应核查其审计与成熟度;RISC Zero 可将 STARK 回执包装为 BN254 上的 Groth16 证明后链上验证。典型流程为客户端本地证明、提交 proof 与 public_signals、合约验证并更新状态。适用场景包括隐私池、机密代币、Merkle 树承诺与白名单。限制与陷阱:验证证明不等于验证声明,合约必须校验公开输入的语义;需绑定 nonce 或 nullifier 防重放;电路曲线必须与验证合约一致;Groth16 需要真正的多方可信设置;不要假定草案 CAP 已在目标网络上线;配对检查资源开销大,应先用模拟估算成本。其他网络与 SDK 细节暂未提供。