While running some benchmark I found OpenVM's guest has much longer trace than other zkVMs, after digging I found there are some expensive cryptographic operations not covered by revm_precompile::interface::Crypto or alloy_consensus::crypto::CryptoProvider (OpenVM uses the crypto backend instead of crate patching):
verify_and_compute_sender in reth-stateless - Which uses k256 or secp256k1 to do ECDSA verification
This blowup the trace of normal block because every tx has the sig to be verified.
- Directly usage of
sha256 (could be negligible)
For 1. we could probably bring back the crate patching as a short term solution, for 2. it seems there is no simple fix for now.
While running some benchmark I found OpenVM's guest has much longer trace than other zkVMs, after digging I found there are some expensive cryptographic operations not covered by
revm_precompile::interface::Cryptooralloy_consensus::crypto::CryptoProvider(OpenVM uses the crypto backend instead of crate patching):verify_and_compute_senderinreth-stateless- Which usesk256orsecp256k1to do ECDSA verificationThis blowup the trace of normal block because every tx has the sig to be verified.
sha256(could be negligible)ethereum_hashing::Sha256implalloy_eips::eip7685::Requests::requests_hashstateless_validator_common::compute_requests_hashFor 1. we could probably bring back the crate patching as a short term solution, for 2. it seems there is no simple fix for now.