1. 引言
Sanjam Garg等人2023年论文 Experimenting with Zero-Knowledge Proofs of Training 中,所设计的zkPoT(zero-knowledge proof of training)协议:
- 为streaming-friendly的。
- 所需RAM与训练电路size不呈比例。
- 结合了MPC-in-the-head + zk-SNARKs。
- 总的proof size比训练用的数据集size少10%,分为3个阶段:【以 training a logistic regression model using mini-batch gradient descent on a 4 GB dataset of 262,144 records with 1024 features 为例】
- 数据独立线下阶段。
- 依赖数据,但不依赖模型阶段,本阶段:
- Prover用时约1小时。
- Verifier用时数秒钟。
- 线上阶段:既依赖数据,也依赖模型。线上阶段:
- Prover用时少于10分钟。
- Verifier用时少于半分钟。
开源代码实现见:
- https://github.com/guruvamsi-policharla/zkpot(Rust)