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.
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
EC arithmetics and pairings with runtime definitions #1962
EC arithmetics and pairings with runtime definitions #1962
Changes from 3 commits
fd113ab
8d3a9fa
36be475
690bf29
6cbb4b3
95bfc86
e158d74
10b2f70
02b6ed8
3ed8680
488c445
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is EIP1109 strictly required or will it just reduce the gas cost of these op codes?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I’d say that it’s strictly required. Point addition would have a cost of 100 gas for a curve with not too long base field, while calling a precompile would cost 500 gas for a STATICCALL opcode
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That being said, the real comparison is how much that would cost on EVM directly, if it is more than
700 + 100
then the precompile is still cheaper and likely that is the case.I'd say this requirement on 1109 (or reduced cost to calling precompiles, in general) is not a strict requirement, but something which increases usability a lot.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you aware of a 128 bit security MNT curve? I assume this one is 80 bits.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The ones from Coda are ~128-bit, and are defined over field size of about ~750 bits
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Forgot about them :) Yes, those may be put in if performance-wise such large module and expensive pairing (large Miller loop and expensive final exponentiation) would fit in reasonable ("allowed") execution time.