-
Notifications
You must be signed in to change notification settings - Fork 5.3k
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
Add EIP: EVM Modular Arithmetic Extensions (EVMMAX) #6690
Conversation
✅ All reviewers have approved. |
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.
Fix the walidator issues, and only add one file.
Where did you get EIP-6601 from?
5bc62f1
to
5e457dd
Compare
Yo @jwasinger , we are a group of wallet builders building on top of account abstraction and super excited about the EIPs you have been working on to add more elliptic curve support. Any chance we can know more about the current progress and how we can help? This is an extremely important feature to us. |
Hey @odysseus0 , I've been mostly afk for a couple of weeks and just getting back now. It seems likely that EOF will be included in a subsequent hardfork, so the proposal that ends up being pushed forward will probably be similar to EIP 6601. 6601 + EOF offer several benefits compared to 6690:
EIP-6601 is not implemented currently as the EOF dependencies are not fully implemented in Geth yet. Right now, I have a proof-of-concept implementation of a template system for writing Huff contracts using EIP-6690: https://github.com/jwasinger/evmmax-bls12-381 . As the name implies, the repo contains implementations of BLS12-381 operations (right now ecmul and ecadd for G1/G2). The Geth submodule in that repo links to a partial implementation of 6690 (right now only supports moduli 321-384 bits, does not implement gas charging for From the perspective of a developer using my templating system: whether 6601, 6690 (or some similar variant) goes live, the details are (and will be) mostly abstracted by the templating engine. This means that most EC code written now using EIP-6690 should require minimal modifications to be adapted for the final proposal. So if there is interest now in implementing additional curves (or bls operations), I can improve and document the template system and associated Geth implementation to make the development process easier. Regardless, I think a good first step would be to collect more desired use-cases (curves, zk-friendly hash functions, zkp schemes, etc.) and analyze them. So I would be curious from to hear from the AA side: what additional curves (and curve operations) would be most important to you for unlocking new use-cases? |
The most important curve is sec256r1. Existing evm code to verify the signature is roughly 600k gas, which is too expensive for general use. |
I forgot to post a link to the EthMagicians discussion thread where this discussion should happen. I've posted a response there. |
I second @drortirosh - sec256r1 unlocks support for Secure Enclaves that are already built into iPhones, as well as WebAuthn and Apple Passkeys. Other curves I’d like to see
|
208acfc
to
9f47b08
Compare
9f47b08
to
9e7e8c6
Compare
9e7e8c6
to
42ffb90
Compare
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.
All Reviewers Have Approved; Performing Automatic Merge...
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.
All Reviewers Have Approved; Performing Automatic Merge...
The commit 42ffb90 (as a parent of 87991ed) contains errors. |
EthMagicians discussion thread here.