-
Notifications
You must be signed in to change notification settings - Fork 199
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
Expose Databus objects to the backend #4974
Labels
enhancement
New feature or request
Comments
guipublic
added a commit
to AztecProtocol/aztec-packages
that referenced
this issue
May 8, 2024
This PR adds a field to the MemoryInit opcode to specify the memory blocks used for the databus. It is related to issue noir-lang/noir#4974 This is a breaking change because it modifies ACIR format. --------- Co-authored-by: Tom French <tom@tomfren.ch>
AztecBot
pushed a commit
to AztecProtocol/barretenberg
that referenced
this issue
May 9, 2024
This PR adds a field to the MemoryInit opcode to specify the memory blocks used for the databus. It is related to issue noir-lang/noir#4974 This is a breaking change because it modifies ACIR format. --------- Co-authored-by: Tom French <tom@tomfren.ch>
For reference: https://hackmd.io/pTE38VziRP-rMBDrOnbweQ?both |
This was referenced May 13, 2024
github-merge-queue bot
pushed a commit
that referenced
this issue
May 14, 2024
# Description ## Problem\* Related to #4974 ## Summary\* Very small PR which avoids returning databus objects, because they need to be handled as private inputs. This is incremental work, so it cannot be tested yet. The PR only impact databus use case. ## Additional Context ## Documentation\* Check one: - [X] No documentation needed. - [ ] Documentation included in this PR. - [ ] **[For Experimental Features]** Documentation to be submitted in a separate PR. # PR Checklist\* - [ ] I have tested the changes locally. - [X] I have formatted the changes with [Prettier](https://prettier.io/) and/or `cargo fmt` on default settings.
guipublic
added a commit
to AztecProtocol/aztec-packages
that referenced
this issue
May 22, 2024
Related to noir-lang/noir#4974 The PR implements logic in BB to handle ACIR opcodes for the databus. Because the databus in BB works only with Goblin which is not yet supported by Noir, the code is not fully tested, so this is only prototype code. Using the databus with UltraPlonk will result in a failing ASSERT. I have updated the BB unit test to work with GoblinPlonk, so the BB code is tested. --------- Co-authored-by: ludamad <adam.domurad@gmail.com> Co-authored-by: ledwards2225 <l.edwards.d@gmail.com>
5 tasks
github-merge-queue bot
pushed a commit
that referenced
this issue
May 22, 2024
# Description ## Problem\* Related to #4974 ## Summary\* This PR mark return data array with return_data block type, and disable the unused arrays optimisation for databus. This is required because the return_data is not returned from main although similar constraints will be generated on the backend side. ## Additional Context This should be the last piece for this databus iteration from issue #4974, and it will allow to generate an end-to-end test with the databus to check if we get what is expected. ## Documentation\* Check one: - [ ] No documentation needed. - [ ] Documentation included in this PR. - [X] **[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.
AztecBot
pushed a commit
to AztecProtocol/barretenberg
that referenced
this issue
May 23, 2024
Related to noir-lang/noir#4974 The PR implements logic in BB to handle ACIR opcodes for the databus. Because the databus in BB works only with Goblin which is not yet supported by Noir, the code is not fully tested, so this is only prototype code. Using the databus with UltraPlonk will result in a failing ASSERT. I have updated the BB unit test to work with GoblinPlonk, so the BB code is tested. --------- Co-authored-by: ludamad <adam.domurad@gmail.com> Co-authored-by: ledwards2225 <l.edwards.d@gmail.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Problem
Aztec kernel circuits require a lot of input/output data, and in order to avoir to increase the size of the circuit too much because of many public inputs, we want to leverage the ‘databus’ concept.
The idea is to commit to the data and have the proving system to check that commitments match (intput to circuit i is output of cicruit i-1, etc..)
In Barretenberg, the databus will be similar to a ROM table, with methods to set the values and read them at the provided index.
Here is an example where calldata (inputs) is [4,5,6,7,8], and return_data (output) is [4,5,6,13], i.e. the output is identical to the input but with the last two entries summed together.
This can be proven with the following relation:
Happy Case
In Noir, we already handle call_data and return_data attributes in the main function and we aggregate such parameters into one array (one for call_data and one for return_data).
What we need to do to integrate with Barrentenberg:
Project Impact
None
Impact Context
No response
Workaround
None
Workaround Description
No response
Additional Context
No response
Would you like to submit a PR for this Issue?
None
Support Needs
No response
The text was updated successfully, but these errors were encountered: