-
Notifications
You must be signed in to change notification settings - Fork 241
Digest simplifications #238
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
I think the digest computations removed in 9f9d45c are there so that applications (like Lurk) can generate accurate cache keys for public parameters. In particular, we need to invalidate caches whenever circuits change. |
R1CSShape is an internal type that isn't exposed, I don't think, to users of Nova. If so, how will Lurk determine when the R1CS digest changes? The public parameters type still has a digest field. Please let me know if I misunderstood the intended usage of digest field on R1CSShape type. |
dd9e9f8 to
ca4ab1c
Compare
Please open an issue and/or a PR (or reply here) if the digest on R1CS is still required. |
On this PR
I am not sure that I understand this statement with precision. In #229, as in prior behavior, both The difference introduced in #229 is that should the In other terms, in order for this line: Lines 1518 to 1519 in bd6e4e1
to involve an actual digest re-computation, the verifier would need to be passed a verifier key that did not go through the setup function.
Are you saying that for the verifier to be passed a On R1CS digests
|
This reverts commit 71ecb66.
This reverts commit 71ecb66.
* Digest simplifications (microsoft#238) * remove unused digest computations * avoid a verifier having to recompute a digest * update crate version Restore digest computation and fix API inconsistency (microsoft#242) * Revert "Digest simplifications (microsoft#238)" This reverts commit 71ecb66. * upgrade neptune * make the public interface uniform wrt refs vs. copies * simplify prove_step * refactor: Adapt supernova RecursiveSNARK to Nova API changes - Updated `RecursiveSNARK` struct in `supernova/mod.rs` to include `z0_primary` and `z0_secondary` fields, simplifying method parameters. - Refactored `prove_step` method in `RecursiveSNARK` struct to leverage the new instance variables, `z0_primary` and `z0_secondary`, - Replaced all usages of `z0_primary` and `z0_secondary` in function calls with their respective instance variables. --------- Co-authored-by: Srinath Setty <srinath@microsoft.com>
* ci: Add comparative benchmarks on `merge_group` (WIP) * Add other benchmarks and refactor * Remove caching for now and test action on `pull_request`
PR #229 introduces simplifications to digest computation, but it makes the verifier compute digests on its own, changing the behavior prior to that PR. This PR restores that functionality with an internal type.