nimbus-eth1
nimbus-eth1 copied to clipboard
Add `mcl` (and possibly `constantine`) backends for alt_bn128 precompiles
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.