But it's still probably just an estimate.
My understanding is that it may overshoot or undershoot between blocks (because it doesn't know the exact number, only the average) but the average over all these years should be very close to the real number.
And what percent is that number, from all the possible 2^256 SHA256 hashes?
That depends on whether or not double-SHA256 is reversible. For our purposes, we can assume it is. If it is, then the chances of a collision is near null and 2
70 is a very miniscule percentage of all possible double-SHA256 results.
To be exact, 2
−186.
NB: If a function f (x → y) is reversible over a domain D, that means that ∀y∈D ∃x such that f(x) = y. Here we define D to be all numbers between 0 and 2256−1.