A mining pool is a way that cryptocurrency miners can win rewards faster by grouping together to split up the block’s rewards. Instead of having to wait on average 10 days, for example, they could join a pool of 10 people, changing the average wait from 10 days to 1 day. However, they will also have to split the rewards between all the other miners in the pool. If this is confusing, watch the video and you will understand it much better with the stories and analogies included!
Imagine there is a dice with 50 sides. They are all the same, except for one, the magical side has a special effect where when you roll it, you will get $1. How many times would you roll it?
You’d probably roll it a lot, that thing can just print money. However, you could roll it once, get paid, roll it 8 times, get paid again, then roll it 140 times without hitting the magical side until you rolled it the 141th time and got paid. Using statistics, we can say that probably every 50 times you roll it, you will win $1.
Now, imagine there is a mega magical dice, and it has 500 sides, but it pays you $10 every time you hit the magical side. You would have to roll it roughly 500 times to hit the $10 reward. Even though this has the same average payout, about 2 pennies each time you roll it, it will take you a lot longer to get a payout. This isn’t an issue if you’re rolling it all night long, but if you only roll it on your break at work, you could roll the whole time and not get a payout… or you could get the payout twice.
Now… Imagine there is a mega-mega dice that has 5000 sides, but pays you $100 every time.
Take this example, and extend it to a dice with 500,000 sides, but pays you $10,000 on the magical single side if you hit it. Now it’s basically a lottery. Would you rather roll this dice or the regular dice with only 50 sides? Even though, on AVERAGE, they pay you the same amount (2 pennies) for each roll, you want the smaller one because you would get paid more often.
This is what a mining pool is.
Before we continue, you’re going to want to watch our “What is Proof of Work” video because it explains the concept so well that your grandpa could understand it, and you are going to need to understand it before we move on.
Proof of work is when a computer is incentivized to solve a complex puzzle by guessing and checking until they get the right numbers. In the case of bitcoin, you are trying to find a random mix of numbers and letters you can put into a magical black box, so that it outputs a certain number of zeros.
If you get the right number of zeros, you win the lottery and the we say that you have solved that block and it gets added to the blockchain. Solving it means you get a reward, and for our example, we are going to use ethereum. A block reward right now is around 3 ethereum, or $9000. Jackpot!
Here’s the issue though. If you used a general personal computer to try mining ethereum… it would take you about 3494 days to solve a block on your own. This means you could solve it in 3 days or solve it in 12 years, but on average, that is how long it would take you. The problem is, we want to mine and get rewarded for it now, instead of playing the luck game.
So, we take a ton of people who want to mine, group them together and then work towards the block all at once. This takes the average time down from 3494 days to 2 hours. Then when the group finds the reward, it splits it up between everyone who mined with us, even if they weren’t the person who found the successful solution. Those who work harder get a larger percentage, so it is fair to them.
The first question is, “what if we told them we were mining harder than we actually were?” because that would be really easy to code. Instead of coding at 30 megahashes a second, we could easily write a program that tells the pool we are mining at 30000 megahashes a second, and then get the majority of the reward.
So, instead of taking their word for it, the pools came up with something clever. Let’s say that to solve the current block, we need 20 zeroes in the hash. What the pool does is takes any solution you have that has at least 10 zeros and gives you a “share”. So you’re mining away, and you find one with 10, one with 12, one with 18, one with 13, and one with 17 before the block is solved. Since these shares prove that we were actually mining, we submit those as proof that we worked towards finding the solution, instead of just having the pool take our word for it.
Think about it like this. Instead of just you rolling your 500,000 face die for the $10,000 reward, you roll with a group of a hundred people, and when someone wins the $10,000 reward, everyone gets a fair share based on how many times they rolled. How can you tell how often they rolled? Everytime someone rolls any number that is a multiple of 10,000 – they take a picture of it. And then how many pictures they have when someone rolls the winning roll, you get a reward based on that. For example, if there’s 100 people rolling those special dices, and they together have like 200 pictures of their dices on numbers like 30,000 and 270,000… and you have 3 pictures when you dice landed on multiples of 10,000. This means you get 3/200 of the $10,000 reward, which is $150.
Instead of getting paid once per year, the purpose of mining pools is to get paid once per hour, even if what we are getting paid is a smaller amount, it is much more reliable.
You should know that most pools have fees, something very small like 1% to help support their development and pay for certain things like web hosting.