Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: Remember remember the 5th of November on April 08, 2014, 08:20:30 PM



Title: Estimated earnings formula? [0.02BTC Bounty]
Post by: Remember remember the 5th of November on April 08, 2014, 08:20:30 PM
Does anybody have the estimated earnings formula as well as the estimated time to generate a block formula which are used in the gribble bot on #bitcoin-dev etc? Preferably where I can also specify the block reward as well(for altcoin earnings calculation).


Title: Re: Estimated earnings formula? [0.01BTC Bounty]
Post by: Remember remember the 5th of November on April 20, 2014, 06:27:47 PM
Bumping this with a bounty.


Title: Re: Estimated earnings formula? [0.01BTC Bounty]
Post by: MRKLYE on April 20, 2014, 06:30:00 PM
Hashrate x difficulty / time per share = estimated time till block

1KNyWqU6KnMQjuEo2rHYUgruijVXrWBXyr


Title: Re: Estimated earnings formula? [0.01BTC Bounty]
Post by: Remember remember the 5th of November on April 20, 2014, 06:41:02 PM
Hashrate x difficulty / time per share = estimated time till block
I also need the formula for estimated earnings, again based on the speed but also on block reward and then I will pay the bounty. Bumping bounty to 0.02btc

Time per share would mean what exactly?


Title: Re: Estimated earnings formula? [0.02BTC Bounty]
Post by: Nobitcoin on April 20, 2014, 06:49:50 PM
A = Difficulty  B = Mhash/s  C = Reward

24 / (A * 2^32 / (B * 10^6) / 60 / 60) * C = coins/day

1NYaBPmrUjGZ5WA7iiPkDGcd7EBZKNTECW


Title: Re: Estimated earnings formula? [0.02BTC Bounty]
Post by: KaChingCoinDev on April 20, 2014, 10:44:40 PM
Is this closed?


Title: Re: Estimated earnings formula? [0.02BTC Bounty]
Post by: deepceleron on April 22, 2014, 05:39:11 AM
Here's the current bitcoin difficulty: http://blockexplorer.com/q/getdifficulty (http://blockexplorer.com/q/getdifficulty).

I reduced the formula down to: average BTC per Day = (megahashes per second / difficulty) * 1005.82838
Due to the scheduled halfing of the block reward every four years, the new number is:

Average BTC per Day = (megahashes per second / difficulty) * 502.91419

New realistic examples using today's network stats

Radeon HD 5830:
300 Mhash/s at 3438908.96 difficulty = ( 300 / 3,439,000 ) * 502.91419 = 0.043 BTC per day
 or 1.32 BTC/month ≅ $16/month

BFL Single FPGA Miner:
832 Mhash/s at 3438908.96 difficulty = ( 832 / 3,439,000 ) * 502.91419 = 0.12 BTC per day
 or 3.65 BTC/month ≅ $45/month

You can also use the equation to determine your average time to a block find - the amount of time required for a hashrate to have a 50% chance of generating a block.

If you make: 0.01 BTC per day
How long to generate the full 25 BTC reward? 2500 days.

To find something different, we just rearrange the equation. Let's find how much hashrate would be required to generate a certain income at a given difficulty:

For X btc per day, the hashrate required is
(X btc per day * difficulty) / 502.91419 =  Y MHash/s

Thus, to make 1 BTC/day (1/3600th of the daily total reward of 3600BTC):

1 BTC * 6978842650 difficulty / 502.91419 = 13,876,806 MHash


You will see this is correct, it is 1/3600 of the current hashrate:

http://bitcoin.sipa.be/speed-small-lin-2k.png

To do all of this algebra (sorry, work not shown), what we start at is the probability of a single hash solving a block, which is 65535 x 2-48 x difficulty-1


Title: Re: Estimated earnings formula? [0.02BTC Bounty]
Post by: deepceleron on April 22, 2014, 06:57:16 AM
Does anybody have the estimated earnings formula as well as the estimated time to generate a block formula which are used in the gribble bot on #bitcoin-dev etc? Preferably where I can also specify the block reward as well(for altcoin earnings calculation).

If that was too much reading...


  • Average days per block reward = (0.04971102816 * difficulty) / (megahashes per second)
  • Average earnings per day = (megahashes per second / difficulty) * 20.11626066 * block reward

Usage example: average days per block find at difficulty 1 using 7.158388 mHash/s:
0.04971102816 * 1.0000 / 7.158388055 = .006944444 days = 10.000000 minutes

Usage example: average days per block find at current difficulty 6978842649 using 7.158388 mHash/s:
0.04971102816 * 6978842649.5924 / 7.158388 = 48464158 days = 132,691 years

-note, that mystery constant is exactly (2.0**48) / 65535 / 600.0 * (10.0/1440.0) / 1000000


Title: Re: Estimated earnings formula? [0.01BTC Bounty]
Post by: deepceleron on April 30, 2014, 06:52:57 AM
Bumping this with a bounty.
Bumping this with an answer.