Skip to content

Comment on Tidbit: Client-Side Bitcoin Mining

Comments

20K hashes/client

ha, good luck with that

28nm asic miners are out and they do 600GH/sec at $4k + 1Watt/GHs

bitcoin is just about out of reach for normal people, we missed the train

I'm curious about algorithmic speed-ups to Bitcoin mining instead of hardware improvements.

I know to collect a mining reward you have to calculate a SHA256 hash of a block of transactions (or a block header -- I can't remember which) combined with a nonce. This hash must be below a certain value, and this value becomes smaller over time so that there's a lower chance of finding a nonce that satisfies the inequality.

I know mathematically, it's essentially impossible to find collisions or figure out some data that produces a particular hash, but what I wonder is whether it is possible to figure out some technique to speed up the hash calculation.

For instance, you have SHA256(nonce1 + block data). That doesn't work, so you try a new nonce: SHA256(nonce2 + block data). It seems to me that because there is a lot of redundant initial data used within the calculation (same block data every time) that there might be a way to exploit this and speed up the calculation of all future attempts. If this was this case, you'd have a huge advantage over all the people starting each new calculation from scratch.

Another option would be to figure out a way to compute SHA256 more quickly than is currently done. I know there's incremental speed-up techniques that are figured out from time to time, but what are the chances of discovering a vast speed-up?

Any cryptographers here? What is the feasibility of either of these options?

The obvious improvements have been done a long time ago (there are tens of millions of dollars to be gained here), and the current state of the art continues to spend tremendous effort pushing out every incremental gain they can. Most of the innovation is done in hardware implementations at the moment, because if you're running a software algorithm to find the hash you've already lost.

Solving a SHA256 hash for a particular value would require breaking the hash in some currently unknown way. However, looking at how past hash algorithms have fared, it seems likely this will eventually happen.

Already done, pretty much from day one (It's called 'midstate' if you want to google it).

To my knowledge, all the possible algorithmic optimizations have been developed and implemented since 2010 or 2011. Once you have as minimal a SHA256 implementation as possible, combined with retaining parts of the state for further calculation (as you describe), you can't really make it much faster in terms of software.

I believe the only optimization efforts possible beyond this point will be better utilization of GPU drivers (or maybe custom GPU drivers?), as well as designing new hardware.

I'm only casually familiar with ASIC mining, but I do recall hearing that the best position to be in is selling tools to the miners. Still, I'm curious; how much would you have to invest into modern mining hardware in order to see a return on investment? I'm going to assume you either need a lot of these or have to join a pool.

Is this a game only playable by those with tens or hundreds of thousands of dollars?

The biggest problem with ASIC miners that I see is that they do not ship until "a few months". With the mining difficulty growing exponentially [1], the hardware you buy now will be relatively obsolete in a few months. For example by buying the latest 600GH/s from Butterfly labs[2] at 4500$, you'd break even in about a month according to the acula mining calculator[3].

The problem is that your card will arrive in January. In 2 months, if the bitcoin difficulty keeps growning at a steady pace (which is improbably, it probably keep growing exponentially), the break-even will be closer to 2 months. While you will probably keep making a few hundred of dollars after the break-even point, your chances to "double up" your initial 4500$ investments are close to zero. I have no idea about the profit marging ButterflyLabs make on those cards, but I'd bet it's larger than "a few hundred of dollars". That's why the mining gear business is probably more profitable than the mining business itself.

Of course this doesn't stop Butterfly Labs from having large farms of those cards...

[1] http://bitcoindifficulty.com/

[2] http://www.butterflylabs.com/monarch/

[3] http://www.alcula.com/calculators/finance/bitcoin-mining/

KNC is already shipping a 28nm 550GH/sec miner for $5k

There are people already using them and more next month.

Butterflylabs will be out early next year.

Butterflylabs is notorious for delivering many months late.

All the ASIC miners are notorious for delivering many months late.

If a thousand ASICs are profitable then one ASIC should also be profitable. The problem today is not scale but finding any profitable ASIC.

Assuming your payoff for that 4k is 3 months ignoring energy costs...

600 * 1000 * 60 * 60 * 24 * 30 * 3 / 4000 = 1166400000 thousand hashes per dollar. If the average person spent 60 at 20,000 Hashes seconds on your site you would need 972,000 people to connect to make a dollar... ouch.

And more hashing power is coming online all the time. Here's a link to long-term plots of the difficulty and reward for Bitcoin mining: http://www.blockchained.com/chart_large_log.png

If you don't already have hardware in your hands it is unlikely to be profitable.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.