Environmentally Responsible Cryptocurrency!
Experiments in Low Power Cryptocurrency Mining.
December 17, 2017 (originally posted on LinkedIn Publishing)
The amount of energy spent mining Bitcoin is perverse. According to an article on Digieconomist, Bitcoin's current estimated annual energy consumption is 34 TWh. The energy spent on a single bitcoin transaction alone is enough to power 8 homes in the US for a day. Granted we may be in a momentary bubble, but the value of distributed, decentralized, computationally backed currency seems hard to dispute.
If we consider the value proposition of cryptocurrency, much like any other currency, the core value lies in facilitating value transactions. Secondary value comes from artifacts of the mining implementation and of course speculation. There's little one can do about market speculation. But Bitcoin's algorithm to incentivize mining has spawned a huge business by itself. And likely the worst side effect is a huge energy expenditure.
There are various strategies other crypto currencies aim to combat this. Bitcoin Gold uses an algorithm difficult to embed in custom hardware due to high memory requirements. Litecoin uses an alternative algorithm scrypt for proof of work which is also more costly to use in hardware. Coin MAGI is designed specifically to reduce energy consumption. Since the long term value of any currency is primarily driven by stability, supply and demand, the market can adjust to a currency that best represents the desires of the market.
For people who want to participate in the cryptocurrency market, I suggest an energy efficient currency such as MAGI might be an environmentally responsible solution. I've started looking into the possibility of a carbon neutral mining solution based on a low(ish) power computer utilizing solar power. The medium term goal is to make a system that is self powered and can potentially pay for itself within a year of operation. The end goal for systems like this should be a cryptocurrency tuned such that the mining rewards generate just enough revenue to cover the cost of self-sufficient hardware. The eventual reward would be a cryptocurrency that exists simply to be economical, self sufficient, and of course provide the existing benefits of non-centralized, distributed and open exchange of currency.
Prototyping
The computational foundation of the v1 prototype is a Raspberry Pi Zero W. This provides a good combination of:
- Low(ish) Cost: 10$ (+$5 for 8GB uSD card)
- Low(ish) Power Consumption: under ~500ma max
- Good general purpose computing (1 core, 1Ghz, 512MB Ram, SDCard storage) with WiFi built in.
This system is not going to be able to mine at any astounding rate. But if utilizing something like MAGI, the theory is raw speed should not matter as much. We want a cryptocurrency that gives rewards for consistent energy efficient participation.
For power, the following are utilized:
- One 3.5W 6v 600ma polycrystalline solar panel ($10)
- One Adafruit Solar Charger ($18)
- One Adafruit Powerboost 1000 Basic DC/DC Boost Converter ($15)
- One 3.7v 1800mAh LiPo battery ($9)
- (You'll also notice a Pimoroni Pi Zero W USB Stem there (~$5) It's non-essential. But super convenient!)
The idea is that the system charges the battery as well as having the ability to directly power the pi. With this current setup, the battery is too small to run the system continuously overnight even if the panel provides enough energy to power both the pi as well as completely charge the battery. Eventually we'll figure out a footprint that can run overnight.
At a total cost of $67, it's not exactly cheap. But as far as prototyping goes, not too bad. With a custom system, single pcb, and bulk pricing, a similar integrated unit could perhaps cost as little as $25 or $30.
Initial Observations
The system seems fairly reliable. I've RDP'd in and it has kept a solid connection. But it's not doing any real work yet.
Next Steps
- I've begun working on compiling the Coin MAGI software for RPi. We'll see how that goes. Hopefully it will be able to mine soon.
- The system currently has nothing integrated for handling a low power. The Powerboost 1000 has an LBO pin to notify of a low battery condition. I'll hook that up to a GPIO pin on the Pi and write a python program to monitor it and gracefully shutdown when power gets low. But I'm unsure if this can be done directly as the voltage requirements may be different between the Pi and the Powerboost. Also, others have had mixed results.
- It might be interesting to have the system be able to monitor its own voltage. Adafruit has a breakout board for a INA219 just for such a task. It might be cool to do it both on the battery as well as solar panel inputs. It uses I2C, so a little Python program to monitor those voltages to write to a log file or post of a server somewhere might be pretty sweet.
- There is one medium size concern. How will the system behave when battery power is exhausted and the panel starts charging things up? If voltage ramps up slowly, will the system be able to handle that transition? What if when it turns on, the startup causes the voltage to drop too much and not be able to sustain boot power requirements? Someone probably has a good idea, but I guess I'll just experiment and see how things go.
You can find the next article in the series here: Environmentally Responsible Cryptocurrency - Part 2


Comments
Post a Comment