Bitcoin Solo Mining Adventure

Taylor Built Solutions Logo

I’ve always been interested in allowing my computer to do something while I’m not sitting at it. During my time at college that meant running Folding@Home or SETI@Home. In recent years that has turned to mining cryptocurrency. I am aware that I’m late enough to the game that trying to mine much of anything with my GPUs won’t be terribly efficient. Application Specific Integrated Circuits (ASICs) can do the mining calculations so much efficiently than GPUs that the great majority of mining is done by them these days. While I don’t intend to buy enough hardware to become a significant cryptocurrency miner I did buy several solo miners to experiment with (yes I’m aware that, like my GPUs, these devices are not powerful enough to earn a significant amount of money). In this post I’d like to go over what I bought, what I’m doing with them, and what I hope to get out of this.

What Did I Buy?

I’ve purchased two Bitaxe solo miners from SoloSatoshi. The two models I picked are:

Bitaxe Gamma Model 602 with a single Bitmain BM1370 ASIC

My reasoning for purchasing these two devices is that they are cheap and they use a fairly common microcontroller (the Espressif ESP32-S3). I figured that I could get the basics down of solo mining and pool mining and, given my recent experience with embedded programming, possibly contribute to the Bitaxe ESP-Miner project.

What Am I Doing With Them?

I’ll start this section with this disclaimer (again): I know that these are not powerful enough to guarantee hitting a Bitcoin block within any reasonable amount of time. They’re effectively permanent lottery tickets.

There are several mining methods I’m exploring with these:

  • Solo mining Digibyte (DGB) or Bitcoin Cash (BCH) to my own nodes for these cryptocurrencies
  • Hybrid pool mining Bitcoin (BTC) to Parasite Pool

Solo Mining – Hosting DGB and BCH Pools

While Bitcoin is the biggest and most stable cryptocurrency at the time of writing this post it has some downsides for this experiement. The downside for me is that there are so many people attempting to mine Bitcoin that the difficulty of finding a block is effectively out of reach for me. Smaller cryptocurrencies such as DGB or BCH have less miners active and, as such, have a much higher chance of the two Bitaxe miners I have being able to find a block. If I happen to find a block of DGB or BCH with my miners they can be traded for BTC.

Bear in mind that this “much higher chance” is still VERY LOW. I’m mostly using this as a chance to learn how mining pools work and to host my own pools for DGB and BCH. As the term “solo” mining indicates I’ll be the only one connecting to them to mine. If anyone reading this is interested I can make the pools available publicly; please let me know by reaching out or commenting.

I used TheRetroMike’s guide to setting up Umbrel, setting up their marketplace, and setting up both a DGB & BCH node along with MiningCore to act as the pool. This guide worked perfectly for me; the two nodes downloaded their blockchains, the MiningCore configuration was easy, and the two Bitaxe devices connected seamlessly and started working. The two links on DGB and BCH are to the YouTube video guides for each of these setups.

Pool Mining With Parasite

A definition of “pool” is in order at this point. A “pool” in terms of cryptocurrency mining is used with the definition of “pooling together our resources to achieve a common goal”. When someone in a mining pool finds a block the reward for finding that block will be split among all the participants in the pool commensurate with the amount of work they did toward finding the block. If, instead, you are solo mining and your miner finds a block you get the whole reward.

So, why Parasite? There are two main reasons:

  • The way that Parasite Pool divides up the reward
  • Parasite pool isn’t one of the large pools that finds most of the blocks.

Regarding the way that the block reward is divided here is a description of many of the popular ways to do so. The short version: Whenever your miner has found a possible solution for the block it sends it to the pool and the pool marks it as a “share”. Pools pay out the reward based on the number of shares that your miners have sent. Parasite is different in that it reserves 1 BTC out of the 3.125 BTC reward for the miner that actually finds the block and divides up the other 2.125 BTC between the rest of the pool based on their submitted shares. This makes Parasite something of a hybrid of solo and pool mining.

The fact that Parasite Pool is a small pool is attractive to me from an idealistic point of few. From my understanding of the way that blocks are mined the pool gathers a set of unconfirmed transactions and passes those plus some other data to the miners. From there the miners try to compute a hash that will be accepted as the identifier for the new block (reference). Many miners gravitate toward large pools because they have a better chance of finding a block and, thus, a better chance to pay. This effectively consolidates the power to control which transactions make it into the next block into these large pools. This defeats the purpose of decentralizing the control over the currency. Is this idealistic? Yes. But I would not make much money with these miners anyway which means I can afford to be idealistic.

Conclusion

I am hoping to learn a fair amount about cryptocurrency and mining through this adventure. Additionally I am looking forward to finding ways to contribute to the ESP-Miner code base that the Bitaxe miners use to advance my embedded programming skills. I would love to hear from you with questions about anything I’ve written here.

Leave a Reply

Your email address will not be published. Required fields are marked *