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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.