Mining is the process where miners in a pool try to find a possible solution
to a block. To prove that they are working on a block solution (by
submitting tasks), miners send so-called “shares”.
What is a share?
A share is a cryptographic signature of a transaction block, a data packet
that contains a potential solution to the block. A share is not suitable for
being added to the cryptographic chain as a separate valid block but is
rather a complex "solution" that is difficult to find.
A share is needed by the mining pool to evaluate the contribution of each
miner to the overall activity of the pool in finding a block and a fair
distribution of rewards. Based on the shares sent by the miner, the pool
builds a chart of the miner’s hashrate, evaluates his contribution to the
block search and defines whether the miner is online.
It is more convenient to analyze the activity of a miner more subtly and
consistently with the help of a share than through found block solutions
which happen too rarely for small miners.
What is the share difficulty?
The share difficulty is equal to a certain number or range of numbers.
Difficulty is measured in hashes (TH/GH/PH). It is usually referred to as PH
(pentahesh), TH (terahesh) or GH (gigahesh).
1PH=1000TH=1000000GH
For example, for Ethereum, the share difficulty is 2 G, 4 G, 8 G, or 10 G.
The difficulty of the Ethereum network at the time of writing this article
was 14.34 PH (not to be confused with the network hashrate).
That is, 14.34 PH = 14340 TH = 14340000 GH.
Let's look at an ideal situation. Let's say that the pools receive blocks in
an order corresponding to their hashrate: an EMCD with 1 GH/s will find
ten blocks per day while another pool, with 10 GH/s, will find one hundred
blocks per day.
This only happens with 100% pool luck.
Pool luck explains how many solutions it takes to find a valid block
compared to the average number of solutions.
If luck is equal to or higher than 100%, this means that the pool needs
fewer solutions than expected for a given difficulty.
In reality, everything can be completely different. Today, a pool with a
hashrate of 1 GH/s may receive 2 blocks, tomorrow, 10 blocks, and the
day after tomorrow, as many as 20 blocks, while the hashrate remains
unchanged.
An ideal situation for the Ethereum network:
if the share difficulty were 14.34 PH, then each share would be a solution
to a blockif the share difficulty were 9.1 PH, then every second share would be a
solution to a blockif the share difficulty were 2.5 PH, then every thousandth share would be
a solution to a block
That is, if the network difficulty is 14.34 PH and the share difficulty on the
pool is, say, 4.2 G, the pool needs to receive 3 million 414 thousand
shares to find a solution to one block. In other words, under ideal
circumstances, after every 3,414,000 shares, the pool will find a block.
Let’s compare with BTC:
1PH=1000TH=1000000GH
For example, for Bitcoin, the share difficulty is 128 K, 8192 K, 16384 K,
and 32768 K. The difficulty of the Bitcoin network at the time of writing this article was
31.25 PH (not to be confused with the hashrate of the network at the
moment). That is, 31.25 PH = 31,250 TH = 32,250,000 GH. Let's say that the pools receive blocks in the order corresponding to their hashrate; an EMCD with 1 PH/s will find ten blocks per day while another pool with 10 PH/s will find one hundred blocks per day.
Remember that this only happens with 100% pool luck. In fact, today a
pool with a hashrate of 1 PH/s can get 2 blocks, tomorrow, 10 blocks, and
the day after tomorrow, as many as 20 blocks, while the hashrate remains
unchanged.
An ideal situation for the Bitcoin network:
if the share difficulty were 31.25 PH, then each share would be a solution
to a block.if the share difficulty were 19.1 PH, then every second share would be a
solution to a block.if the share difficulty were 12.5 PH, then every thousandth share would
be a solution to a block.
That is, if the network difficulty is 31.25 PH and the share difficulty on the
pool is, say, 128 H, the pool must receive 244 million 414 thousand shares
to find a solution to one block. In other words, under ideal circumstances,
after every 244 million 414 thousand shares, the pool will find a block.
Why is the share difficulty needed?
If the difficulty is equal to one, the number of solved shares per second
will be more than 1000 - that is, the current device hashrate in this case
will be much higher than the declared hashrate, but the daily hashrate will
still equal the actual device hashrate. Therefore, mining pools set the
share difficulties that can either be fixed or depend on the user's device.
The share difficulty is selected in a way that allows the miners work comfortably and see detailed statistics of their work while preventing the pool from “collapsing” due to the number of shares received.
For ASIC devices, the share difficulty is usually not fixed but rather
dynamic. For example, ASIC mining at difficulty level 1 is too low, and a
miner at 13.5 Th/sec sends thousands of shares per second. In fact, this
may lead to a situation where a miner with more powerful hardware can
solve the given share faster under the same difficulty.
Network difficulty vs share difficulty
The network difficulty is a mechanism built into the self-regulation of a
currency. The more miners (network hashrate), the higher the difficulty,
and network participants make less - and vice versa. Roughly speaking,
difficulty is a defensive reaction of the network. Difficulty for each coin is
calculated in a different way.
Example:
BTC - the difficulty is adjusted every 2016 blocks (every 14 days) so
that the average time between blocks is 10 minutes.ETH - recalculation of mining difficulty in the Ethereum network is
performed on each block.LTC - recalculation of the mining difficulty in the Litecoin network is
performed on each block.
Why does the pool set high shares difficulty?
The main factor is the optimization of the work of miners on the pool.
Shares with low difficulty are not always good. If the user is mining at too
low a difficulty, the mining hardware can spend a lot of time sending and
receiving data from the pool server, i.e., it will be idle, which will cause
rejections.
The share difficulty does not affect the income as the payouts are
proportional to the hashrate of the miner. With more complex shares, it
will be “convenient” for the device to find the correct solution to the block
without equipment downtime.
Why do I often receive hardware shutdown alerts?
The pool checks the work of the miner based on the shares. If you have a
weak device, the time gap between shares increases, and the pool
believes that the device is disconnected.
For ASIC devices, it’s S11; ASICs without one board (or anything
less than 25 - 50 MH/s) and, for GPU, everything below 4 GB (RX
460/470, GTX 1060 3GB).