-
Notifications
You must be signed in to change notification settings - Fork 200
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
Add poseidon permutation opcode #4037
Comments
I don't see how we could be agnostic to |
Related to issue: noir-lang/noir#4037 The PR adds the opcode to ACIR and updates BB and Noir accordingly. Furthermore you can use it via a foreign function in the stdlib. This will generate the proper ACIR opcode but the solver will not be able to solve it and BB will skip it.
Related to issue: #4037 The PR adds the opcode to ACIR and updates BB and Noir accordingly. Furthermore you can use it via a foreign function in the stdlib. This will generate the proper ACIR opcode but the solver will not be able to solve it and BB will skip it.
Related to issue: noir-lang/noir#4037 The PR adds the opcode to ACIR and updates BB and Noir accordingly. Furthermore you can use it via a foreign function in the stdlib. This will generate the proper ACIR opcode but the solver will not be able to solve it and BB will skip it.
Related to issue: noir-lang/noir#4037 The PR adds the opcode to ACIR and updates BB and Noir accordingly. Furthermore you can use it via a foreign function in the stdlib. This will generate the proper ACIR opcode but the solver will not be able to solve it and BB will skip it.
@guipublic Do we really gain much on having the poseidon2 permutation added as a blackbox function rather than in Noir directly? As it's just arithmetic it seems like we'd get all the same benefits from AztecProtocol/aztec-packages#5374? |
I think there is some gain as the gates are tailored to the specific Poseidon operations, i.e they are hand-made crafted as opposed to automatically generated in Noir. n.b: the poseidon2 permutation is already added as a blackbox. |
Problem
Poseidon is a popular circuit friendly hash function, currently we do not have an efficient blackbox function for it like keccak, sha256 and blake.
Happy Case
Add the poseidon permutation opcode
Alternatives Considered
No response
Additional Context
It would be great if we could make the opcode agnostic to the
t
parameter, this does not seem possible and barretenberg uses a non-standardt
parameter for efficiency.Would be good to investigate whether we can add a more fine grained opcode without losing efficiency and still being agnostic to
t
Would you like to submit a PR for this Issue?
No
Support Needs
No response
The text was updated successfully, but these errors were encountered: