Mine Bitcoin With An ESP8266

With all the hype surrounding cryptocurrencies and the current high not quite so high but still pretty eye-watering price of Bitcoin, there are some things which might once have been pure folly that could now be deemed worthy of pursuit. There is an excavation mission being considered to unearth a hard drive containing an early Bitcoin wallet in a Welsh landfill, for instance. But a more approachable task for you may be the possibility of mining using minimal hardware.

Take [Merlot Machina]’s project for example, implementing a Bitcoin miner on an ESP8266. Part of this is the timeless pursuit of answering the joke question: “Will it mine Bitcoin”, and the other part is looking at this like a lottery ticket. Is it a worthwhile punt at a prize for a minimal investment?

He gives us a rundown of some of the statistics involved, and comes away with the conclusion that it is something like a not-very-good lottery ticket. The ESP performs 1200 hashes per second while the entire Bitcoin community manages about 1.2 exahashes per second. This he calculates gives him a 1 in 1016 chance of mining a block every ten minutes, which for the tiny cost of an ESP and its relatively frugal power budget is a chance he sees as worth taking.

So far he has implemented the hashing algorithm and verified it against a known hash on an already-mined block. At this point though he’s hit a roadblock in the need to run Bitcoin core on a server to keep the ESP supplied with new block headers, so the ESP miner remains a proof of concept. The write-up is still an interesting read though, and given that many readers will have a few spare ESP boards it’s possible that one of you may take it to the next level and Win It Big. If that’s you, you’ll be able to sit on your private island sipping a cool drink, and laugh at the commenters who said it would never happen. Meanwhile here at Hackaday we’ll stick to tried-and-trusted revenue generation strategies, such as bringing you the latest hardware hacks.

This might seem a peculiarly slow miner, but it’s not the slowest we’ve seen by any means. The ever-prolific [Ken Shirriff] has tried it on an IBM 1401 mainframe and a Xerox Alto, and you can of course do it the old-fashioned way.

Mining Bitcoins with Pencil and Paper

Right now there are thousands of computers connected to the Internet, dutifully calculating SHA-256 hashes and sending their results to other peers on the Bitcoin network. There’s a tremendous amount of computing power in this network, but [Ken] is doing it with a pencil and paper. Doing the math by hand isn’t exactly hard, but it does take an extraordinary amount of time; [Ken] can calculate about two-thirds of a hash per day.

The SHA-256 hash function used for Bitcoin isn’t really that hard to work out by hand. The problem, though, is that it takes a 64 byte value, sends it through an algorithm, and repeats that sixty-four times. There are a few 32-bit additions, but the rest of the work is just choosing the majority value in a set of three bits, rotating bits, and performing a mod 2.

Completing one round of a SHA-256 hash took [Ken] sixteen minutes and forty-five seconds. There are sixty-four steps in calculating the hash, this means a single hash would take about 18 hours to complete. Since Bitcoin uses a double SHA-256 algorithm, doing the calculations on a complete bitcoin block and submitting them to the network manually would take the better part of two days. If you’re only doing this as your daily 9-5, this is an entire weeks worth of work.

Just for fun, [Ken] tried to figure out how energy-efficient the bitcoin mining rig stored in his skull is. He can’t live on electricity, but donuts are a cheap source of calories, at about $0.23 per 200 kcalories. Assuming a metabolic rate of 1500 kcal/day, this means his energy cost is about 67 quadrillion times that of an ASIC miner.

Video below.

Continue reading “Mining Bitcoins with Pencil and Paper”