Hash function (sha256) is used to mine and identify a block. The digest is a 256 bit string.
We don't know whether this function is surjective or not (whether there is an input-block header for each output-digest).
But we assume that the output of the hash function is evenly distributed (so we can calculate target and difficulty for proof-of-work algorithm).
How can we know for sure the output is evenly distributed?