random oracle model
The random oracle model (ROM) is a proof framework in which we pretend a hash function is a truly random function — a magic black box that, on each brand-new input, returns a fresh uniformly random output, and answers consistently if queried again. It is an idealization used to prove cryptographic schemes secure.
Why pretend? Many efficient signatures and proofs (Schnorr, full-domain-hash RSA, and every Fiat–Shamir transform) have clean security reductions only if the hash behaves ideally. In the ROM the proof can 'program' the oracle's answers and observe every query the adversary makes, enabling reductions that simply do not work for any concrete, fixed hash function. You then instantiate the oracle with a real hash like SHA-256 or Keccak and hope the proof's intuition carries over.
The catch is real but narrow: Canetti, Goldreich, and Halevi showed in 1998 that there exist (contrived) schemes provably secure in the ROM yet insecure under every possible real hash. So a ROM proof is a strong heuristic, not an absolute guarantee. Still, no natural, deployed scheme has ever been broken because of the model, so practitioners accept it. The most blockchain-relevant ROM application is the Fiat–Shamir heuristic, which turns interactive proofs non-interactive by hashing the transcript to generate challenges — the backbone of on-chain zero-knowledge verification.
A ROM proof is weaker than a standard-model proof but far better than none. Read it as: 'secure unless the hash deviates from random in a way the attack can exploit' — which, for SHA-2 and SHA-3, nobody currently knows how to do.