Skip to content
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

Add "honk" tagged releases of noir_js #5574

Closed
Savio-Sou opened this issue Jul 22, 2024 · 1 comment · Fixed by #5656
Closed

Add "honk" tagged releases of noir_js #5574

Savio-Sou opened this issue Jul 22, 2024 · 1 comment · Fixed by #5656
Assignees
Labels
backend Proving backends enhancement New feature or request feature-flag Experimental features js Noir's JavaScript packages

Comments

@Savio-Sou
Copy link
Collaborator

Savio-Sou commented Jul 22, 2024

Problem

Barretenberg (UltraPlonk flavor) is facing a growing set of problems when generating proofs in JS:

  • Started with proving double_verify_nested_proof
  • Recently regressed and is now failing to prove anything >2^18 constraints in JS / WASM

Happy Case

Barretenberg (UltraHonk flavor)'s better memory footprint should help relieve the issues,

With UH now supporting recursive proofs, it has the minimum feature set to justify building and releasing "honk" tagged versions of noir_js for users that would like to work with it.

(That said, we should not naively flip noir_js's default to UH yet as it is still missing features to be on parity with what UP offers.)

Project Impact

Blocker

Impact Context

Unblocks projects that are currently blocked by proving in JS due to UP's issues.

Would you like to submit a PR for this Issue?

None

Support Needs

No response

@Savio-Sou Savio-Sou added enhancement New feature or request backend Proving backends feature-flag Experimental features js Noir's JavaScript packages labels Jul 22, 2024
@Savio-Sou Savio-Sou added this to Noir Jul 22, 2024
@github-project-automation github-project-automation bot moved this to 📋 Backlog in Noir Jul 22, 2024
@Savio-Sou
Copy link
Collaborator Author

cc @vezenovm to review and assign

@Savio-Sou Savio-Sou changed the title Add and publish "honk" tagged noir_js Add "honk" tagged releases of noir_js Jul 22, 2024
@vezenovm vezenovm self-assigned this Jul 22, 2024
github-merge-queue bot pushed a commit that referenced this issue Aug 2, 2024
# Description

## Problem\*

Resolves #5574 

## Summary\*

Similar to nargo's break from connecting to backends, we are looking to
have developers use bb.js exclusively to access proving, verifying, gate
counts, etc. Until the UX that NoirJS provides is worked in bb.js we can
expose UltraHonk through NoirJS with minimal changes.

This change is purely additive. I have added a new `UltraHonkBackend`
that implements `Backend` and `VerifierBackend` similarly to the
existing `BarretenbergBackend`. For the `Verifier` interface I just
added a new method `verifyUltraHonkProof`.

I have added integration tests that copy the existing integration tests.
Once we are ready to move off of UltraPlonk the old tests and interfaces
can be removed.

## Additional Context

Reference the issue for more context.

## Documentation\*

Check one:
- [ ] No documentation needed.
- [x] Documentation included in this PR.
- [ ] **[For Experimental Features]** Documentation to be submitted in a
separate PR.

# PR Checklist\*

- [X] I have tested the changes locally.
- [X] I have formatted the changes with [Prettier](https://prettier.io/)
and/or `cargo fmt` on default settings.
@github-project-automation github-project-automation bot moved this from 📋 Backlog to ✅ Done in Noir Aug 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend Proving backends enhancement New feature or request feature-flag Experimental features js Noir's JavaScript packages
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants