-
Notifications
You must be signed in to change notification settings - Fork 19
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
feat(ivc): support large step circuit size #319
Comments
cyphersnake
added
the
perf
Only applies to optimizations and performance acceleration
label
Jul 30, 2024
cyphersnake
added a commit
that referenced
this issue
Sep 13, 2024
**Motivation** Part of #319 **Overview** - Add field with step-circuit instances to `StepConfig` - Assign step-circuit instances into witness and made equality check with copy-constraint - Add `instances` example for test & give example of instances usage inside a step circuit. Will improve, at the end of #319
cyphersnake
added a commit
that referenced
this issue
Sep 17, 2024
**Motivation** Part of #319 **Overview** - Add field with step-circuit instances to `StepConfig` - Assign step-circuit instances into witness and made equality check with copy-constraint - Add `instances` example for test & give example of instances usage inside a step circuit. Will improve, at the end of #319
cyphersnake
added a commit
that referenced
this issue
Sep 17, 2024
**Motivation** Part of #319 **Overview** - Add field with step-circuit instances to `StepConfig` - Assign step-circuit instances into witness and made equality check with copy-constraint - Add `instances` example for test & give example of instances usage inside a step circuit. Will improve, at the end of #319
cyphersnake
added a commit
that referenced
this issue
Sep 17, 2024
**Motivation** Since thanks to #319 we support as many instance columns as we like, the old name can be misleading, so wherever possible we enter the name "consistency marker", including this module **Overview** N/A
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
In sirius, we try to minimize the number of commitments. This is because the ecc scalar mul in verifier circuit is very costly. Thus, the commitment key size roughly equals the total number of rows times total number of columns times the bits of field.
When we fold large circuit, e.g. zkevm circuit. The key might be too large. Given the zkevm circuit data:
the row number is roughly
2^20
; advice column number is884
. number of fixed col+selectors is250
.We commit fixed and advice columns separately. It means the key size is roughly
2^30*256/2^30=256GB
.To solve this issue, we need reduce the key size while increasing number of commitments. Thus the verifier circuit size will be increased. However, this is acceptable because the step circuit size is larger than ivc part.
For example, if we reduce the key size by
8
, the ivc circuit part will increase at most8
which is2^17*8=2^20
, the total number of rows is unchanged. Now, the key size in the worst case is32GB
.The text was updated successfully, but these errors were encountered: