Author

Topic: Estimated earnings formula? [0.02BTC Bounty] (Read 1146 times)

legendary
Activity: 1512
Merit: 1036
April 30, 2014, 01:52:57 AM
#9
Bumping this with a bounty.
Bumping this with an answer.
legendary
Activity: 1512
Merit: 1036
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
legendary
Activity: 1512
Merit: 1036
Here's the current bitcoin difficulty: 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:



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
sr. member
Activity: 364
Merit: 250
Is this closed?
legendary
Activity: 966
Merit: 1000
In holiday we trust
A = Difficulty  B = Mhash/s  C = Reward

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

1NYaBPmrUjGZ5WA7iiPkDGcd7EBZKNTECW
legendary
Activity: 1862
Merit: 1014
Reverse engineer from time to time
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?
legendary
Activity: 1358
Merit: 1003
Designer - Developer
Hashrate x difficulty / time per share = estimated time till block

1KNyWqU6KnMQjuEo2rHYUgruijVXrWBXyr
legendary
Activity: 1862
Merit: 1014
Reverse engineer from time to time
Bumping this with a bounty.
legendary
Activity: 1862
Merit: 1014
Reverse engineer from time to time
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).
Jump to: