Skip to content

Conversation

@0xPenryn
Copy link

Description

Cherry-picks commit ethereum/go-ethereum@684b935, which is included in geth v1.16.4. This changes the library used for bn254 curve operations from cloudflare to gnark and greatly improves the execution performance of the ECPAIRING opcode, leading to >50% increased execution throughput on World Chain Mainnet.

Tests

All tests were unchanged and pass. I've additionally been running this fork for multiple World Chain Mainnet node configurations (path-based full, path-based archive, hash-based archive) and all have worked with no issues.

Additional context

While this change will be included when op-geth merges geth v1.16.4, this allows the performance benefits of this change to be applied much sooner. Because this is the exact change used in geth, it won't cause any issues merging v1.16.4 later on.

@0xPenryn 0xPenryn requested a review from a team as a code owner October 20, 2025 23:21
@0xPenryn 0xPenryn requested a review from ajsutton October 20, 2025 23:21
@0xPenryn 0xPenryn changed the title switch to gnark switch to gnark for bn254 curve operations Oct 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant