SNARKs/STARKs
简洁非交互式知识论证让证明体积小且验证极快,zk-SNARK 依赖可信设置,zk-STARK 用哈希函数去除可信设置,支撑 Zcash 等隐私应用。
所属主题:密码学 ↗阅读路径
参考可汗学院 Get ready 机制:先修概念 → 当前概念 → 进阶概念,✓ 表示已读。
01定义
简洁非交互式知识论证把交互式零知识压缩为一条短证明:zk-SNARK 证明体积 KB 级、验证毫秒级(依赖可信设置);zk-STARK 用哈希抗量子且去可信设置,证明稍大——它们是区块链隐私与扩容的核心引擎。
02核心要点
01
SNARK 的构造链
计算编译为算术电路,约束系统 R1CS 再化为 QAP 多项式;配对上的多项式承诺使验证者抽查一点即验全局——Groth16 等方案成为 Zcash 与 Rollup 基础。
02
STARK 与 FRI
STARK 用代数中间表示 + FRI(快速 Reed-Solomon 交互式测试):纯哈希构造、抗量子、无需可信设置,代价是证明体积大一个量级——以太坊扩容(StarkNet)的选择。
03
应用的形状
隐私:证明「我有足够余额」而不露金额;扩容:链下算千笔交易、链上验一条证明;可验证计算:任何昂贵计算都可外包并廉价核验。
03关键公式
04历史沿革
Groth 2010 年给出首个实用 SNARK,Groth16(2016)成为标准;Ben-Sasson 等 2018 年提出 STARK;Zcash 2016 年上线使零知识进入生产系统。
05应用与延伸
Zcash 隐私交易、以太坊 zk-Rollup 扩容(zkSync/StarkNet)、链上身份验证(年龄 ≥ 18 而不露生日)、可验证机器学习推理。
06交互演示
低次多项式承诺:坏点越多越易被戳穿拖 k 加入坏点:随机抽检与二次插值比对,坏点过半前必被发现