What’s Chia, And Why Is It Eating All The Hard Drives?

At this point the average Hackaday reader is likely familiar with so-called “Proof of Work” (PoW) cryptocurrencies, such as Bitcoin, Ethereum, and Dogecoin. In the most basic of terms, these cryptocurrencies allow users to earn money by devoting computational power to the network. Unfortunately, it’s well past the point where your standard desktop CPU is moving enough bits to earn anything worthwhile. Individuals looking to turn a profit have therefore resorted to constructing arrays of high-end graphics cards for the express purpose of “mining” their cryptocurrency of choice.

These miners, combined with ongoing chip shortages, have ravaged the GPU market. Anyone who’s looked at building or upgrading a computer recently will know that new video cards are in short supply, and even old models that would otherwise be considered budget options, are commanding outrageous prices. In an effort to appease their core customers, NVIDIA has even introduced cryptocurrency-specific cards that lack video output. The hope was that professional miners would buy these Cryptocurrency Mining Processors (CMPs) instead of the traditional video cards, freeing up the latter for purchase by gamers. But due to the limited availability and relatively high cost of CMPs, they’ve done little to improve the situation.

Now if you don’t use your computer for gaming, this probably seems like a distant problem. You could even be forgiven for thinking of this as little more than two largely frivolous pursuits at loggerheads with each other. After all, in a community that still holds decades-old Thinkpads as the high water mark in portable computing, a certain ambivalence about cutting edge video cards is perhaps to be expected.

But there’s a new form of cryptocurrency on the rise which threatens more than just the hardcore gamers. With “Proof of Space” (PoS) cryptocurrencies, it’s not about having the fastest CPU or the highest number of GPUs; the commodity being traded is storage space, and the player with the most hard drives wins.

Continue reading “What’s Chia, And Why Is It Eating All The Hard Drives?”

Compiling NodeMCU For The ESP32 With Support For Public-Private Key Encryption

When I began programming microcontrollers in 2003, I had picked up the Atmel STK-500 and learned assembler for their ATtiny and ATmega lines. At the time I thought it was great – the emulator and development boards were good, and I could add a microcontroller permanently to a project for a dollar. Then the ESP8266 came out.

I was pretty blown away by its features, switched platforms, except for timing-sensitive applications, and it’s been my chip of choice for a few years. A short while ago, a friend gave me an ESP32, the much faster, dual core version of the ESP8266. As I rarely used much of the computing power on the ESP8266, none of the features looked like game changers, and it remained a ‘desk ornament’ for a while.

About seven weeks ago, support for the libSodium Elliptic Curve Cryptography library was added. Cryptography is not the strongest feature of IoT devices, and some of the methods I’ve used on the ESP8266 were less than ideal. Being able to more easily perform public-private key encryption would be enough for me to consider switching hardware for some projects.

However, my preferred automated build tool for NodeMCU wasn’t available on the ESP32 yet. Compiling the firmware was required – this turned out to be a surprisingly user-friendly experience, so I thought I’d share it with you. If I had known it would be so quick, this chip wouldn’t have sat on my desk unused quite so long!  Continue reading “Compiling NodeMCU For The ESP32 With Support For Public-Private Key Encryption”