Post
Topic
Board Development & Technical Discussion
Re: Estimated earnings formula? [0.02BTC Bounty]
by
deepceleron
on 22/04/2014, 05:39:11 UTC
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