Skip to content
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

Native Poseidon2 chip optimization for aggregation #1133

Open
jonathanpwang opened this issue Dec 26, 2024 · 0 comments
Open

Native Poseidon2 chip optimization for aggregation #1133

jonathanpwang opened this issue Dec 26, 2024 · 0 comments
Assignees

Comments

@jonathanpwang
Copy link
Contributor

We provide an explainer on the main operations of FRI verification here.

Current flamegraph profiling indicates that the current recursion program using Aggregation VM still has a large portion of cell usage not coming from the Poseidon2 chip. This indicates that we should add new hash-centric instructions and increase the functionality of the native poseidon2 chip so that the hash-based functions in FRI verification are accelerated.

After #1122, the native poseidon2 chip (used in Aggregation VM) has been split out from the system poseidon2 chip (used for continuations). We can now freely upgrade functionality of native poseidon2 chip to specialize it more for aggregation. We want to move as much of the hash-related operations in the FRI opening proof into the chip, and out of using other VM control flow/load/store operations:

  • the chip should be able to do any entire mmcs.verify_batch in one instruction, reading in variable amounts of memory across multiple trace rows
  • one possible approach is to allow the chip to have an absorb, squeeze functionality, where update can span multiple rows to absorb variable length memory and squeeze writes the hash digest to memory
  • it would be nice / most optimal if the chip directly handles Challenger functionality without needing extra instructions in the eDSL.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants