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

Fix public key aggregation #63

Merged
merged 1 commit into from
Mar 4, 2024
Merged

Fix public key aggregation #63

merged 1 commit into from
Mar 4, 2024

Conversation

nulltea
Copy link
Member

@nulltea nulltea commented Feb 26, 2024

Adds doubling during public key aggregation and uses its result when the current accumulator equals the following public key to be summed with. Without this fix the case of such an event will result in failed proof generation.

However, the probability of such an event occurrence is quite low, so we should consider whether we want to incur the cost of performing 512 additional doubling and selection steps in the circuit. The cost in terms of advice cells is demonstrated below:

Before:

Gate Chip | Phase 0: 13062777 advice cells
Total 2063 fixed cells
Total range check advice cells to lookup per phase: [1328580, 0, 0]

After:

Gate Chip | Phase 0: 14383737 advice cells
Total 2063 fixed cells
Total range check advice cells to lookup per phase: [1531332, 0, 0]

Note: currently, it is still possible to use k=21 in the main circuit and k=23 for the aggregation step.

@nulltea nulltea force-pushed the nulltea/double_when_equal branch from 07ee5ca to 117b475 Compare February 26, 2024 15:41
@nulltea nulltea merged commit 2affa66 into main Mar 4, 2024
2 checks passed
@nulltea nulltea deleted the nulltea/double_when_equal branch March 4, 2024 20:17
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.

2 participants