spartan-ecdsa

Efficient in-browser zero-knowledge ECDSA membership proving

What we use

Spartan

  • We use a fork of Spartan that operates over the secq256k1 curve.

Nova-Scotia

  • We use a fork of Nova-Scotia to compile Circom circuits into a binary format that Spartan can process. We slightly modify Nova-Scotia to be compatible with secq256k1.

About proving

Witness generation

  • We use the wasm witness generator generated by Circom to compute the witness. More specifically, the witness generation is done by running snarkJs.wtns.calculate (the actual code here).

Proof generation

  • The prover is a SpartanNIZK prover in wasm, which reads a circuit compiled by Nova-Scotia.
Description
No description provided
Readme 32 MiB
Languages
Rust 70.2%
Circom 11.6%
TypeScript 8.8%
Sage 4.8%
JavaScript 4.4%
Other 0.2%