chore: Add invariant test for G1/G2 Scalar multiplication#2247
Merged
rakita merged 1 commit intobluealloy:mainfrom Mar 19, 2025
Merged
chore: Add invariant test for G1/G2 Scalar multiplication#2247rakita merged 1 commit intobluealloy:mainfrom
rakita merged 1 commit intobluealloy:mainfrom
Conversation
CodSpeed Performance ReportMerging #2247 will not alter performanceComparing Summary
|
Contributor
Author
|
Blocking as I am not sure that the EIP-2537 tests are running |
Member
|
This is a unit test and it does not touch the eth state tests, it is safe to merge imo. We had problem with CI eof-verification that is fixed on the main |
This was referenced Mar 19, 2025
Closed
Closed
Closed
Closed
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The G1/G2 scalar multiplication gas costs are specified in two different places in the EIP in two different ways.
They are equal when the first value in the discount table is equal to the MSM_MULTIPLIER. It is not the most robust way to check this invariant because you can compute the cost for G1/2_MUL in a more convoluted way.
If a more convoluted way is chosen, then this test should start to fail.
What this means is that if we wanted to just change the cost for G1/2_MUL we would need to change the MSM_BASE_GAS_FEE. It was done this way because there is some relationship between the cost for a scalar multiplication and the cost to do an MSM which is multiple scalar multiplications.