This repository implements the proof system used in Midnight, along with tooling for building zero-knowledge circuits.
curves: Implementation of elliptic curves used in Midnight, concretely BLS12-381 and JubJub.proofs: Plonk proof system using KZG commitments.circuits: Tooling for constructing ZK circuits.aggregator: Toolkit for proof aggregation of midnight-proofs.zk_stdlib: A high-level abstraction for building zero-knowledge circuits using proofs and circuits.This project was originally built upon the foundations of several outstanding open-source libraries:
blstrs – by the Filecoin Projectjubjub – by the Zcash Projecthalo2curves v0.8.0 – by the Privacy Scaling Explorations (PSE) teamhalo2 v0.3.0 – by the Privacy Scaling Explorations (PSE) team, itself originally derived from the Zcash Sapling proving systemWe initially maintained the following components as forks:
bls12_381 and its embedded jubjub implementation originated as forks of blstrs and jubjub, respectively.proofs began as a fork of halo2 v0.3.0.Over time, our codebases have diverged from the upstream projects. These components are no longer maintained as forks and have evolved into standalone implementations tailored to Midnight's needs.
We gratefully acknowledge the authors and maintainers of the original projects.
Rust
99.1%
This repository implements the proof system used in Midnight, along with tooling for building zero-knowledge circuits.
curves: Implementation of elliptic curves used in Midnight, concretely BLS12-381 and JubJub.proofs: Plonk proof system using KZG commitments.circuits: Tooling for constructing ZK circuits.aggregator: Toolkit for proof aggregation of midnight-proofs.zk_stdlib: A high-level abstraction for building zero-knowledge circuits using proofs and circuits.This project was originally built upon the foundations of several outstanding open-source libraries:
blstrs – by the Filecoin Projectjubjub – by the Zcash Projecthalo2curves v0.8.0 – by the Privacy Scaling Explorations (PSE) teamhalo2 v0.3.0 – by the Privacy Scaling Explorations (PSE) team, itself originally derived from the Zcash Sapling proving systemWe initially maintained the following components as forks:
bls12_381 and its embedded jubjub implementation originated as forks of blstrs and jubjub, respectively.proofs began as a fork of halo2 v0.3.0.Over time, our codebases have diverged from the upstream projects. These components are no longer maintained as forks and have evolved into standalone implementations tailored to Midnight's needs.
We gratefully acknowledge the authors and maintainers of the original projects.
Rust
99.1%