30

Just turned my attention to mining and the concepts are quite new to me. First of let me be clear: I realize that my hardware setup is far from ideal for mining. This is also the reason why I do not want to pool, I would simply provide a too small a share. I will be CPU mining at first, ASIC later on.

I would however like to test my luck. Mostly just for fun, I'm completely fine with the idea of never actually solving a block. I see it more as a lottery. I just want to confirm my idea so that I am not missing something: Do I have a chance of solving a block?

If a block is solved every 10 minutes, and the difficulty goes up continously. Do I even have the time to attempt a solution? I understand that the current work has to be abandoned when a block has been solved, rigth? Is there, for example, a lag here that yields my efforts useless?

What are the odds? Are the actually the % of my speed vs the network's?

1

6 Answers 6

18

Check this page: How soon might I expect to generate a block?

So with the current difficulty 510,929,738, and a 1Ghash/s mining rig (faster than your CPU) you'd do this math:

510929738 * Math.pow(2,32) / Math.pow(10,9) / 60 / 60 / 24 / 365

So to find a block at this difficulty with a 1Ghash mining rig it would take you about 69 years on average. Good Luck!

PS: Math.pow(2, 32) is simply the JavaScript version of 2^32

7
  • 6
    Where 69 years is the expected time, it could be much quicker with luck, but likely much longer because the difficulty its constantly increasing meanwhile.
    – Murch
    Nov 14, 2013 at 16:38
  • 1
    Thank you. One more thing, is theory and practice the same thing in this case?
    – Isac
    Nov 15, 2013 at 8:23
  • 16
    @Isac: In theory, theory and practice are the same. In practice… Nov 15, 2013 at 8:35
  • 4
    As dam close as. Don't use your CPU, use the electric bill your running up to go buy lottery tickets instead, better odds.
    – MaxSan
    Nov 15, 2013 at 8:36
  • 1
    @mavili: It is impossible to know when you are supposed to be struck by a lightning. All we can say is that if you wait for x years then you probably will be. PS: today difficulty is 888171856257.3206
    – Eduardo
    Aug 28, 2017 at 19:49
15

As long as you're in good communication with the network and have a hashrate measured in something better than minutes per hash, yes, you technically do have a chance of successfully mining a block, even if your hashrate is tiny compared to the whole network. Then the question is, what are your chances and should you do it? I think an analogy with a lottery is apt.

In one week, a lottery might cost you $2 (for one ticket) and give you a 1 in 175 million chance to win $100 million (ignoring smaller prizes, splitting prizes, etc.; complicates things too much). This gives it a return on investment (ROI) of about 29%, so we'll treat this as our baseline: if it's lower than this, it's worse than the lottery and you shouldn't "play".

If you buy a $34.52, 5 GH/s ASIC miner that uses 2.5W of power, you might spend about $0.06 in a week to have a 1 in 13,889 chance to win $11,349. Not counting the upfront investment, this is a 1,361% ROI, so it's worth it. If you factor in the cost of the device (split over a year) and a profitability decline (since the rest of the network will be speeding up), I think you're still looking at an ~80% ROI.

In one week of CPU mining (assuming 20 MH/s at 70 W), you might spend $1.75 in power to have a 1 in 3,472,222 chance to win $11,349. This is a 0.18% ROI, so CPU mining really makes no sense, even as a lottery (it'd be better to just buy a lottery ticket).

(my calculations are at http://pastebin.com/ERJHshFG)

6
  • 2
    Lottery ROI is consant. Bitcoin difficulty is not. That 80% ROI of Bitcoin ASIC mining will be 8% in the next 6 months. May 10, 2014 at 14:12
  • 1
    @TimS, but surely there's a minimum amount of computational power you need before you can even "take part in the bitcoin mining lottery" right?
    – Pacerier
    May 22, 2014 at 16:36
  • 1
    @Pacerier There is a minimum. E.g. you can't do it with human calculations, because by the time you finish one hash (~9.4 hours), more blocks have been found. If you could do one hash in 1 minute, you'd average 10 hashes per block, maybe wasting ~5% of your effort. I'd estimate 10 minutes per hash as the minimum to participate: you could do approx. 1 hash per block. There is a chance that hash is the right one! You've played the lottery. (any computer is measured in kilohashes per second, at least; many times faster than the minimum)
    – Tim S.
    May 22, 2014 at 16:43
  • @Pacerier note that there is no hard minimum. It's possible (though exceedingly unlikely) that no blocks would be found by the network in the ~10 hours you're calculating a hash by hand, and possible (though exceedingly unlikely) that your hash will meet the target difficulty, and possible (though exceedingly unlikely) that you did not make any mistakes in that 10 hours of arithmetic. However, I'm pointing out that when you get into the range of minutes per hash (or slower), there is an extra limiting factor: blocks have likely been found in the meantime.
    – Tim S.
    May 22, 2014 at 16:51
  • @TimS., Good points, didn't thought of that hard minimum. Btw, that extra limiting factor is actually closer to 3 minutes right? Since we had to factor in the delay of actually getting notified when someone else has won lottery.
    – Pacerier
    May 22, 2014 at 16:53
8

I do not think the question was about the "how long" it would take in average, but what are the odds, which is something completely different from my point o view. If I understand well the concept of solving blocks then there are always more people/groups/pools trying to solve one block. If that's so then solving a block is always more about the luck than the brute force you have. Even if you have a 1GH rig, you can still find the solution quicker then 1PH pool. Question is: what are the odds that it will happen? I would expect a ration : to take place in the answer. So if the current total H-power is about 7.6PH it means that with 1GH rig you have 1:7600000 probability to solve the block approx. every 8 minutes. Which is 1:116 per a year, if the total H-power does not change and it basically does not depend on the difficulty, as the difficulty is based on total H-power.

1
  • 1
    You are correct, the question was about the odds of the asker succeeding in finding a block. However, you can either express the odds as chance per block or as expected time until the outcome will be achieved, Luca has chosen the latter. The 1GH is also highly over-estimating his CPU's mining power, a more realistic value would be less than 0.05 GH/s. So, the odds are more along the line of 1:3320 per year, traded for the energy cost of running the PC at full-blast for a year.
    – Murch
    Dec 12, 2013 at 11:37
3

It's better than being in the lottery!

The chance you actually find a block will sadly decrease over time (probably). Thing is, if you're lucky you win the lottery. And if you don't get lucky, you don't win and get nothing.

The advantage of being in a pool is that you play in more lotteries, so your luck averages out . If you get lucky 1% of the time and you try once, you probably won 0% of the time. If you try very often it will tend to balance around 1%.

So, all chance calculations aside, are you feeling lucky?

To answer your question more directly: the long block-intervals (10 minutes) are there to reduce network-lag's influence on people's ability to mine on the newest block. There's some influence, inevitably, but others endure it too. Pools can have a minor advantage if they're close together, but the miners connect through them instead of directly. I think there'd be no difference worth mentioning. Short: Yes, it is your % vs network %.

Small footnote should be made about selfish mining, if another pool is big enough they'll have a mining advantage. Smaller it'd be a disadvantage. It's not being done and I hope pools will stay spread thinly enough to make it ineffective. You can safely ignore this. It also doesn't likely matter when you're "lottery mining" (you're still betting just on your own luck!).

Note: you'll have more luck solo-mining LiteCoin or another GPU/CPU coin. Unless you own an ASIC, of course.

3
  • Better than which lottery?
    – Pacerier
    May 22, 2014 at 16:34
  • Well.. Assuming that your mining hardware is equal to others' you'll be better off than any lottery. Provided the lottery works as expected (collect money and give it to a single participant - fees). But with worse hardware it all just depends.
    – Lodewijk
    May 22, 2014 at 18:40
  • question, if i am in a pool and did find 3 blocks in 12 hours... would solo mining be of consideration ? should i expect to find 3 or so a day or did the pool actually helped narrowing the winning slot ?
    – altagir
    May 13, 2018 at 0:00
3

I'm solo mining AmericanCoin on a US$6/month VPS generating about 7 scrypt kilohashes per second, and just won block 55311 about an hour ago, after about 8 weeks of trying with the random-nonce scrypt-mining script linked to from my blog. so it can be done, if the difficulty is low enough. it might have worked just as well or better with the built-in linear-nonce mining code, but I figured using random numbers would give me an edge in the "luck" department.

here's the current difficulty. when I started it was about 1.9, then went up to about 4 before dropping back.

jcomeau@aspire:~$ americancoind getmininginfo
{
    "blocks" : 55328,
    "currentblocksize" : 0,
    "currentblocktx" : 0,
    "difficulty" : 3.51815597,
    "errors" : "",
    "generate" : false,
    "genproclimit" : -1,
    "hashespersec" : 0,
    "networkhashps" : 19038678,
    "pooledtx" : 0,
    "testnet" : false
}

so it's not nearly paying for itself, but as a proof-of-concept it was worthwhile to me, as well as being a cheap way of getting my gambling "fix".

5
  • It will not improve your chances. It doesn't even affect your gambliness.
    – Lodewijk
    Feb 12, 2014 at 17:44
  • @jcomeau_ictx, Did you just won 25 btcs?
    – Pacerier
    May 22, 2014 at 16:37
  • no, not mining BTC. I've only successfully mined AMC and ARG. May 28, 2014 at 4:22
  • how do you mine through the command line? is this a feature built into all bitcoind derivative code?
    – Sun
    Nov 27, 2017 at 18:06
  • by writing a script that communicates with the daemon through RPC. mine won't work with Bitcoin any more, as it no longer provides the getwork call. the script is linked to in my answer above, via my blog, to Pastebin. Nov 28, 2017 at 13:54
-2

The beauty of Bitcoin is that it provides anyone with a chance to earn free bitcoins. No matter what statistics are used to calculate the odds of hitting the jackpot, they can never be used to predict the outcome. As we all can read in the numerous variaties and complications (when it comes to calculating probabilities) in the above mentioned posts, it's obvious that there will never be a mathematical model able to predict the possibilities. There are too many variables that change continously overtime (diffuclty rate, amount of miners, growing blockchain etc.) Instead of focussing on mining itself you better try and find a way to reduce the cost. If one could use solar energy to power his/her computer then it's no problem at all to have it up and running up to 20 years or even more. In that case it's cheaper then taking part in a lottery and your chances to hit the pot will be no more or less the same either way. That's why we call it luck ;)

1
  • 2
    Downvoted: "No matter what statistics are used to calculate the odds of hitting the jackpot, they can never be used to predict the outcome. As we all can read in the numerous variaties and complications (when it comes to calculating probabilities) in the above mentioned posts, it's obvious that there will never be a mathematical model able to predict the possibilities." For being ill-informed and absurd.
    – Murch
    Feb 15, 2016 at 14:10

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