What this is
UltrafastSecp256k1 is a zero-dependency MIT-licensed secp256k1 engine
with a GPU batch ecrecover API that might be relevant to Otterscan's
transaction sender recovery pipeline.
https://github.com/shrec/UltrafastSecp256k1
Relevant numbers (RTX 5060 Ti, CUDA 12, batch 16K)
| Operation |
Throughput |
| ECDSA sign + recid (recoverable) |
3.21 M/s |
| ECDSA verify |
4.34 M/s |
| ecrecover batch |
ufsecp_gpu_ecrecover_batch — CUDA/OpenCL/Metal |
| Keccak-256 |
included, zero deps |
| EIP-55 address |
included |
CPU ecrecover: ~27μs — honest note, slightly slower than libsecp256k1
on single-threaded CPU. GPU batch is where the gap opens.
Why it might matter for Otterscan
Block explorers recover sender addresses from every transaction.
Batch ecrecover on GPU — processing an entire block's transactions
simultaneously — is a different workload profile than single-threaded CPU.
Integration
Rust binding is available with full Ethereum support:
- Keccak-256, EIP-55, EIP-155 sign, ecrecover
ufsecp_gpu_ecrecover_batch via C ABI (CUDA/OpenCL/Metal)
- MIT license, zero external dependencies
Not asking for anything specific
Just flagging this exists. Happy to share reproducible benchmark
commands or answer questions if there's interest.
Repo: https://github.com/shrec/UltrafastSecp256k1
What this is
UltrafastSecp256k1 is a zero-dependency MIT-licensed secp256k1 engine
with a GPU batch ecrecover API that might be relevant to Otterscan's
transaction sender recovery pipeline.
https://github.com/shrec/UltrafastSecp256k1
Relevant numbers (RTX 5060 Ti, CUDA 12, batch 16K)
ufsecp_gpu_ecrecover_batch— CUDA/OpenCL/MetalCPU ecrecover: ~27μs — honest note, slightly slower than libsecp256k1
on single-threaded CPU. GPU batch is where the gap opens.
Why it might matter for Otterscan
Block explorers recover sender addresses from every transaction.
Batch ecrecover on GPU — processing an entire block's transactions
simultaneously — is a different workload profile than single-threaded CPU.
Integration
Rust binding is available with full Ethereum support:
ufsecp_gpu_ecrecover_batchvia C ABI (CUDA/OpenCL/Metal)Not asking for anything specific
Just flagging this exists. Happy to share reproducible benchmark
commands or answer questions if there's interest.
Repo: https://github.com/shrec/UltrafastSecp256k1