How Small Solo Miners Solve Bitcoin Blocks
Not one, nor two, but three small bitcoin miners were able to find valid block hashes and add new blocks to the Bitcoin blockchain while mining solo in a two-week span last month, a string of events with such small odds of happening that many in the Bitcoin community were left wondering how it could even be possible.
Bitcoin Magazine talked with Con Kolivas, the creator and administrator of Solo CK Pool, a bitcoin mining pool software project geared toward workers interested in mining solo rather than contributing their hash rate into a pool, which all three of the lucky miners were using. Despite widespread belief that Solo CK Pool must be special to have been a central part of such a phenomenon, the reactions to these successful mining events have shown that there are clearly still some misconceptions about bitcoin mining.
“People think that this small miner should not have solved the block,” Kolivas told Bitcoin Magazine. “People think that was impossible, that there’s something wrong with Bitcoin, or that proof of work is broken or there’s a back door. And this is completely, utterly wrong. There isn’t something wrong with Bitcoin when it happens. It’s perfectly normal, it’s just unlikely.”
You Just Need A Single Hash
The first misconception that many hold about Bitcoin mining relates to the process of adding a new block to the Bitcoin blockchain and its relation to hash rate capacity of the network and of the miners. Despite a common belief, bitcoin mining is not about solving complex mathematical puzzles and it doesn’t take a huge amount of hash rate capacity to find a valid hash, as such a puzzle doesn’t require a flagship computer to solve and it only takes one hash to add a block.
“Mining involves just a single hash,” Kolivas said. “The first thing people don’t understand is that it doesn’t really matter how much hash power you’ve got. If you’re lucky enough, you just need one hash and you can solve a block.”
In essence, bitcoin mining is about finding a hash that is below a threshold set by the Bitcoin network, called difficulty. But even though hashing is easy, finding a valid hash — one that fits the “valid boundary” — is difficult, and therein lies the need for an ever bigger amount of hash rate capacity, as the more hashes you can perform per second, the greater the odds that you will find a hash that is accepted by the network.
Having more hash rate increases the chances that you will be the lucky miner adding the next block to Bitcoin and receiving the corresponding block reward in the coinbase transaction; but it is not deterministic, meaning that it doesn’t guarantee that you will, in fact, be the miner to do so. The three small miners that recently found valid hashes illustrate this concept, as they beat the odds and took home over $200,000 in bitcoin each.
The mental deconstruction needed to acknowledge the possibility of having small miners solve a block stems from a common narrative employed to describe the activity. Again, the “mathematical puzzle” is not difficult, and bitcoin mining can be more accurately thought of as a lottery, as each block only has one hash, and therefore it only takes one hash to solve it. You just need to be the first to find a valid hash.
The need to grow hash rate capacity by increasing the number of miners working for you relates to the necessity of bumping the odds that you will find more blocks, which in turn increases your revenue. If bitcoin mining is taken as a professional activity, then naturally it is in the best interest of that miner to increase their hash rate as much as possible, so as to increase the likelihood of increasing their revenue. Probabilistically, the more hash rate one has, the more likely they are to solve the next block.
The fact that bitcoin mining is stochastic in nature ensures that any miner can solve a block, granting equal rights of participation to all of those involved. But there are no limits in the amount of hashes each miner can do per second to increase their odds. Over time, however, it holds true that the more hash rate a miner has, the more blocks they solve. But the takeaway is that there are no guarantees; a huge miner could solve three blocks in a row or spend a long time without solving a single block, the same way a small miner could hit the jackpot and solve a block while mining solo.
“You could do it theoretically by hand, with a piece of paper and a pen, and work it out and you’d still solve a block,” Kolivas told Bitcoin Magazine. “So, whether you can or can’t solve a block has nothing to do with the amount of hash rate that you’ve got. People believe that you need a powerful enough ASIC to actually solve a block, and that’s not true. Basically, the more hash rate you’ve got, the more likely you are to solve a block, but even the smallest miner can solve it.”
“When you’ve got something like an S19, which is the current generation fastest miner you can buy commercially, it consists of millions of tiny little miners itself,” Kolivas added. “So, ultimately, when you solve a block with an S19, you’re actually just solving it with just one hash again, from one chip, within a vast array of millions of other chips, over millions of other hash units.”
A Spotlight Pool
Another part of the reason the Solo CK Pool miners solving blocks by themselves got a lot of attention had to do with Kolivas sharing which actual miner found that one hash, something not common for other mining pools which share rewards according to each member’s hash rate contribution to the total pool’s hash rate. In a pool, it doesn’t matter which miner found the block — the payout is shared between all miners that contributed work and proportionately to the amount of work contributed — so that “lucky” miner that found the one hash hardly ever gets the spotlight.
When a pool solves a block, Kolivas explained, “it might end up being an absolute miniscule miner that solves it — it could be one person that’s connected to the pool with a USB stick, which [can do about] 300 gigahashes [GH] [per second] now. But they’d never know that they were actually the ones that solved that block unless they monitored their mining software themselves; all they would get is an absolutely miniscule reward from the pool, because as far as the pool is concerned, they only contributed 300 GH to the pool’s say, one exahash.”
Since one could mine for months or years without finding one single block, pooled mining is a way to smooth out the variance in finding blocks and getting rewards as a pool on average solves more blocks than a single miner, unless of course the miner has more hashrate than the entire pool.
Therefore, joining a pool provides the miner with a steady revenue stream, reducing risks. On the other hand, the case for mining solo is that if the miner does get lucky and finds a block, they will get the entire block reward for themselves, which might pay off the entire period before that when they didn’t get one single penny. But again, there are no guarantees.
“My CK Pool is really a solo mining service,” Kolivas said. “It’s not really a pool because it’s just where a whole lot of people are pooled together mining but they don’t share the reward.”
The reason people choose to join the Solo CK Pool is because they can leverage Kolivas’ server infrastructure for a 2% fee, which guarantees good-enough network performance — something critical for timely block propagation. If a miner solves a block but takes a few seconds to propagate their solution, they risk having another miner propagate theirs first, which would lead to an orphaned block and zero rewards for the first miner. So, the downside of running CK Pool software as a solo mining node, in-between your Bitcoin Core node and your ASIC, is that it would also require that you set up your own server infrastructure, which a lot of people can’t do, and even those who can might find it easier to just pay the fee for a guaranteed uptime.
Kolivas said his pool has solved over 260 blocks, about half of which have been solved by small miners, with only one or up to ten ASICs at home. The other half, he said, have been solved by people doing what’s called a “group rental” to increase their chances a bit.
“Like a lottery, where you buy bulk tickets, they rent hash rate,” Kolivas told Bitcoin Magazine. “So, at home they might be running one petahash [PH], which would take about ten S19 miners. These people would pool in and they would rent hash rate at a price premium compared to owning the hash rate themselves, but it would allow them to get 20, 50 PH to increase their chances.”
In fact, the third solo miner to solve a block earlier this month had been renting out hash rate to increase their chances the week before, averaging about 86 terahashes per second (TH/s). But at the time they were mining when they solved that block, the rental had actually stopped and they were mining only with nine USB sticks, outputting about 8.3 TH/s.
“But that does do a disservice to everyone because it makes it look like anyone can solve a block solo,” Kolivas said. “And the answer is, you can, but it ignores the fact that there are 2,000 other miners that have been doing it for one, two, three years and have never gotten any reward at all. All they’re doing is paying electricity bills, and they also paid the upfront costs to buy the mining hardware.”
“So, it’s not like I actually try and encourage people to mine solo, but you can see why it is seductive,” he added. “Ultimately, it’s a gamble; it’s like saying, ‘I’m going to regularly buy lottery tickets.’”
A Place For Mining Solo
Kolivas is also the developer behind CGMiner, mining software written in the C programming language that was widely used by the bitcoin mining community for years until manufacturers started maintaining their own forks of CGMiner or writing proprietary bitcoin mining software. According to Kolivas, most of the bitcoin in circulation was mined using CGMiner.
After Kolivas stopped maintaining his mining software, people in the community began requesting that he start a mining pool, due to the trust the community had in his work, which ultimately led him to start one.
“But the pool never took off because once a pool has got traction, it attracts further miners; but starting a new pool is really difficult,” he said. “You can’t really start a new pool from scratch unless you’ve got at least hundreds of petahash of miners ready and dedicated to mine in your pool.”
Since the pool initiative didn’t gather much traction, Kolivas felt drawn to start a service for people interested in mining solo, as he saw interest arise in Bitcoin forums at the time as it had been impossible to do so through Bitcoin Core for many years.
“And so I thought it was a simple extension to convert the shared pool software, which is CK Pool, and turn it into CK Pool Solo to make it a software that people could use to mine to their own nodes,” Kolivas told Bitcoin Magazine. “And I would just provide the service, running the server and the interconnected hardware so that it was high performance.”
Kolivas said the community loves the service so much that they fund the infrastructure themselves through donations.
“I just administered it. I chose the hardware, the software, and administered it,” he added.
However, the 2% fee charged by Kolivas to administer the software and infrastructure doesn’t add up to a lot, he said, as the Solo CK Pool solves one block every six months, on average.
“Solo CK Pool has had about five petahashes on average for the past few years, that’s not very much at all,” Kolivas said. “I was willing to actually shut down the service a few years ago, but the community said that they wanted it.”
Kolivas added that, since those miners made the headlines, his pool has gathered more traction and it is currently averaging over 20 PH of hash rate. But despite his vast knowledge about bitcoin mining, and the recent string of success from solo miners, he said he hasn’t mined bitcoin himself since 2017.