-
Notifications
You must be signed in to change notification settings - Fork 115
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
Allow for use of UGH without goblin ecc ops #843
Closed
ledwards2225 opened this issue
Feb 1, 2024
· 0 comments
· Fixed by AztecProtocol/aztec-packages#5468
Closed
Allow for use of UGH without goblin ecc ops #843
ledwards2225 opened this issue
Feb 1, 2024
· 0 comments
· Fixed by AztecProtocol/aztec-packages#5468
Comments
maramihali
added a commit
to AztecProtocol/aztec-packages
that referenced
this issue
Mar 27, 2024
…5468) Resolves AztecProtocol/barretenberg#843. Removes the need to add golin ecc ops for each UGH circuit by ensuring we add the dummy gates as part of the function used to ensure other polynomials are non-zero due to the absence of specific gates. However, we keep adding goblin ecc gates to circuits in situations when we want to test Goblin and also in ClientIVC because merge proving is done prior to ProverInstance creation.
AztecBot
pushed a commit
that referenced
this issue
Mar 28, 2024
…#5468) Resolves #843. Removes the need to add golin ecc ops for each UGH circuit by ensuring we add the dummy gates as part of the function used to ensure other polynomials are non-zero due to the absence of specific gates. However, we keep adding goblin ecc gates to circuits in situations when we want to test Goblin and also in ClientIVC because merge proving is done prior to ProverInstance creation.
sklppy88
pushed a commit
to AztecProtocol/aztec-packages
that referenced
this issue
Mar 28, 2024
…5468) Resolves AztecProtocol/barretenberg#843. Removes the need to add golin ecc ops for each UGH circuit by ensuring we add the dummy gates as part of the function used to ensure other polynomials are non-zero due to the absence of specific gates. However, we keep adding goblin ecc gates to circuits in situations when we want to test Goblin and also in ClientIVC because merge proving is done prior to ProverInstance creation.
sklppy88
added a commit
to AztecProtocol/aztec-packages
that referenced
this issue
Mar 28, 2024
commit 4064e18 Author: AztecBot <[email protected]> Date: Thu Mar 28 02:17:40 2024 +0000 git subrepo push --branch=master noir-projects/aztec-nr subrepo: subdir: "noir-projects/aztec-nr" merged: "485393ab1" upstream: origin: "https://github.com/AztecProtocol/aztec-nr" branch: "master" commit: "485393ab1" git-subrepo: version: "0.4.6" origin: "???" commit: "???" [skip ci] commit a8b48b8 Author: AztecBot <[email protected]> Date: Thu Mar 28 02:17:37 2024 +0000 git_subrepo.sh: Fix parent in .gitrepo file. [skip ci] commit 1f468db Author: AztecBot <[email protected]> Date: Thu Mar 28 02:17:37 2024 +0000 chore: replace relative paths to noir-protocol-circuits commit 4329d40 Author: AztecBot <[email protected]> Date: Thu Mar 28 02:12:17 2024 +0000 git subrepo push --branch=master barretenberg subrepo: subdir: "barretenberg" merged: "8afbd6d42" upstream: origin: "https://github.com/AztecProtocol/barretenberg" branch: "master" commit: "8afbd6d42" git-subrepo: version: "0.4.6" origin: "???" commit: "???" [skip ci] commit a18288d Author: Álvaro Rodríguez <[email protected]> Date: Wed Mar 27 22:00:46 2024 +0100 feat: Dont double check num bits in brillig vm (#5489) We already have typed memory, that is checked on data ingestion and outputs of operations. It shouldn't be necessary to perform safe type conversions for MemoryValues commit b9041e4 Author: maramihali <[email protected]> Date: Wed Mar 27 16:39:39 2024 -0400 chore: add goblin ops in add_gates_to_ensure_all_polys_are_non_zero (#5468) Resolves AztecProtocol/barretenberg#843. Removes the need to add golin ecc ops for each UGH circuit by ensuring we add the dummy gates as part of the function used to ensure other polynomials are non-zero due to the absence of specific gates. However, we keep adding goblin ecc gates to circuits in situations when we want to test Goblin and also in ClientIVC because merge proving is done prior to ProverInstance creation. commit 277168f Author: esau <[email protected]> Date: Wed Mar 27 18:10:48 2024 +0100 chore: run nargo format for noir-projects (#5483)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Every UG circuit needs at least one goblin op to ensure the corresponding polynomials are nonzero. This is true for all of our different gate types, but for everything else all we have to do is add a dummy gate. Adding dummy ecc op gates has a bigger cost though because A) those ops then have to be processed by ECCVM/Translator where they are more expensive and B) this requires us to do a merge for every circuit even if its not really necessary. (Maybe we could just eat this cost but that seems pretty unsatisfactory).
One solution is to allow for points at infinity in circuits. This would eliminate this problem and the the need for dummy gates altogether.
One place this may arise is in the function circuits. We may or may not support Goblin ops in these circuits but either way there will be some circuits that don't utilize goblin ops. All function circuits will use the DataBus/poseidon so the Ultra arithmetization isn't sufficient and even if it were, we don't have a notion of folding circuits with different arithmetizations.
The text was updated successfully, but these errors were encountered: