I have been considering an approach to incentivize cryptocurrency miners to verify claims of quantum computational supremacy. Briefly, miners find collisions $f(x_1)=f(x_2)=y$ of some known $f:m+1\mapsto m$-bit hash function $f$. I envision that a quantum computer broadcasts and commits to $y$ and to another sting $d$ related to the preimages $(x_1\oplus x_2)$, and then miners hunt for both preimages. The quantum computing company can draft a smart contract that pays the miners upon finding and broadcasting the preimages. An honest quantum computer might not find both preimages separately but rather can hold both preimages in superposition.
But, the hash function is not designed to be 2-to-1, and can instead be instantiated with something like SHA256
. I think, generically, the number of collisions for a random hash function is distributed according to the Poisson distribution, and there would often be many $y$ that only have a single preimage.
Quickly to the question:
> For some generic hash function $f$ such as SHA
, how hard is it to decide how many preimages a given image $y$ has, when we can trivially choose a random $x$ and know that $y=f(x)$ has at least one preimage?
I'd be satisfied to know whether a cheating prover who can find an $(x,f(x))$ pair at will has no easy way to determine whether there's another preimage $x'$ with $f(x)=f(x')$.