-
Notifications
You must be signed in to change notification settings - Fork 170
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
feat: add native rust implementation of schnorr signature verification #5053
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
TomAFrench
force-pushed
the
tf/native-schnorr
branch
from
May 19, 2024 17:21
c99826f
to
6356d63
Compare
TomAFrench
changed the title
feat: remove embedded barretenberg wasm from
feat: add native rust implementation of schnorr signature verification to May 19, 2024
bn254_blackbox_solver
bn254_blackbox_solver
TomAFrench
changed the title
feat: add native rust implementation of schnorr signature verification to
feat: add native rust implementation of schnorr signature verification
May 19, 2024
bn254_blackbox_solver
TomAFrench
force-pushed
the
tf/native-pedersen
branch
from
May 20, 2024 00:00
1888892
to
52b8b3a
Compare
TomAFrench
force-pushed
the
tf/native-schnorr
branch
2 times, most recently
from
May 20, 2024 00:24
4a037a6
to
504d918
Compare
TomAFrench
force-pushed
the
tf/native-schnorr
branch
from
May 20, 2024 16:07
504d918
to
feb3253
Compare
TomAFrench
commented
May 20, 2024
vezenovm
approved these changes
May 21, 2024
Co-authored-by: Maxim Vezenov <mvezenov@gmail.com>
Co-authored-by: Maxim Vezenov <mvezenov@gmail.com>
AztecBot
added a commit
to AztecProtocol/aztec-packages
that referenced
this pull request
May 21, 2024
…ic definition (noir-lang/noir#5041) feat: Implement turbofish operator (noir-lang/noir#3542) feat: add `as_witness` builtin function in order to constrain a witness to be equal to a variable (noir-lang/noir#4641) chore(experimental): Elaborate impls & non-trait impls (noir-lang/noir#5007) feat: add native rust implementation of schnorr signature verification (noir-lang/noir#5053) chore: Release Noir(0.30.0) (noir-lang/noir#4981)
TomAFrench
added a commit
to AztecProtocol/aztec-packages
that referenced
this pull request
May 21, 2024
Automated pull of development from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE fix(frontend): Call trait method with mut self from generic definition (noir-lang/noir#5041) feat: Implement turbofish operator (noir-lang/noir#3542) feat: add `as_witness` builtin function in order to constrain a witness to be equal to a variable (noir-lang/noir#4641) chore(experimental): Elaborate impls & non-trait impls (noir-lang/noir#5007) feat: add native rust implementation of schnorr signature verification (noir-lang/noir#5053) chore: Release Noir(0.30.0) (noir-lang/noir#4981) END_COMMIT_OVERRIDE --------- Co-authored-by: TomAFrench <tom@tomfren.ch>
AztecBot
added a commit
that referenced
this pull request
May 21, 2024
Automated pull of development from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE fix(frontend): Call trait method with mut self from generic definition (#5041) feat: Implement turbofish operator (#3542) feat: add `as_witness` builtin function in order to constrain a witness to be equal to a variable (#4641) chore(experimental): Elaborate impls & non-trait impls (#5007) feat: add native rust implementation of schnorr signature verification (#5053) chore: Release Noir(0.30.0) (#4981) END_COMMIT_OVERRIDE --------- Co-authored-by: TomAFrench <tom@tomfren.ch>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Problem*
Resolves
Summary*
This PR replaces the final wasm calls to barretenberg with a native implementation of schnorr signature verification. This allows us to remove the entire
acvm_backend.wasm
.This schnorr implementation is something this I've slapped together in an afternoon so be warned of potential bugs, there doesn't seem to be any off-the-shelf rust implementations of schnorr using grumpkin however.
Now we don't need to do wasm initialisation for acvm_js, we can stop caching a solver object to pass into acvm_js, I've maintained the interface for now however but the external solver is ignored.
Benchmarks relative to #5056
Additional Context
Documentation*
Check one:
PR Checklist*
cargo fmt
on default settings.