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

Add mcl (and possibly constantine) backends for alt_bn128 precompiles #2713

Open
arnetheduck opened this issue Oct 8, 2024 · 0 comments
Open
Labels

Comments

@arnetheduck
Copy link
Member

arnetheduck commented Oct 8, 2024

One of the largest bottlenecks during syncing post eip-1108 are the bncurve precompiles - nim-bncurve can no longer keep up.

As an alternative, we could switch to mcl which is a classic battletested option that is fast. Getting to this point requires first creating an mcl wrapper similar to nim-secp256k1 and then adding a selection layer similar to how nim-ssz-serialization can switch between multiple sha256 instances.

Worth exploring is also constantine, though this should be added only once we have an mcl backend, so that we can run comparative analysis.

nim-bncurve should be kept as a pure-nim fallback option.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants