Skip to content
This repository has been archived by the owner on Aug 30, 2024. It is now read-only.

feat: integrate sha256 starky #17

Merged
merged 19 commits into from
Sep 6, 2023
Merged

feat: integrate sha256 starky #17

merged 19 commits into from
Sep 6, 2023

Conversation

ratankaliani
Copy link
Member

@ratankaliani ratankaliani commented Aug 26, 2023

Overview

  • test_skip_large and test_step_large pass with 128 validators.
    • test_step_large currently takes ~14.5 minutes to generate a proof.
    • test_skip_large currently takes ~15.5 minutes to generate a proof.
  • Integrated Curta SHA-256 gadget into zkQGB.
  • Fix Tried to route a wire that isn't routable issue (separate get_total_voting_power computation into 2 chunks, to avoid exceeding the max_num_routed_wires in the plonky2 config)

Future Optimizations

  • Creating a SHA512 Curta gadget will speed up EDDSA signature verification, which is a significant remaining bottleneck.

Future Cleanup

@@ -982,4 +911,331 @@ pub(crate) mod tests {

println!("Verified proof");
}

// TODO: Add these tests back once the interface for using Curta's SHA gadget is straightforward. Currently, we'd need to compute the total number of SHA's done in each of these tests, and fill out the rest of the SHA's similar to how it's done in test_skip & test_step.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updating these tests to use the Curta gadget felt unnecessary (given integration tests pass), will add them back once the Curta interface is more clean.

@ratankaliani ratankaliani merged commit 32ef58a into main Sep 6, 2023
7 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants