Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: fergalish on November 24, 2010, 07:56:46 PM



Title: Bad probabilistic news for small-time miners
Post by: fergalish on November 24, 2010, 07:56:46 PM
Hiya folks, I've done a bit of calculation and there's bad news.  If you're still generating on your CPU, you'll probably never get to generate another block.  I have 26Mhps, and there's a 6.5% chance that I'll never get to generate a block again.  And, of course, as the difficulty increases, it's gonna get worse.  See the attached pdf for details.  The bones is that you calculate the probability of generating in each window of difficulty adjustments.  Since the difficulty is exponentially increasing, your chances of getting blocks are exponentially decreasing.

For those who don't want to read the details, the bottom line is:
1. The expected number of blocks you can generate is about 0.0007 h/D, where h is your hashes-per-second, and D is the difficulty (currently 6867).
2. The probability that you'll never ever generate another block is about exp(-0.0007 h/D).

The calculation relies on some assumptions, one of which is certainly flawed.  But maybe not so flawed as to materially affect the conclusion.  Who can spot the bad assumptions?

Of course, it's been clear for a long time, and it was the idea from the start, that small-timers would eventually be pushed aside.  But it's an interesting calculation anyway.


Title: Re: Bad probabilistic news for small-time miners
Post by: MoonShadow on November 24, 2010, 08:08:53 PM
The calculation relies on some assumptions, one of which is certainly flawed.  But maybe not so flawed as to materially affect the conclusion.  Who can spot the bad assumptions?


I'm going to take a guess and say the assumption that your hashes per second reported by your client is accurate.


Title: Re: Bad probabilistic news for small-time miners
Post by: grondilu on November 24, 2010, 08:13:48 PM
Hiya folks, I've done a bit of calculation and there's bad news.  If you're still generating on your CPU, you'll probably never get to generate another block.  I have 26Mhps, and there's a 6.5% chance that I'll never get to generate a block again.  And, of course, as the difficulty increases, it's gonna get worse.  See the attached pdf for details.  The bones is that you calculate the probability of generating in each window of difficulty adjustments.  Since the difficulty is exponentially increasing, your chances of getting blocks are exponentially decreasing.

Hum, thanks for that.  I'm reading it. 

One question.  When you compute \lambda_10, you obtain :

\lambda_10 = C*h/D

And you compute C = 10 * 86,400 * H_{min}/H_{max} = 0.0002 s^-1

Are you sure C is in the dimension of seconds^-1 ?     I think it's rather in seconds.

One thing you did not take into account is the fact that you will probably buy other machines in the future. 

Anyway, it's an interesting document.  Thanks again.  It should be in the wiki or something.



Title: Re: Bad probabilistic news for small-time miners
Post by: ribuck on November 24, 2010, 08:18:37 PM
An interesting piece of maths. I had already realised that the GPU card I bought will never pay back its cost. Of course if I had bought it a few weeks earlier, the story would have been different.

The main shaky assumption is that difficulty will continue to rise exponentially at the current rate. Those who have been checking Bitcoin Watch since the last difficulty increase will have noticed that the "Average blocks per hour over the past 24 hours" figure has been quite low. It's now 7.46, but I even saw it at 4.96 for a time, so the next difficulty increase will be fairly small.

As the difficulty rises, some generators will "switch off", which will reduce the next difficulty rise. Also when the next Northern Hemisphere summer comes, I think lots of generators will switch off.


Title: Re: Bad probabilistic news for small-time miners
Post by: MoonShadow on November 24, 2010, 08:21:02 PM
What does the current difficulty say about the total computational power commited to the network?  Where would the network rank in the world's most powerful (non-secret) computers list?


Title: Re: Bad probabilistic news for small-time miners
Post by: MoonShadow on November 24, 2010, 08:26:01 PM
Also when the next Northern Hemisphere summer comes, I think lots of generators will switch off.

Yes, I think that incidental co-generation accounts for much more of the network than most people realize.  If I'm right, then we will eventually be able to detect a seasonal cycle in the difficulty despite the noise.  There is a sound economic reason that there exists a major datacenter in North Face, Alaska so far away from the 'demographic' center of the Internet.


Title: Re: Bad probabilistic news for small-time miners
Post by: kiba on November 24, 2010, 08:28:28 PM
I am more concerned about how many computers does it take to overcome the network.


Title: Re: Bad probabilistic news for small-time miners
Post by: MoonShadow on November 24, 2010, 08:45:56 PM
I am more concerned about how many computers does it take to overcome the network.

Presumedly it would take at least as many than in the network itself.


Title: Re: Bad probabilistic news for small-time miners
Post by: fergalish on November 24, 2010, 09:00:08 PM
An interesting piece of maths. I had already realised that the GPU card I bought will never pay back its cost. Of course if I had bought it a few weeks earlier, the story would have been different.

The main shaky assumption is that difficulty will continue to rise exponentially at the current rate.

Exactly.  Only politicians seem to think that things can grow exponentially forever.  But bitcoin is still only attracting a tiny amount of people.  It could well grow exponentially for a while yet.  As for your graphics gard - well, consider it an investment.  The BTCs it generates now might be worth more in the future.  When I joined bitcoin, their value was well below the electricity required to generate them.  Since then, they've increased in value and are now worth more than I "paid" for them.  The bitcoins I generate now are worth less than the electricity it takes to create them now, but maybe they'll pay themselves off in the future too.

Anyway, assuming that in the slightly longer term, the difficulty does rise exponentially, just slower, simply replace \alpha and D in the equations, and correct for the longer adjustment period (not 10 days).

What does the current difficulty say about the total computational power commited to the network?  Where would the network rank in the world's most powerful (non-secret) computers list?

I was wondering about that too.  The current difficulty means that the network must be doing about 50Ghps (put that into the bitcoin calculator http://www.alloscomp.com/bitcoin/calculator.php and you get 9 minutes average).  I understand a 5970 GPU can do about 500Mhps, and it has almost 5Tflops.  Scaling that up, the entire bitcoin network is equivalent to about 100 5970 GPUs, with about 500Tflops altogether.  Half-a-petaflop!  That's one tenth of the current best supercomputer, the tianhe-1 (see wikipedia) with a peak of 5 PetaFlops.  Folding@home has about 5Pflops, BOINC about 4Pflops. (got all this from wikipedia).

Incidentally, these figures show how easily you could disrupt the bitcoin network.  Rent out Tianhe-1 for two days, in which time it would solve enough blocks to get to the next difficulty adjustment, then stop it, and blocks would be coming through 10 times slower, transactions would take a long time to clear and so on.  Then, switch it on again, switch it off again, on, off... until everybody gives up bitcoin in exasperation.  Somebody else wrote a thread about this elsewhere.

But, hey, wait a sec. Am I calculating something wrong here?  If Tianhe-1 is just 10 times as powerful as the entire bitcoin net, which is equivalent to 100 5970s, then you only need to buy 1000 5970s costing maybe US$1M to have the world's fastest supercomputer, and it would consume only about 1MW.  Damn, that's cheap.  Compare that to US$88M and 4MW for Tianhe-1.


Title: Re: Bad probabilistic news for small-time miners
Post by: kiba on November 24, 2010, 09:07:21 PM
Maybe transactions should be decoupled from mining somehow?


Title: Re: Bad probabilistic news for small-time miners
Post by: MoonShadow on November 24, 2010, 09:09:13 PM
Maybe transactions should be decoupled from mining somehow?

Wait, what?


Title: Re: Bad probabilistic news for small-time miners
Post by: grondilu on November 24, 2010, 09:11:36 PM
I think people should keep hashing anyway.

From an individual point of view, it's not very interesting.   But many small computers make a significative CPU power, so it's good from a community point of view.

Therefore I think we should keep encouraging people to mine, even if they only have small computers.


Title: Re: Bad probabilistic news for small-time miners
Post by: jimbobway on November 24, 2010, 09:13:41 PM
There must be an incentive for small miners to hash.  At the rate we are going only the top miners will continue to mine and it is possible there could only be one left.  If we reach that point the network will be controlled by that big boy miner.


Title: Re: Bad probabilistic news for small-time miners
Post by: kiba on November 24, 2010, 09:15:55 PM
There must be an incentive for small miners to hash.  At the rate we are going only the top miners will continue to mine and it is possible there could only be one left.  If we reach that point the network will be controlled by that big boy miner.

Then let brainstorm possible incentive scheme for people to mine.


Title: Re: Bad probabilistic news for small-time miners
Post by: grondilu on November 24, 2010, 09:18:37 PM
There must be an incentive for small miners to hash.  At the rate we are going only the top miners will continue to mine and it is possible there could only be one left.  If we reach that point the network will be controlled by that big boy miner.

Anyway, it wouldn't be so bad for bitcoins.  The top miners bring something valuable to the network :  a huge CPU power.  This improves the network stability and security.  It's normal that this is rewarded.


Title: Re: Bad probabilistic news for small-time miners
Post by: kiba on November 24, 2010, 09:19:31 PM
There must be an incentive for small miners to hash.  At the rate we are going only the top miners will continue to mine and it is possible there could only be one left.  If we reach that point the network will be controlled by that big boy miner.

Anyway, it wouldn't be so bad for bitcoins.  The top miners bring something valuable to the network :  a huge CPU power.  This improves the network stability and security.  It's normal that this is rewarded.


More incentives for little people to mine, the more CPU power we get.


Title: Re: Bad probabilistic news for small-time miners
Post by: grondilu on November 24, 2010, 09:21:58 PM
There must be an incentive for small miners to hash.  At the rate we are going only the top miners will continue to mine and it is possible there could only be one left.  If we reach that point the network will be controlled by that big boy miner.

Anyway, it wouldn't be so bad for bitcoins.  The top miners bring something valuable to the network :  a huge CPU power.  This improves the network stability and security.  It's normal that this is rewarded.


More incentives for little people to mine, the more CPU power we get.

Indeed.  We should write a "Why you should mine" document.  We would explain why it is important to contribute to the CPU power of the network, even if it is likely that this will not be rewarded in bitcoins.


Title: Re: Bad probabilistic news for small-time miners
Post by: fergalish on November 24, 2010, 09:24:45 PM
And you compute C = 10 * 86,400 * H_{min}/H_{max} = 0.0002 s^-1
Are you sure C is in the dimension of seconds^-1 ?     I think it's rather in seconds.
One thing you did not take into account is the fact that you will probably buy other machines in the future.  
Anyway, it's an interesting document.  Thanks again.  It should be in the wiki or something.
Umm, maybe we're both wrong.  The units of lambda_10 are (blocks-solved-per-10-days).  Since h is our (hashes-per-second) and D is dimensionless, then C must be (blocks-solved-per-hash)*(seconds-per-ten-days).  i.e. C*D just represents the ratio of H/Hmax scaled up to whatever period of time you're considering.
I may well buy other machines in the future, but that won't make it any more profitable for me to continue running the ones I have now.  I can't log in to the wiki.  Do I need to register for that separately?

There must be an incentive for small miners to hash.  At the rate we are going only the top miners will continue to mine and it is possible there could only be one left.  If we reach that point the network will be controlled by that big boy miner.
I guess that's what the distributed mining is all about - where you sign up your CPU to mine together with lots of other people.  Then the 50BTC reward for a block is shared by everyone.  You'd just have to calulate the expected bitcoins instead of expected blocks in the calculations.  But if you're rewarded bitcoins pro-rata your hashes-per-sec, the conclusion won't be much different.  If you have 6.6Mhps, you've still have just an even chance of getting 50BTC, but getting 10BTC would be a certainty.

EDIT: the distributed mining thread is here: http://bitcointalk.org/index.php?topic=1688.0


Title: Re: Bad probabilistic news for small-time miners
Post by: mpkomara on November 24, 2010, 09:28:20 PM
pro-rata mining is nice, maybe you should add a small bonus for being the block solver.  20% for the solver, the remaining 80% is shared pro rata


Title: Re: Bad probabilistic news for small-time miners
Post by: grondilu on November 24, 2010, 09:30:22 PM
I guess that's what the distributed mining is all about - where you sign up your CPU to mine together with lots of other people.  Then the 50BTC reward for a block is shared by everyone.

Agreed.  I don't see many other solutions than this one.


Title: Re: Bad probabilistic news for small-time miners
Post by: sturle on November 24, 2010, 10:06:21 PM
I understand a 5970 GPU can do about 500Mhps, and it has almost 5Tflops.  Scaling that up, the entire bitcoin network is equivalent to about 100 5970 GPUs, with about 500Tflops altogether.  Half-a-petaflop!  That's one tenth of the current best supercomputer, the tianhe-1 (see wikipedia) with a peak of 5 PetaFlops.  Folding@home has about 5Pflops, BOINC about 4Pflops. (got all this from wikipedia).
FLOPS (Floating Point Operations Per Second) is irrelevant for Bitcoin, since SHA256 is entirely done by integer arithmetic.  A Phenom II X4 does more than 7 GFLOPS, and does only 12 Mhash/s.  You should look at MIPS (Million Instructions Per Second/Meaningless Indicator of Processor Speed) numbers.  MIPS is not a very good indicator either, since a single instruction on some CPU can do the same as four on another, and there are pipeline stalls and whatnot.  A super computer may or may not be good at this.  If it is optimized for double precision floating point operations and high bandwidth between CPUs, it is probably not comparatively fast at pure integer algorithms requiring little bandwidth.

Real world performance of existing software on existing hardware is all that counts.