forked from visoftsolutions/noir_rs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: Goblin acir composer (AztecProtocol#4112)
A bit of background: At the end of 2023, we had a small subset of the acir_tests passing for GUH+Goblin. Early work in 2024 got all of the tests passing for GUH. (At this stage we were basically running all acir_tests for UltraPlonk and GoblinUltraHonk). I turned the Goblin component off because tests were failing in an unpredictable way. (I now think this is a deterministic issue with the Translator that was showing up more prominently due to running the Translator hundreds of times via the acir_tests suite). This work maintains testing of all the noir programs in the acir_test suite for GUH, but adds back in a full Goblin workflow for a single arbitrary test. This is done through two workflows: a "goblin accumulate" workflow (for constructing/verifying GUH proofs) and a "full goblin" flow (for additionally constructing and verifying ECCVM/Translator proofs). (Note: this latter flow will eventually also involve merge logic but that's still not incorporated in this work). To make things cleaner, I've introduced a `GoblinAcirComposer` to handle all Goblin/Honk logic, analogous to the `AcirComposer` for UltraPlonk. Note: there is still no mechanism for creating goblin ops directly from acir opcodes. (Eventually this will just happen via a blackbox call to some recursive verification / folding operation for Honk/Goblin). The OpQueue being processed by the ECCVM/Translator is just a random set of ops "appended" to the circuit in question.
- Loading branch information
1 parent
dbc8174
commit 5e85b92
Showing
15 changed files
with
546 additions
and
150 deletions.
There are no files selected for viewing
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
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
6 changes: 6 additions & 0 deletions
6
barretenberg/acir_tests/flows/accumulate_and_verify_goblin.sh
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
#!/bin/sh | ||
set -eu | ||
|
||
VFLAG=${VERBOSE:+-v} | ||
|
||
$BIN accumulate_and_verify_goblin $VFLAG -c $CRS_PATH -b ./target/acir.gz |
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
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
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
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
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
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
Oops, something went wrong.