Collaborative zkSNARKs 项目使用教程
1. 项目的目录结构及介绍
collaborative-zksnark/
├── algebra/
├── crypto-primitives/
├── curves/
├── groth16/
├── marlin/
├── mpc-algebra/
├── mpc-net/
├── mpc-plonk/
├── mpc-snarks/
├── mpc-trait/
├── nonnative/
├── poly-commit/
├── r1cs-std/
├── snark/
├── utils/
├── .gitignore
├── LICENSE-APACHE
├── LICENSE-MIT
└── README.md
目录结构介绍
- algebra/: 包含项目中使用的代数结构和操作。
- crypto-primitives/: 包含加密原语的实现。
- curves/: 包含椭圆曲线相关的实现。
- groth16/: 包含Groth16 zkSNARK的实现。
- marlin/: 包含Marlin zkSNARK的实现。
- mpc-algebra/: 包含多方计算(MPC)代数操作的实现。
- mpc-net/: 包含多方计算网络通信的实现。
- mpc-plonk/: 包含Plonk zkSNARK的实现。
- mpc-snarks/: 包含多方计算zkSNARK的实现。
- mpc-trait/: 包含多方计算特性的实现。
- nonnative/: 包含非本地操作的实现。
- poly-commit/: 包含多项式承诺的实现。
- r1cs-std/: 包含R1CS标准操作的实现。
- snark/: 包含zkSNARK相关的实现。
- utils/: 包含项目中使用的各种工具函数。
- .gitignore: Git忽略文件。
- LICENSE-APACHE: Apache许可证文件。
- LICENSE-MIT: MIT许可证文件。
- README.md: 项目介绍和使用说明。
2. 项目的启动文件介绍
项目的启动文件位于 mpc-snarks/
目录下。主要的启动文件是 proof
二进制文件。
启动命令
cargo build --release --bin proof
启动文件介绍
- proof: 这是一个用于生成零知识证明的二进制文件。通过运行该文件,可以生成基于Groth16、Marlin和Plonk的零知识证明。
3. 项目的配置文件介绍
项目中没有明确的配置文件,但可以通过命令行参数进行配置。例如,可以通过以下命令配置Plonk的参数:
./scripts/bench zsh plonk spdz 10 2
配置参数介绍
- zsh: 脚本解释器。
- plonk: 使用的zkSNARK算法。
- spdz: 使用的多方计算协议。
- 10: 参与方数量。
- 2: 安全参数。
通过这些参数,可以灵活配置项目的运行环境。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考