Files
sonobe/frontends
winderica b812dd66df Onchain decider circuit for Protogalaxy (#145)
* Move r1cs and ccs to standalone folders

* Simplify type bounds of SparseMatrixVar

* Implement `EquivalenceGadget` trait for `FpVar` and `NonNativeUintVar`.

Together with the existing `MatrixGadget` and `VectorGadget`, we can now use the same logic for checking R1CS satisfiability of `R1CSVar` both natively and non-natively.

* Simplify trait bounds

* Implement `ArithGadget` for `R1CSMatricesVar` and `CCSMatricesVar`

* `PedersenGadget::commit` now takes slices as input

* Structs for proofs and auxiliary values in protogalaxy

* `u` in LCCCS should be `z[0]`

* `Inputize` trait

* Generic decider circuits

* Verifier should check the commitments in committed instances

* Update the comments according to the new docs

* Fix examples

* Add `DeciderEnabledNIFS::fold_group_elements_native` to wrap code for folding commitments

* Fix incorrect endian

* Format

* Get rid of `unwrap` when possible
2024-11-04 09:34:50 +00:00
..

frontends

This crate contains experimental frontends for Sonobe. The recommended frontend is to directly use arkworks to define the FCircuit, just following the FCircuit trait.

Experimental frontends

Warning: the following frontends are experimental and some computational and time overhead is expected when using them compared to directly using the arkworks frontend.

Available experimental frontends:

  • Circom, iden3, 0Kims Association. Supported version<=v2.1.9.
  • Noir, Aztec.
  • Noname, zkSecurity. Partially supported.

Documentation about frontend interface and experimental frontends: https://privacy-scaling-explorations.github.io/sonobe-docs/usage/frontend.html

Implementing new frontends

Support for new frontends can be added (even from outside this repo) by implementing the FCircuit trait.