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

Single-row Optimizations on top of KeccakRound gate #1301

Closed
wants to merge 12 commits into from

Conversation

querolita
Copy link
Member

@querolita querolita commented Oct 26, 2023

These optimizations still keep the KeccakRound gate in one single row. Other optimizations will build on top of this one to split across rows to create narrower chips. Here, by "Old" I mean the design shown in the RFC.

  • Remove intermediate states and embed them in constraints
  • Simplify rotation inside Theta removing bound_c and lookups for quotient_c (which just needs a boolean check)
  • Remove bound_e following the discussion about optimizing rotation with the product team

Old column count: 2344
New column count: 1965

Old constraint count: 754
New constraint count: 389

Old lookup count: 1760
New lookup count: 1620

Old prover time: 23s x 1 hash | 1871s x 1000 hash
New prover time: 19s x 1 hash | 1691s x 1000 hash

Old setup time: 57s x 1 hash | 517s x 1000 hash
New setup time: 57s x 1 hash | 479s x 1000 hash

Old verifier time: 6516ms x 1 hash | 6797ms x 1000 hash
New verifier time: 5600ms x 1 hash | 6021ms x 1000 hash

Base automatically changed from zkvm/keccak/framework to zkvm/keccak/tests November 1, 2023 09:55
@querolita querolita force-pushed the zkvm/keccak/tests branch 2 times, most recently from 3ccebf0 to 5ecf0ad Compare November 1, 2023 12:52
@querolita querolita force-pushed the zkvm/keccak/optimized branch from d82f902 to 72ba91e Compare November 1, 2023 15:07
@querolita querolita changed the base branch from zkvm/keccak/tests to zkvm/keccak/framework November 1, 2023 15:08
@querolita querolita force-pushed the zkvm/keccak/optimized branch from 96ad811 to ff9405b Compare November 1, 2023 16:26
@querolita
Copy link
Member Author

Making it a draft for now. The gate changes are in #1542. Will reopen when the proof system is modified to be compatible with these branches.

@querolita
Copy link
Member Author

Closing because the constraints and witness have already been merged, and we probably won't be integrating kimchi's proof system with these for now

@querolita querolita closed this Dec 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant