general thoughts on Bitcoin, and building a pc or cluster to generate them.

I have been active in the Bitcoin scene since it was publicly announced, i have 250 bitcoins (if i can retrieve my wallet), and i am as large of a supporter of bitcoin as i can be but i am not here to debate whether Bitcoin is even worth supporting. Though, I am not adverse to hearing your thoughts on BitCoin.

actually, i have to remake the post, as i just found out the desktop i was reserving to use for generating btc's has died. so now it's focused on building a system to generate btc. i ask in here, because this is not to far removed from the distributed computing work you are already doing, so it shouldn't be a far throw to think that you all would have some ideas on how to best approach the issue.

i'd like to use an os that is lite and easy to configure/install that will allow for giving all available power to the bt daemon, i had heard that gentoo was the distro for the job. any thoughts?

heh, it seems that since i took a little while off, there have been some advancements like using the GPU instead of the CPU and such. i am going to have to dig back into the BT forums, but while i do that i'd like to hear what you all think.

Do the bitcoins actually make up for the money you spend on electricity? The idea of a digital currency is interesting, but if it's just computing nonsense to benchmark the user's contribution, then it seems like a waste of energy.

Your post honestly sounds like it might fit better in MSOS&SC or PS if you want to think about porting it to GPUs...

It has already been ported to GPUs, which are much faster and more efficient than CPUs for bitcoin hashing.

Soriak wrote:

Do the bitcoins actually make up for the money you spend on electricity? The idea of a digital currency is interesting, but if it's just computing nonsense to benchmark the user's contribution, then it seems like a waste of energy.

Yes. For example, an ATI 5870 can currently generate about 2.23 BTC a day, which is currently worth about $16.77 at the latest rates. Using a CPU however is probably not profitable anymore.

Unfortunately the way ATI cards are designed vs Nvidia means that ATI cards are much better at bitcoin mining.

However, I'm guessing that your GPU is still profitable (at current rates... mining difficulty and bitcoin value are very volatile.) Also depends on your electricity prices.

Just to let you know, you could expect to earn about 0.34 BTC per day with that GPU, or $2.72. Source: https://en.bitcoin.it/wiki/Mining_hardware_comparison which shows 53.35 mhash/sec, vs, for example, an ATI 5870 at ~360 mhash/sec.) This is still MUCH better than CPUs.

There are also differences in mining clients that one might use between Nvidia and ATI, so I'm not a good authority on Nvidia clients. Your best bet is the mining forums I linked to I suppose.

If you want a "quick" tryout (probably not optimized for your config) you could do the following:Get the GUI miner here:http://www.bitcoin.org/smf/index.php?topic=3878.0Make an account at this mining pool: http://mining.bitcoin.cz/ Set it up to use your bitcoin payment address, set up a "worker".Follow examples to use the GUIMiner to mine for "slush's pool".It is possible you need new video drivers, or special OpenCL or CUDA software to see your device in the GUIMiner.

This setup uses a mining pool to pool resources. This is because bitcoin "mining" is basically a luck of the draw based on your processing power and network difficulty. Mining actually means looking for the solution to a block, which if you find, generates 50 BTC for you. However the average time to find a block at 53.35 mhash is: 20 weeks, 6 days, 6 hours, 35 minutes, and 38 seconds. Therefore, you mine in a pool to get smaller, steadier payouts. There are many different pools out there.

Thanks a lot for your help. I set it up and seem to be crunching about 56 Mhas/s. Given that I currently use my GPU for distributed computing, even ~$70/month is nice - would pay for electricity to do my CPU crunching (and replace my GPU for something a little faster before too long). I see there are other mining pools, some of which charge no maintenance fee. Is there any particular advantage to this one?

No, it is just a reliable one that has been around a long time. It also has auto-config setup in the GUI Miner.

My favorite pool is a new one, http://www.btcguild.com/. It has 0% fee with optional donation. It is fairly new though and newer pools tend to have stability issues. Slush's pool had issues too but I think they are resolved.

One more question: how do I change the transaction fee that my client sends? It seems to be set at 0.01 BTC and from what I gather, there's no real reason to pay a fee at this time - all transactions get included anyway.

In file menu at the top you can go to Settings->Options, then you should see the 0.01 that you can change to 0.00 and hit OK.

It was set to 0.00. I ended up sending 1 BTC to myself (which didn't prompt me to pay a fee) and, after waiting for 100+ confirmations, I was able to send it with no fee. The problem must have been that I got the 1 BTC through 3 different incoming transactions.

I just saw the Slate article on Bitcoins today that got me introduced to everything.

I haven't done any distributed computing in the past, so I'm curious about the load on the GPU. Does it peg the GPU at 100% use so any games/videos would be unplayable, or can you multitask with both running?

I followed BurningToad's guide from a few posts up and have been crunching at around 70 Mhash/sec for the last few hours, using a comp with a Radeon 4890. Thanks BT for the easy to follow guide... my only hiccup came when logging into the Miner, I used WorkerName / WorkerPass instead of AccountName.WorkerName / WorkerPass.

Edit: Thought I should answer my own question from 2 posts back. Yes, even with the flag set to -s0.01 it still uses up enough of the GPU to cause video or games to lag and or be unplayable. With no flags set the GPU was pegged at 100% and heating up rapidly (got to 84C before I turned off the mining and set the flag). I'm sure I could fiddle with the setting until it worked, but I'm fine with just having it turned off while I'm actively using the computer, then resuming mining once I'm done.

Ah, I see. You can into the "spam" limit on the client. It tries to prevent people sending/receiving lots of small transactions quickly, so it mandates a fee if you want to do that.

I see! I also realized I can send money from the BTC Guild directly to Mt Gox (which is the best place I could find so far to exchange BTC to USD) and avoid that problem entirely. The same doesn't seem to be possible for slush's pool, though, because it automatically sends payments and the Mt Gox address is only activated temporarily. Nonetheless, I'll just have the latter send me the payments once it reaches 1 BTC and forward that myself.

For the GUI miner, I picked -f 80 for slush's pool. That seems to make it run as a backup program, picking up the steam if BTC Guild cannot be reached. Very cool...

continuum wrote:

Video is pretty low stress but I imagine unless the client has a priority detection, it would render games pretty much unplayable. I actually don't know.

I played a game earlier today with the miner running - worked fine. Although I did notice performance was a bit worse, though that may also have been because I forgot to shut off BOINC.

Yeah, for the GUIMiner you can use the "-f ###" command line to play with the priority. I usually use "-f 120" when I'm using my desktop, which really minimizes any video lag. Though if I play a 3D game I just turn mining off.

Also like Soriak said, with GUIMiner you could run against two pools at once. Set one at "-f 80" and one at "-f 120" and then you have a backup in case one pool goes down.

I've recently been using the BTCMine pool myself. BTC Guild was nice, but it still has too many stability issues due to its fast growth. Maybe once he upgrades the server this weekend I can switch back.

MTGox/Dwolla is the best way to move money into or out of Bitcoins. Only real alternative is the IRC bitcoin-otc stuff for using paypal or other payment methods.

Mining difficulty is about to jump about 75%. So if you are generating 1 BTC per day now, you will soon only be generating 0.57 BTC per day.

Yep. The basic idea is that the network has a target of solving 6 blocks per hour. Every 2016 blocks, the network recalculates a new difficulty based on the average rate over the previous 2016 blocks. For example, if the network actually solved 12 blocks every hour instead of 6, the difficulty would double.

This website also has a difficulty estimator at the top: http://bitcoincharts.com/markets/ However, it is a very simple algorithm. For example since we just changed difficulty 15 blocks ago, it is only using a 15 block average to calculate the next difficulty. That first linked chart is more useful, and we can see that the next difficulty will probably be at least 600,000.

Reddit created it's own pool at http://mtred.com/ More pools is better for the network as it prevents certain attacks on the block chain. The disadvantage is that payouts will come slower for participants in the pool.

Slush's pool and BTCGuild are both good. However at the current moment all 3 major pools are having issues. Deepbit and Slush went down for a bit, and deepbit is still having issues, which is causing BTCGuild to overload from migrants :0

Really the whole pool "system" needs some major work. Some changes need to be made to allow everyone to "solo" mine, but still share/pool the block rewards.

Anyways, I have actually been working on getting a pool up. I'll post here if I get something working.

The highly beta/experimental/who-knows-how-stable-or-secure version one of the Ars Bitcoin pool is now up!Check it out here: http://arsbitcoin.com/

You would point your miners to host: arsbitcoin.com port: 8344

If you have any issues feel free to PM me. Also don't feel obligated to mine! I know the pool isn't in great shape yet. I do have a little bit of a track record for hosting Ars services (if you aren't sure to trust me.) I hosted the Ars MineCraft servers for quite a while in the beginning.

Stats are on a kind of rolling update every 5 minutes.

It is currently running at approx: 1.1 Ghash/sec. This is all of my mining power pointed at it. At this rate, the pool will find a block, on average, every 3 weeks, 4 days, 15 hours, and 20 minutes. This is before the next difficulty increase that will hit in about 8 hours. This probably means that we won't find a block for a really long time, which means you won't get paid for a really long time. We either need to get really lucky, or get more miners! The expected value of mining at the pool should be equal to other pools... we just need more time to average out There is currently a .01% fee on the pool, plus you can change donation % in the account settings.

If we get lucky and find a block I will certainly ensure that you are paid fairly. It is using the standard proportional share payout model. It should be automatic, but it is not tested.

Once again, be wary of this pool. It is barely tested and probably not very secure. Account passwords use hash/salt and such but this is all open source software that I have just barely tweaked to get working.

If you just want to try pointing your miner at the pool for a bit without creating an account, I created a special worker under my account for that. Use workername: BurningToad.community pass: community

I would like to do more development and actually try and create a quality pool. That may mean starting over with different front/back end or creating my own. If you do mine for the pool I will be sure any shares/rewards carry over to any subsequent versions. It will take me some time though as I don't have a lot to spare this week.

I feel a little more confident about the pool now I looked into some security issues and I don't think anything too bad can happen. The worst case is probably someone trying to gain access to your account to change payout address, but not too worried about that at the moment. Second problem could be someone attacking the database, so I'm backing it up hourly at the moment. I will improve things as time goes on.

There are also plenty of performance improvements that can be made, but I'm sure we will be fine for quite a while (especially if I continue to be the only miner .)

Eventually I would like to improve things to the point of opening up the pool to the public (which just equates to advertising.) Pools need a certain critical mass so that blocks are generated at a fairly steady rate instead of waiting weeks

If you let me know a specific operating system or GPU I could give you some better directions.

For the laziness in me:1) Windows 7, i7 CPU and Nvidia GPUs2) Ubuntu Linux, i7 CPU (and other slower) and Nvidia GPUsIs there a way to run Linux + AMD (ATI) GPU, or only Windows? If yes, Linux + AMD, if not, Windows XP + AMDAnything for OSX?

I am curious about this, so I'll try to get something pointed at your pool within the next week.

Don't have time for a long response right now, but you could consider looking into mining with the NVidia GPUs and the ATI GPU. Yes, you can use Linux, and you will generally get better performance that way compared to Windows. You probably want to avoid mining with CPUs unless you have free electricity, as they are not very efficient. This link will show you how fast different hardware can hash: https://en.bitcoin.it/wiki/Mining_hardware_comparison

For Windows, try out the GUI Mining client: http://forum.bitcoin.org/?topic=3878.0Go ahead and download it and see what kind of devices show up in the list. If nothing shows up, you may need to get Nvidia OpenCL drivers or ATI Stream SDK.To use it you would need to create an account at the pool and then there is a screenshot to help you configure it: http://arsbitcoin.com/gettingstarted.php

Removing all my current shares to help encourage others to join This means a higher reward for you when we eventually find a block! Looks like someone joined last night. Thanks for helping me try it out!

Don't have time for a long response right now, but you could consider looking into mining with the NVidia GPUs and the ATI GPU. Yes, you can use Linux, and you will generally get better performance that way compared to Windows. You probably want to avoid mining with CPUs unless you have free electricity, as they are not very efficient. This link will show you how fast different hardware can hash: https://en.bitcoin.it/wiki/Mining_hardware_comparison

Removing all my current shares to help encourage others to join This means a higher reward for you when we eventually find a block! Looks like someone joined last night. Thanks for helping me try it out!

I put my i5 on it last night as a starter test. (It's only good for about 15.2Mh/s, so it's nothing huge.) I'm reluctant to throw too much power at it unless we can get the average block time within a difficulty window, at least. (Though I only have an additional ~513Mh/s.)

Removing all my current shares to help encourage others to join This means a higher reward for you when we eventually find a block! Looks like someone joined last night. Thanks for helping me try it out!

I put my i5 on it last night as a starter test. (It's only good for about 15.2Mh/s, so it's nothing huge.) I'm reluctant to throw too much power at it unless we can get the average block time within a difficulty window, at least. (Though I only have an additional ~513Mh/s.)

Recently, difficulty has been going about about every 10 days. At the current difficulty, a hash rate of 4350Mhash/s will solve a block (on average) every 10 days. Really, I'd prefer there be a 95% chance of solving a block within that 10 day window, but that'd need a higher rate of 13000Mhash.

If the difficulty were more stable, it wouldn't matter at all in the long run, but since it keeps increasing so quickly, being unable to solve blocks relatively quickly does cause a disadvantage. You can read https://en.bitcoin.it/wiki/Why_pooled_mining for the reason why (not that I've personally verified the math).

CUclimber wrote:

I'm trying to set this up, but my mining program (GUIMiner in Windows) keeps giving an error saying "Problems communicating with bitcoin RPC".