If I want to know how many times I need to roll a die in order to have a given chance of seeing at least one six, I can use the formula:

n = (log(1 - s))/(log(1 - p))

where n is the required number of rolls, s is the desired probability of rolling at least one six, and p is the probablity on each roll. It tells me that I must roll the die 26 times if I want a 99% chance of seeing at least one six. As applied to playing cards (where p is 1/52 rather than 1/6), the same formula tells me that I would have to pick a card randomly from 237 packs if I want a 99% chance of seeing at least one Ace of Spades.

My question is: Does this formula apply to mining yields? For instance, if the network hash rate is H and my local hash rate is h, would I have to mine for the time taken for (log(1 - 0.99))/(log(1-(h/H))) blocks if I want a 99% chance of receiving the reward for at least one of them?


Yes, kind of. Your model is an idealized representation of mining, and works with one exception. The network has a certain degree of latency between nodes, and as a result miners do not know immediately when another miners finds a block, but rather have to wait something like 1-10 seconds before learning about a new block. Now, at first glance,this might not seem like a big deal because everyone has this issue. But the reality is that network latency results in bigger miners winning a slightly higher share of blocks than their hashrate would suggest, and smaller miners get less. This is due to the fact that a miner effectively gets a head start on the next block after mining a block, and bigger miners therefore get more of these headstart a, gaining a slight advantage. The smaller one's hashrate is, the more exacerbated this effect becomes. I don't know of a foolproof way of representing this effect, though. A good starting point might be to say that a small miners is only 90-95% efficient, but such a factor would have to be empirically tuned to be as accurate as possible.

  • Exactly the kind of explanation I was looking for. Thank you. – user1425 Apr 9 '17 at 14:59
  • Another point that the question asker and this answer neglected is the fact that the network hashrate is not constant. So as you're "rolling the dice" the odds of hitting the target are changing, generally decreasing, or put another way the network hashrate is increasing. For a small solo miner this can be a major factor. – jwinterm Apr 10 '17 at 21:30
  • Yes, that's true. The question just represents the hashrate as H, so that model allows for a variable hashrate, though I didn't specifically discuss that in my answer. – bigreddmachine Apr 10 '17 at 21:32

This is also a contest of who can guess first/throw a dice of the correct value within a given time based on the previous block (right now is 2 minutes) and you have to start guessing again in the next block. Thus, if your hash rate as a solo miner or we can say guess per second/throwing a dice per second can only do a guess/throw of 24,000 in 2 minutes (@200 h/s) and there is a possible of billion guesses you'll have a minuscule of probability of guessing/throwing the dice of the required value.

However, this does not mean that you will never guess the correct value if you are very lucky. But right now the Network H/s just went to the roof at 80MH/s!

Your Answer

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