snark icon indicating copy to clipboard operation
snark copied to clipboard

Interfaces for Relations and SNARKs for these relations

Results 33 snark issues
Sort by recently updated
recently updated
newest added

Hello, recently I have been working on a project consisting of a huge number of constraints and linear combinations. Before this issue I asked for improve memory consumption in https://github.com/arkworks-rs/snark/issues/324....

## Summary * New relation struct for `R1CS`. * `ConstraintSystemRef` -> `R1CSBuilder`. * `ConstraintSynthesizer` -> `R1CSDriver` (maybe something else?). Workflow: ```rust let mut builder = R1CSBuilder::new(); R1CSDriver::synthesize(&mut builder); let r1cs_triple:...

Why? Very fast. Universal setup + proof composition = dark contracts. [Original PLONK](https://eprint.iacr.org/2019/953.pdf) [SHPLONK](https://hackmd.io/@tompocock/shplonk) (non-essential): Multiple commits [TurboPLONK](https://www.youtube.com/watch?v=ty-LZf0YCK0&t=1244s): Custom gates (e.g. EC point addition gates, can make pairing computation extremely...

## Summary Introduce a low-level API for setup, indexing, proving, and verifying that directly reasons about the relation, instead of going via our `ConstraintSystem` API. ## Problem Definition Right now,...

## Problem Definition Right now, when the verifier needs to verify the public input, they have to implement and call `ToConstraintField` on the input. This is error prone for two...

T-feature
T-design

This issue is intended for discussion on what types of infrastructure we should add, to go about benchmarking the constraint generation frameworks performance. I have some initial ideas below: *...

## Summary As currently written, a symbolic LC is created on every operation. We should expect that most Symbolic LC's are small, and probably should try to keep things on...

## Summary Namespace names at the moment must be `&'static str`. There are use cases in which you would want runtime defined namespaces, e.g. for generating many circuits of different...

The prover does not need to generate constraints as it can read these directly from the index. The issue comes in mapping witnesses between unoptimized and optimized versions. We can...

Currently testing requires boilerplate, we should brainstorm some ideas to reduce overhead and enable testing of some more things (such as constraint count).