Many miners start comparing mining pools by their ping value. They look in their mining software and see there the information about the speed of sending balls to the pool. Let’s say it’s 50ms (milliseconds) on one pool and 150ms on another. Then they conclude that the first pool is clearly better than the second. Are they doing the right thing? Let’s look into it.

Contents

  • 1 What is a ping on a pool?
  • 2 What is a ping on a pool?
  • 3 You can’t be guided by ping when choosing a pool
  • 4 The difference between Ethereum and other cryptocurrencies. Uncle blocks
  • 5 A lot of Uncle-blocks is bad. True or myth?
    • 5. 1 To take uncles or not to take them?
  • 6 Bonus Split. Empty blocks of 2 ETH with no transactions are bad, right?

What is a balloon on a pool?

A balloon is the unit of operation of a miner on a pool.

The process of interaction between a miner and a pool is very simple. The pool sends a job to the miner, that is, it tells the miner what task to do and what to do. The miner sends the pool balls, i.e. solutions (from the word “share”).

Read more "What are balls in mining. How decision complexity affects cryptocurrency mining".

The screenshot below shows the window of the mining software, which marks the moments when a balloon is sent to a pool.

Received balloon

What is a ping on a pool?

A ping on a mining pool is the time it takes for a balloon sent by a miner to reach the pool and be processed by the pool.

What does "processed" mean? Simple - accepted or rejected. The pool checks all the balls that come to it, whether they are correct solutions or not. That is, the pool cannot take miner's word for it.

You have to understand that the PING command (in windows or linux) is how fast the server responds to you. The PING in the miner window is how quickly the mining pool server received your balloon, processed it, and informed you that all is well. This is why it is not PING, it is the Share accepted time in the miner window.

Read more "How to check the ping to the mining pool server with Stratum Ping".

Stratum Ping Master interface

You cannot be guided by ping when selecting a pool

A miner has connected to a pool and starts sending balls to it. It sees that the balls are received in 50ms (ping 50ms). Then the miner connects to another pool and sees that balls are received in 150 ms. I’ll go to the first one, he decides. It’s better there.

This is fundamentally wrong, it cannot be done that way! When choosing a pool, instead of a ping, you should look at the steel-ball stats. Of course you also need to look at other factors such as MEV fees and how they are distributed, pool commission, usability and so on.

Back to the balls. The 2Miners pool has detailed stats for each miner’s balloon.

Balloon stats

There are two types of balls:

  • Valid – balls accepted by the pool. Any pool will only pay for them.
  • Rejected – balls rejected by pool because they were “broken”. Overclocking is 99 percent of the problem. Overclock your card. How to overclock Nvidia and AMD graphics cards for mining with different algorithms
  • Stale – Unreceived pool balls that came in late.

Due to the existence of Uncle blocks in the Ethereum network, any late stale – even if by 1000ms or 2000ms – can become a block solution. Yes, such a block will not give a full reward of 2 ETH or more. But they might give 1.75 ETH as for Uncle.

Many pools misinterpret the concept of stale-balls (late-balls). The balloon arrived half a second after the pool started sending out a new job – that’s it, it’s rubbish to them. At 2Miners this is not the case. We treat all balls with care and try to get the most out of them. A balloon is late – no big deal, you might be able to make a Uncle.

When you start mining on a pool, watch your balloon stats. If you don't have steal sharas, then the pool is great for you. It makes no difference what your ping is.

Again, of course, there are other factors when choosing a mining pool: charging method, commission, MEV and so on. In this case we are only talking about the ping.

Cryptocurrency miner

To prove our theory, let’s give you a simple example.

There are two identical miners of 500 MH/s each. One has a ping to the pool of 50ms and the other has a ping of 500ms.

The first miner sent 200 balls in an hour to the pool, all were accepted, not a single steal-ball.
The second miner sent 200 orbs in an hour to the pool, all were accepted, no steal-balls.

Both would receive the same reward. The first miner didn’t get more because he has a small ping, and the second miner won’t get less because of the large ping.

The difference between Ethereum and other cryptocurrencies. Uncle blocks

An important difference between Ethereum and other coins based on the Ethash algorithm and all other cryptocurrencies is the presence of so-called Uncle blocks. The Ethereum network has a very short block time: on average, new blocks appear every 13 seconds. Most cryptocurrencies have a higher time, for example, in the Bitcoin network new blocks are found every 10 minutes.

Once someone has found a new block, they must quickly and quickly pass on information about it to other nodes – the network’s miners. In the Ethereum network, it is often around the same time that different mining pools find new blocks and compete with each other.

The concept of uncle-blocks allows a mining pool that finds a block solution a little later than another pool to be rewarded. It can also be the case that two pools found new blocks at the same time, but one pool is associated with more larger mining pools in the network than the other. In that case, the first pool will receive the full block reward and the second pool will receive the Uncle block reward.

At the moment, the reward per block on the ETH network is just over 2 ETH on average, while the Uncle-block costs 1.75 ETH. The difference is minimal.

Reward for an Uncle-block on the Etherium network

Read more about Uncle-blocks in the pool's FAQ "My reward is less than it should be. Uncle and Orphan blocks" and in the article "Orphan, Stale and Uncle blocks in Bitcoin and Etherium mining. What they are, how they differ and how much they bring".

A lot of Uncle-blocks are bad. Truth or myth?

Any pool must a priori try to maintain a good communication with other nodes of the network to quickly get information about new blocks, and quickly transfer information about the blocks the pool has found.

At 2Miners, we are very careful to ensure that the pool is connected to as many nodes around the world as possible. In addition, we separately negotiate with other mining pools and link our network nodes directly. This allows us to transmit and receive information about new blocks without delay.

By the way, we maintain a special service, which shows the statistics of the network nodes of different mining pools - Ethereum Network Stats.

When you hear phrases like “This pool has a lot of Uncle blocks, because its servers are bad”, most probably it is false. We are convinced that good top-10 mining pools are probably able to buy and set up quality servers.

However, the number of Uncle blocks can grow for reasons beyond the pool’s control. For example, previously, when the most popular pool on the Ethereum network, Sparkpool, was located in China, there were situations when, due to the Great Firewall of China, communication between China and European/US pools was disrupted. The delays in transferring information between the pools were large, and there were a lot of enclosures on the pools.

Below is an example of normal pool operation. By the way, you can always see the number of pools and pool luck on the blocks page.

Block statistics

Should we use anchors or not?

Here the answer is unequivocally “DO IT!”. And the more the better. Judge for yourself, one pool found 100 blocks and 5 questionnaires, and the second pool found 100 blocks and 10 questionnaires. The difference in reward would be more than 3 percent, imagine.

You’ve got me completely confused. Are the anchors good or bad?

It’s impossible to give a definite answer – yes or no.


If an enclave is formed because a pool node is poorly connected to other nodes in the network, it's bad. If the anchor is seen as an extra payoff that might not have been there - good.

Bonus partition. Empty blocks of 2 ETH with no transactions is bad, right?

You and I have worked out that a large number of Uncle blocks is not at all an indication that the pool is bad. Maybe even the opposite.

Now, let’s consider another misconception, which states that “pools that mine blocks of 2 ETH are crap”.

Let's decipher. Blocks of 2 ETH, are empty blocks without a single transaction in them.

An empty block of Etherium with no transactions

Note that usually blocks of 2 ETH are formed almost immediately after the previous block has been found. For example see a block of 11,789,558 at 2 ETH and a second before it was a block of 11,789,557. Do you know where we are going with this?

Because of peculiarities of Ethereum node during first 200-300 ms of working on new block, it “creates empty blocks”. And there’s no getting away from that. In other words, if the pool just found a new block or just received information about a new block from the network, in the first split second the block is “bare”, the pool has no time to “fill” the block with transactions.

Again, given that top pools are able to buy and properly configure servers, a block of 2 ETH is normal. There’s nothing wrong with that. But if the pool received information about new block 10 seconds ago, and then it didn’t include any transaction in the block – that’s trouble. You can say, indeed, that the pool is bad. But, believe me, such cases are isolated.

Is there any way to solve this problem with ETH node on the pool side? Yes, we can. You can put some kind of timeout, a delay. For example, for the first 500 ms after receiving information about a new block, you would keep your miners in the dark and continue to give the old task. The result would be that instead of an empty block at 2 ETH, the pool may find an anchor at 1.75 ETH. Which is better – 2 or 1.75? Of course 2! Therefore making such a “patch” makes no sense at all.