Skip to content
 
 

Repository files navigation


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.90.0.
  • 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.

About

Rust language proof-carrying data framework

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages