The Bitcoin protocol is open, its source code is available to everyone and anyone can adapt this software to mine Bitcoins. In fact, the Bitcoin Core program started out with Bitcoin mining enabled. Once you entered the program it’d become a full node and start mining coins for you. But then we all know what happened next, as GPUs and ASICs made CPU mining obsolete.
In Satoshi’s original vision, Bitcoin would be mined by the participating nodes as a reward paid in exchange for each node’s contribution to verifying blocks. This is equivalent to mining without participating in a pool, also known as solo mining. Therefore, solo mining was the original Bitcoin project, not pooled mining.
As ASICs dominated the mining scene, mining solo became impractical. If you simply leave a Bitcoin node running, there is a infinitesimal chance that you’ll eventually solve a block before all the millions of ASIC miners out there. But this chance is astronomically harder than winning the most difficult lottery.
A scheme was then devised to distribute work to thousands of miners so a collective effort could be made to mine the next block. This is how mining pools came to be. Pools put a block together from transactions (chosen among the TX’s with the highest fees) and derive the Merkle Root for that block. This information is then sent to miners along with different values of a number called a nonce. Different miners get different slices of the nonce search space, so that miners don’t waste energy trying nonces that have already been tried by other miners in the pool.
Once a pool participant solves a block, the pool distributes a piece of the reward to everyone who also tried, even if they didn’t get anywhere close to solving the block. This is a system based on Proof of Work itself and it uses calculations based on the network difficulty to try and determine how much each participant should get paid for their effort. It is important to reward even the smallest miners, as it becomes an incentive to keep participating in the pool.
While mining in a pool, miners must submit back answers to challenges sent by the pool every few seconds. The answers to these challenges reveal to the pool how much work each miner performed and makes sure no one is defrauding the system. Once a block is solved, the block reward is split into slices proportional to the mining power contributed to the pool (as determined by these periodic challenges) and then is spread as fairly as possible among participants. The user who finds the block may receive a bonus from the pool, but this is not a general rule. Different pools may offer different incentives for different achievements. For example, even if you do not solve a block, but have submitted a very difficult hash back (containing many zeroes in front), the pool may offer a small reward for this contribution, even if it doesn’t really produce a block reward from the latest block.
As you can see, mining pools are a way for smaller rigs to be able to participate in the mining system. Most individual rigs would never solve a block by themselves, but by contributing to a larger effort they get credited small amounts with every solved block. This small incentive is what keeps most the mining power alive for altcoins like Dogecoin, Litecoin and Ethereum. If it weren’t for pooled mining, home users would not be able to participate in the network at all. Or maybe they could, but solving a block would be like winning the world’s most difficult lottery prize. In fact, solo mining is not profitable as your contributed efforts do not get rewarded if you do not solve a full block by yourself. In solo mining there is no reward for contributed hashrate, but only for fully solved blocks. Although the above explanation was based on Bitcoin, it works the same for all PoW-based cryptocurrencies.
Proof of Stake and Staking Pools
Proof of Stake coins like Cardano ADA take a different approach to mining. In fact, when a block is solved in Proof of Stake systems, we don’t say coins were mined, but we use the term minted instead.
Staking is the process by which you lock a certain amount of ADA as a stake. The amount of staked ADA gives you a corresponding chance at being selected to mine the next block. Just like having more hashrate increases your chance at finding Bitcoin block solutions, having more ADA increases your chance to be selected as a slot leader so you can solve the block.
How is block integrity guaranteed in a PoS system? Remember you staked the coins prior to participating in the network? Those staked coins get taken from you if you attempt to defraud the network (therefore the term “stake”). This implies that you may only get selected to mine transactions that are smaller than your stake, otherwise an eventual fraud would be profitable. (The whole point of both Proof of Stake and Proof of Work is to make fraud more expensive than the potential reward.)
So stakeholders who don’t have a large stake can join staking pools just like PoW miners can join mining pools. Staking pools combine the smaller stakes into a larger stake which can mine larger amounts and which has a bigger probability to be selected as slot leader. Stakeholders are then rewarded proportionally to the size of their stake.
Staking pools are a very interesting system because nodes are not constantly grinding numbers looking for a solution. Only the chosen slot leader performs some simple computations in order to verify a block and the lottery system used to determine the slot leader is also usually very lightweight.
We hope this article helped you better understand the purpose of mining pools and why you should join one. Pools for each cryptocurrency can be easily found via Google. Before joining a pool, make sure to perform due diligence. Search for complaints about the pool on social media and filter out shill posts to find real reviews. There are many ways in which a pool can defraud its users as they have full control of the mining process. It is important to join a pool which has a good reputation and which has many contributors. This is important because small pools have a small chance at finding blocks and they can only reward participants if the pool itself finds the block solution. Blocks solved by other mining pools where you’re not participating do not pay any reward, so it’s important to balance the chances of your pool finding blocks, with the potential reward which will get split among all participants.
Mining requires discipline, lots of technical know-how and a lot of hard work. In another article, we offer some advice for mining newbies. If you’re just getting started, then by all means do join a mining pool. It will give you hands on mining experience and you’ll feel the thrill of watching ACCEPTED messages scrolling by your terminal and enjoying the sound of coins being dropped in your crypto bag!
Photo Credit: Victorgrigas via Wikipedia