m mybian.xyz
REPORT · ZK证明从零开始 · 行业洞察
ZK证明从零开始 · INSIGHTS

ZK证明从零开始:搭建第一份电路、生成证明并在币安链上验证

零基础入门ZK证明的完整路线图,从第一份电路、第一次生成证明,到在币安智能链上完成第一次verifier部署,全程可复制。

ZK证明从零开始 - ZK证明从零开始:搭建第一份电路、生成证明并在币安链上验证
1204
字数
~3
阅读时长
1
章节
2026
版本
DOCUMENT ID · zkzheng-ming-cong-ling-kai-shi PUBLISHED · 2026-05-24T06:12:20.591960+00:00 UPDATED · 2026-05-24T14:54:46.704224+00:00

Executive Summary

零基础入门ZK证明的完整路线图,从第一份电路、第一次生成证明,到在币安智能链上完成第一次verifier部署,全程可复制。

ZK证明从零开始:搭建第一份电路、生成证明并在币安链上验证

ZK 证明听上去高深,其实只要愿意动手,从零开始的难度并不大。本文给出一份「从零开始」的完整路线图,从环境准备到 Binance 智能链上的 verifier 部署,每一步都尽量给出可执行的命令与思路。

准备开发环境

第一步是搭建开发环境:安装 Node.js 18、circom 2、snarkjs、Foundry。建议用 nvm 管理 Node 版本,把 circom 编译好放进 PATH,再确认 circom --versionforge --version 都能正常输出。完成后建立一个干净的项目目录,初始化 git。在 B安 智能链项目中,干净的项目结构是后续协作的前提。

写第一份电路

打开编辑器,写下经典的乘法电路:两个私有输入 a、b,公开输出 c=a*b。用 circom 编译得到 multiplier.r1csmultiplier_js/multiplier.wasmmultiplier.sym。这一过程会输出约束数与信号数,看到 1 constraints 就算成功。这是你与 ZK 世界的第一次握手。

完成可信设置

下载社区公开的 ptau 文件,做一次电路特定 ceremony,得到 circuit_final.zkey。建议在终端记录每个 ceremony 步骤的输出哈希,方便后续审计。这一步对应「让证明体系可信」的根本动作,在 必安 智能链上线时是不可省略的。

生成第一个证明

用 snarkjs groth16 fullprove 命令传入私有输入与 zkey,几秒钟内会得到 proof.jsonpublic.json。打开 proof.json 看一眼那一串 a、b、c 字段,这就是你的第一个 ZK 证明。再用 groth16 verify 在本地确认证明合法,看到 OK! 就算成功。

部署 verifier

用 snarkjs zkey export solidityverifier 导出 Solidity verifier 合约。把它放进 Foundry 项目,使用 forge create 部署到 比安 智能链测试网。部署完成后调用 verifyProof,传入 proof 与 public input,看到返回 true 就算贯通。这一刻你已经独立完成了 ZK 证明从生成到链上验证的全过程。

把流程包装成业务合约

光有 verifier 还不够,下一步是写一份业务合约,把 verifier 嵌进业务逻辑:比如在投票场景中,只有合法证明才能让 votes 计数器加一。这种包装模式在 BN交易所 智能链上的实际项目中非常常见。完成后再做一遍前端联调,让普通用户也能体验你的应用。

持续精进

完成「从零开始」并不意味着学习结束。下一步可以学习 merkle 见证、nullifier 集合管理、PLONK 与 STARK 等无可信设置方案。每学一个新主题,建议都用一份最小项目把它实战一遍。把这些项目集中托管在一个个人仓库,并在 B安APP 等渠道分享文章,能形成正向反馈循环,让 ZK 学习长期保持热度。