Hashing precompiles provide native implementations for hash functions used by commitments, proof systems, interoperability protocols, and data structures. They are useful when Solidity-only hashing would be too expensive or when the application needs a hash family that is not built into the EVM.

Surfaces

When to use

  • Use native hashing when a contract needs a hash family that Ethereum does not expose as a standard opcode or precompile.
  • Use Poseidon or gnark-aligned utilities when the off-chain proof system expects those hash semantics.
  • Use SHA-3 or BLAKE2b when integrating with external protocols that commit data using those functions.

Implementation notes