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

feat(client): Accelerate BLS12-381 precompile #946

Closed
clabby opened this issue Jan 24, 2025 · 0 comments · Fixed by #960
Closed

feat(client): Accelerate BLS12-381 precompile #946

clabby opened this issue Jan 24, 2025 · 0 comments · Fixed by #960
Assignees
Labels
A-binaries Area: binaries H-isthmus Hardfork: Isthmus related K-feature Kind: feature

Comments

@clabby
Copy link
Collaborator

clabby commented Jan 24, 2025

Overview

The BLS12-381 precompile is being added in L1's pectra hardfork, and inherited by isthmus. It's an expensive cryptographic precompile, which means we'll want to accelerate it within the fault prover.

These are registered in the client program here, and the BLS precompile will also need to be added into the host here.

We'll also need to be cognizant of the ability to reproduce the precompile call on L1 via the PreimageOracle contract's loadPrecompilePreimagePart function. The BLS12-381 precompile accepts variable-length inputs, so it'll have variable gas, and we'll need to cap this within both the client software and the proof. We did the same thing for the ecPairing precompile in the Granite hardfork, since it's also accelerated in the proof + has dynamic gas consumption based on the input.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-binaries Area: binaries H-isthmus Hardfork: Isthmus related K-feature Kind: feature
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants