CoinFly Blog

All Mining Pools are Stealing. Or Not?

Why “Stealing”?
When miners are trying to understand whether they are getting a fair reward, they rely on a few indicators: the mining speed (or hash rate that you can see in the miner program) which is directly related to the hardware performance, and the hash rate accepted by the pool. Often these numbers don’t match. The reasons behind this may vary. For example, the miner program issues incorrect solutions due to overheating of the equipment, or it has been removed from the pool and has no time to send shares, and they are late (stale shares). But even with these “amendments”, the difference in value remains. And then the typical conclusion comes to mind: “clearly, the pool has stolen from me”.
Moreover, the reward calculation system is far from being transparent. And users simply do not understand where the numbers are coming from and how they are related to the hash rate. After all, even if the pool announces that it is including all the perks according to the PPS, PPLNS system, and specifies a certain commission or its absence, the issue of giving proofs remains open. As a result, users just need to believe that everything is fair, which is not always easy. But the space for playing with numbers is very large. And these two problems (the mismatch between the received and sent hash rates and nontransparent accounting system) are the reason behind the talk that pools can steal from you.

The Luck Factor
So, let’s try to figure it out and start with a little theory first. What is the essence of mining? Generally speaking, this is a random process. The miner conducts enumeration of a certain number and tries, substituting this number into a certain function, to find the result that would be accepted by the network (blockchain), would satisfy some criteria, and, first of all, the criterion of difficulty. What are we talking about?
In blockchain, one block must be completed once during a certain amount of time initially set by the network. For example, once a minute. And you need to make sure that every next block (block signature) could be found by the network of miners during the approximately same amount of time. The easiest way to regulate the process is to constantly change the complexity of the problem they are solving. The more miners mine, the more difficult the problem is, and vice versa.
The difficulty is usually measured in hashes, which can be described as a certain average number of random enumeration operations necessary to solve a given problem. Strictly speaking, this indicator is theoretical. Indeed, in reality (in practice) the problem can be solved both instantly and much later.
In this regard, the best analogy is a six-sided dice and the task of rolling a certain number, say 3. The difficulty of this problem is 6. In reality, sometimes we will have more luck, and sometimes we will solve the problem in a couple of rolls, and sometimes in 40. But usually, we need somewhere “around 6” rolls.
Now let’s add a time limit to this analogy. Long sessions of dice rolls will be cut off (wasted), and thus it will turn out that our average result of the number of rolls spent on the solution will always be higher than the difficulty 6 set for us. This means that the hashrate, the actual speed of the miner’s work, on average, is always higher than the amount specified for solving the problems.

Where Else Should Miners Look?
So do pools really steal? Based on everything said above, we can conclude that this is a stereotype. But in fact, it is very difficult to draw a reliable conclusion. We found out that it makes no sense to look at the difference between the hashrate and accepted shares — these are different indicators.
So where else should we look? There is another vague area — the reward system and metrics involved in the bonus formula. In fact, it is a black box of a sort. Let’s take a look at the PPS (Pay Per Share) reward system. It’s variation, PPS+, is used at the CoinFly pool.
The formula that helps to calculate the rewards of miners is quite simple: it is directly proportional to the accepted hashrate (the sum of the difficulty of the accepted shares set by the pool) and inversely proportional to the total network difficulty, which is defined for the entire blockchain. And this proportion is nothing else but a share of some conventional block reward. Why is it conventional? First of all, because each block has its own reward that must be seen and controlled.
In the case of PPS, regardless of whether the pool finds blocks or not, it must pay for each accepted share. So what rate should you apply until you find a block? And that’s where a lot of room for maneuvers opens up as block reward changes significantly throughout the day. Some rates are based on the average value of block rewards over the course of the day, others on the average value of block rewards over the course of the week, or set an instant value for block rewards. Another parameter that is constantly changing is network difficulty. And it is also not clear what period of time is considered for this parameter (day, week, etc.)
At the same time, it is not revealed which pools and which values ​​are used for the calculation. Even when the pool declares 0% commission, it remains unclear of what award and in relation to what difficulty?

On the picture: the CoinFly calculator (with a formula and an example of calculation for a miner).
Now, let’s see how we handle the transparency issue in our pool. We are constantly working to make our product as transparent as possible. And in the upcoming days, we are going to introduce a hashrate-based revenue calculator. First, it reveals the CoinFly’s PPS+ formula and it becomes visible and visual. By using the calculator it is very easy to track what is divided (multiplied) into what and where the expected earnings come from (we openly show this formula). We also show which indicators are used for the calculation — network difficulty and block reward. And we reveal why they are what they are. The block reward is averaged out every day at 8 a.m. UTC and we take the network complexity rate every hour. That’s a formula for the calculator since for the real calculations we measure the network difficulty is taken for each specific share at the moment of measuring. In addition to this tool, we plan to develop our reporting system to ensure maximum transparency and more. Those who want to see how the pool works from the inside, we invite you to take a look “under the hood” of our pool. And we welcome you to our 24/7 support chats for an open discussion! We have nothing to hide.
And finally, we want to add one more thing. An important success criterion for a miner is what he gets “in essence” — the total sum of money that they earn on a certain pool. Considering that blockchain indicators are constantly changing, profit is constantly changing too. But on a certain interval, it is still possible to compare which pool brings the highest revenue. In terms of performance, CoinFly is among the best ones.