# Probability of Finding a Block

I've been using cryptocurrency revenue calculators and have appeared to figure out that for all of the major algorithms, the probability of a hash being valid is 1/(D*2^u) where u is either 0, 13 (weird), or 32 and D is the network difficulty. I used the formula (my_hashrateblock_rewardtime) * 1/D * 1/2^u to find revenue. I believe the following is true:

u = 32 for SHA-256, Scrypt, X11, Groestl, X11Ghost, Lyra2Rev2, NeoScrypt, Blake (14r)
u = 13 for Equihash
u = 0 for CryptoNight, Ethash

Can someone explain this phenomenon? Will the constant part of the probability change over time or will the difficulty adjust?

To look at it a different way, the probability for solving a block in Bitcoin is approximately:

``````1 / ({total network hash per second} x {average block time in seconds})
``````

Note that block time is the average.

As of writing, this is:

``````Probability = 1 / (24,667,167,000,000,000 x 600)
= 1 / 1.48003002×10¹⁹
= 6.75661970694351186200939356621969059789746697164966964... × 10^-20 (WolframAlpha)
``````

Data source: blockchain.info

• That '0' doesn't look very accurate or useful. – Pieter Wuille Aug 6 '18 at 22:34
• @PieterWuille You are right, I didn't try very hard for that. I will improve it. – Willtech Aug 7 '18 at 9:16