Bitcoin Amazon Cluster GPU
Intro
Answer: Not as far as I can tell. Of course it’s irresistible for us technical folks to try. Here are my back-of-the-envelope calculations for my trial.
The details
A currency that’s not linked to any one government’s policies has a lot of attraction. Bitcoin is that currency, and it seems to be catching on. I knew people last year who were “mining” Bitcoins. I had no idea what they were talking about, but I could tell from what they were saying that they were trying to create more currency units. How strange and wonderful, a currency that gets minted by potentially anyone.
I learn mostly by doing, so I decided to download one of those mining programs and see what this was all about.
Well, I still haven’t learned what it’s all about because it’s more complicated than I thought, but I learned what approach not to take. And that’s what I’m sharing here.
I downloaded bfgminer for my CentOS Amazon EC2 server. That in itself was a good exercise as it needed a whole ecosystem of other packages to be installed first. On my system I found I needed ncurses-devel and libcurl-devel, which brought in other packages so that by the time they were installed I had installed all these packages:
libcurl-devel-7.19.7-35.el6 curl-7.19.7-35.el6 libidn-devel-1.18-2.el6 libcurl-7.19.7-35.el6 libssh2-1.4.2-1.el6 ncurses-static-5.7-3.20090208.el6 ncurses-devel-5.7-3.20090208.el6
It’s also designed more for a different type of computing environment. Getting it to compile was one thing, but getting it to actually run is another.
At first it found nothing to run on. So I had to recompile, this time specifying:
$ ./configure –enable-cpumining
to enable use of my virtual CPU.
It wanted a pool and URL and other things I don’t have when it starts up. I finally found a way to run it in test mode.
The results
My setup at Amazon could calculate 0.4 mega hashes per second. Doesn’t sound too bad, right? Wrong. Looking at some of the relevant numbers and doing a back-of-the-envelope calculation we have:
- total world computing power dedicated to this effort: 60, 000 Giga hashes per second
- rate of blocks being written: six per hour
- number of bitcoins in a block: 25
- value of a bitcoin: $78
From this we have:
Minimum computation required for a DIY effort to produce one block:
Effort = 10 minutes * 60 s/min * 60×10^12 hashes/s = 3.6×10^16 hashes =~ 4×10^16 hashes
So with my resources one my small instance this will take me:
time to make a block = 4×10^16 hashes/block / 0.4×10^6 hashes/s = 10^11 s
= 10^11 s * year/(π•10^7 s) =~