Snarkjs-Circom Tuturial
December 3rd, 2022

本文主要侧重于使用snarkjs和circom在工程上跑通Trusted setup以及由circom电路生成对应的solidity验证文件Verifier

Phase 1:

  • Power tau contributions

  • Third-party challenge

  • Apply a random beacon to finalize phase 1 of the trusted setup

Phase 2:

  • Create the circuit

  • Compile the circuit

  • Set up input and calculate the witness

  • Groth16 setup or PLONK setup

  • Create the proof

  • Turn the verifier into a smart contract

  • Simulate a verification call

1. 依赖安装:snarkjs, circom

npm install -g snarkjs
npm install -g circom

snarkjs是zkSnark和PLONK方案的JavaScript和纯web Assembly实现,使用growth16协议和PLONK,包含了执行多方可信设置所需的工具。snarkjs需要与circom生成的电路配合使用

circom是零知识证明系统的电路编译器,关于其更多介绍,可以参考:

工程上的snark可以分为两个步骤,这里作简单介绍:

  • Trusted setup

Reference:

Subscribe to lienhage
Receive the latest updates directly to your inbox.
Nft graphic
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.
More from lienhage

Skeleton

Skeleton

Skeleton