-
Notifications
You must be signed in to change notification settings - Fork 105
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
Noir-friendly UltraPlonk changes #113
Merged
Rumata888
merged 5 commits into
zw/stdlib-dynamic-array-updated
from
zw/ultra-changes-for-noir-updated
Mar 8, 2023
Merged
Noir-friendly UltraPlonk changes #113
Rumata888
merged 5 commits into
zw/stdlib-dynamic-array-updated
from
zw/ultra-changes-for-noir-updated
Mar 8, 2023
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
…fied by a smart contract. Linearisation trick has been removed from base UltraPlonk. Adds unnecessary complexity TurboPlonk fixed-base Pedersen gate has been removed from UltraPlonk. We only added it for backwards-compatibility with TurboPlonk in case we upgraded Aztec Connect to UP. Given that is redundant, the gate adds unnecessary complexity. Ideally we move forward by standardising on the (much simpler) UltraPlonk Pedersen hash UltraPlonk uses plookup Pedersen by default, but remains backwards-compatible with TurboPlonk Pedersen hash by using StandardComposer's fallback methods for create_fixed_group_add_gate, create_fixed_group_add_gate_init, create_fixed_group_add_gate_final. These methods have been moved out of StandardComposer and into a stdlib::pedersen_gates class to prevent code duplication. Copied @dbanks12 barretenberg CMake changes from PR [REPLACED] Move README.md into cpp and add a simple top-level one #56 (to more easily build key/proof generation scripts in aztec-verifier-contract-tests) Added code to generate UltraPlonk verification keys
removed unused `generalized_permutation_verifier_settings`
Rumata888
reviewed
Feb 22, 2023
/** | ||
* @brief Create a unrolled manifest object | ||
* | ||
* @note UP rolled/unrolled manifests are the same. Difference between regulur && unrolled Prover/Verifier is that |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
regulur -> regular
Rumata888
approved these changes
Feb 22, 2023
codygunton
changed the base branch from
zw/stdlib-dynamic-array-updated
to
master
March 7, 2023 14:33
codygunton
changed the base branch from
master
to
zw/stdlib-dynamic-array-updated
March 7, 2023 14:34
Rumata888
pushed a commit
that referenced
this pull request
Mar 18, 2023
* Several changes to UltraPlonk to make proofs more amenable to be verified by a smart contract. Linearisation trick has been removed from base UltraPlonk. Adds unnecessary complexity TurboPlonk fixed-base Pedersen gate has been removed from UltraPlonk. We only added it for backwards-compatibility with TurboPlonk in case we upgraded Aztec Connect to UP. Given that is redundant, the gate adds unnecessary complexity. Ideally we move forward by standardising on the (much simpler) UltraPlonk Pedersen hash UltraPlonk uses plookup Pedersen by default, but remains backwards-compatible with TurboPlonk Pedersen hash by using StandardComposer's fallback methods for create_fixed_group_add_gate, create_fixed_group_add_gate_init, create_fixed_group_add_gate_final. These methods have been moved out of StandardComposer and into a stdlib::pedersen_gates class to prevent code duplication. Copied @dbanks12 barretenberg CMake changes from PR [REPLACED] Move README.md into cpp and add a simple top-level one #56 (to more easily build key/proof generation scripts in aztec-verifier-contract-tests) Added code to generate UltraPlonk verification keys * bonk * removed composer tests that use now-deleted fixed_group gates for standard composer * fixed wasm build error * fixed ultra recursive verifier to not use fixed base widget. removed unused `generalized_permutation_verifier_settings`
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
Several changes to UltraPlonk to make proofs more amenable to be verified by a smart contract.
Linearisation trick has been removed from base UltraPlonk. Adds unnecessary complexity
TurboPlonk fixed-base Pedersen gate has been removed from UltraPlonk. We only added it for backwards-compatibility with TurboPlonk in case we upgraded Aztec Connect to UP. Given that is redundant, the gate adds unnecessary complexity. Ideally we move forward by standardising on the (much simpler) UltraPlonk Pedersen hash
UltraPlonk uses plookup Pedersen by default, but remains backwards-compatible with TurboPlonk Pedersen hash by using StandardComposer's fallback methods for create_fixed_group_add_gate, create_fixed_group_add_gate_init, create_fixed_group_add_gate_final. These methods have been moved out of StandardComposer and into a stdlib::pedersen_gates class to prevent code duplication.
Copied @dbanks12 barretenberg CMake changes from PR #56 (to more easily build key/proof generation scripts in aztec-verifier-contract-tests)
Added code to generate UltraPlonk verification keys
Checklist:
/markdown/specs
have been updated.@brief
describing the intended functionality.