proof-systems  by o1-labs

Zero-knowledge proof system for program execution correctness

created 5 years ago
444 stars

Top 68.7% on sourcepulse

GitHubView on GitHub
Project Summary

This repository provides Kimchi, a general-purpose zero-knowledge proof system designed for proving the correct execution of programs, primarily for the Mina project. It offers a PLONK-based approach with custom elliptic curves and polynomial commitments, targeting developers and researchers in the ZK-proof and blockchain space.

How It Works

Kimchi implements a PLONK-based zero-knowledge proof system, leveraging custom "pasta" curves for efficiency. It utilizes polynomial commitments for efficient verification and includes implementations for the Poseidon hash function. The system is designed to prove the correct execution of programs, making it suitable for verifiable computation.

Quick Start & Requirements

  • Install nightly Rust: rustup install nightly
  • Build documentation: RUSTDOCFLAGS="--enable-index-page -Zunstable-options" cargo +nightly doc --all --no-deps
  • Nix users can run nix develop for dependency management (WIP).
  • See Kimchi book and blog post for more details.

Highlighted Details

  • Proving times as low as 0.6s for 2^11 gates and verification times of 0.1s for 2^15 gates.
  • Proof sizes are approximately 5KB for 2^15 gates.
  • Includes implementations for elliptic curves, polynomial commitments, and the Poseidon hash function.
  • Features a Cairo runner written in Rust (turshi).

Maintenance & Community

The project is maintained by O(1) Labs, the creators of the Mina protocol. Contributions are welcome via CONTRIBUTING.md. Documentation is available via GitHub Pages.

Licensing & Compatibility

The repository does not explicitly state a license in the provided README. Users should verify licensing for production use.

Limitations & Caveats

The project is provided "as is" with no guarantee of stability or support, as the crates closely follow the needs of the Mina project. Users are responsible for performing security audits for production environments. Nix dependency management is marked as Work In Progress (WIP).

Health Check
Last commit

2 days ago

Responsiveness

1 day

Pull Requests (30d)
31
Issues (30d)
3
Star History
6 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.