tachyon-zcash/ragu

Rust language proof-carrying data framework

Rust

57

2,873 commits

updated Sep 22, 2026

See the code

README


ragu LicenseAsk DeepWiki

Ragu is a Rust-language proof-carrying data (PCD) framework that implements a modified version of the ECDLP-based recursive SNARK construction from Halo [BGH19]. Ragu does not require a trusted setup. Developed for Project Tachyon and compatible with the Pasta curves employed in Zcash, Ragu targets performance and feature support that is competitive with other ECC-based accumulation/folding schemes without complicated circuit arithmetizations.

⚠️ Ragu is under heavy development and has not undergone auditing. Do not use this software in production.

Resources

  • The Ragu Book provides high-level documentation for working with Ragu, the protocol's design, and implementation details. The source code for the book lives in this repository in the book subdirectory.
  • Crate documentation is available for official Ragu crate releases.
  • Unofficial (internal) library documentation is continually rendered from the main branch. This is primarily for developers of Ragu.

Requirements

  • The minimum supported Rust version is currently 1.97.1.
  • Ragu requires minimal dependencies and currently strives to avoid using dependencies that are not already used in Zebra.
  • Ragu's library crates are no_std-compatible and only need a global allocator; the default multicore crate feature uses maybe-rayon and pulls in std. See the book for details.

License

This library is distributed under the terms of both the MIT license and the Apache License (Version 2.0). See LICENSE-APACHE, LICENSE-MIT and COPYRIGHT.

Contributors

TalDerei

1,180 commits

ebfull

1,157 commits

alxiong

176 commits

pirapira

110 commits

tachyon-zcash/ragu

Rust language proof-carrying data framework

Rust

57

2,873 commits

updated Sep 22, 2026

See the code

README


ragu LicenseAsk DeepWiki

Ragu is a Rust-language proof-carrying data (PCD) framework that implements a modified version of the ECDLP-based recursive SNARK construction from Halo [BGH19]. Ragu does not require a trusted setup. Developed for Project Tachyon and compatible with the Pasta curves employed in Zcash, Ragu targets performance and feature support that is competitive with other ECC-based accumulation/folding schemes without complicated circuit arithmetizations.

⚠️ Ragu is under heavy development and has not undergone auditing. Do not use this software in production.

Resources

  • The Ragu Book provides high-level documentation for working with Ragu, the protocol's design, and implementation details. The source code for the book lives in this repository in the book subdirectory.
  • Crate documentation is available for official Ragu crate releases.
  • Unofficial (internal) library documentation is continually rendered from the main branch. This is primarily for developers of Ragu.

Requirements

  • The minimum supported Rust version is currently 1.97.1.
  • Ragu requires minimal dependencies and currently strives to avoid using dependencies that are not already used in Zebra.
  • Ragu's library crates are no_std-compatible and only need a global allocator; the default multicore crate feature uses maybe-rayon and pulls in std. See the book for details.

License

This library is distributed under the terms of both the MIT license and the Apache License (Version 2.0). See LICENSE-APACHE, LICENSE-MIT and COPYRIGHT.

Contributors

TalDerei

1,180 commits

ebfull

1,157 commits

alxiong

176 commits

pirapira

110 commits

Languages

Rust

77.4%

Lean

17.4%

JavaScript

2.7%

Python

1.3%