Network Difficulty, Share Difficulty and Hash Functions
What is the Bitcoin network difficulty and how are mining share difficulties calculated?
- Share on Twitter
- Share on Facebook
- Share on LinkedIn
- Share on Pinterest
- Share via Email
- Copy link
This article is meant to serve as a guide to understanding how crypto mining works from a miner’s perspective.
It is impossible to explain some of these concepts without using math functions, so bear with us. We tried to simplify the concepts where possible. Crypto Mining: Network Difficulty, Share Difficulty and Hash Functions.
Network Difficulty
Network Difficulty describes the base difficulty, or the minimum difficulty the underlying blockchain will accept as a valid block. Effectively this is how hard it is for a miner to find a block (i.e. how hard a math problem miners need to solve). The higher the Network Difficulty the harder it is to find a block.
Network Target
From an outside perspective the network operates on Network Difficulty but under the hood it is being calculated on the inverse, the Network Target.
Network Target = 1 / Network DifficultyThe higher the Network Target, the easier it is to find a valid block (inverse of Network Difficulty).
Difficulty over Time
Networks have a Difficulty Adjustment Algorithm (DAA), which essentially is a built-in hashrate measurement that adjusts the difficulty. Taking BTC blockchain as an example, the difficulty adjustment comes every 2,016 blocks (roughly 2 weeks). The adjusted Network Difficulty is calculated as the network’s average hash rate from the previous period. Based on that average, the new Network Difficulty is set such that, if that average hash rate is maintained, the network will find a new block every 600 seconds (144 blocks per day).
The easy way to look at it is, if more people are competing to solve a math problem, the problem needs to get more difficult if you want the time it takes to solve the problem to stay constant.
The Bitcoin Network Difficulty over time can be found here.
Bitcoin Network Difficulty
Many other coins have implemented more frequent difficulty adjustments. A common DAA for Equihash coins like ZEC and ZEN is DigiShield v3 which adjusts difficulty after every block.
Share Difficulty
ASICs produce billions of hashes per second. For example the new Bitmain S17+ produces 73 Terahashes per second. Mining Pools can’t collect and check all of these hashes from their miners.
So Mining Pools set a target Share Time. This could be something like 5 seconds, which means that on average Mining Pools want miners to submit a share to them every 5 seconds.
To make this possible, Mining Pools set a Share Difficulty for every miner. Based on your hashrate, Mining Pools set how hard it is to submit a share to them. The higher the hashrate, the higher the Share Difficulty. When miners are grinding through hashes, they will eventually find a hash that meets the target Share Difficulty, then they send it to their Mining Pool.
In a PPS payment method, miners get rewarded by a mining pool for shares they submit. The shares they submit have different values based on how difficult it was to find the share. Miners get credited based on the set Share Difficulty from the Mining Pool not the actual share difficulty.
Let’s run through an example of this.
Mining Example
- Let’s say you are mining at 50 TH/s and the Mining Pool sets your Share Difficulty at 1,000,000. You get credited by the pool for all shares that are above 1,000,000.
- If you then increase your hashrate to 100 TH/s, the pool will change your Share Difficulty so that you aren’t submitting shares too quickly. If your pool increases your Share Difficulty to 2,000,000, then you will submit shares at the same speed you previously were, but you will receive two times as much revenue from the pool for the shares you do submit.
- You end up making twice as much revenue (which mirrors your increase in hashrate).
Share Target
Like the Network Difficulty, Share Difficulty can also be converted to a Share Target by taking the inverse.
Share Target = 1 / Share Difficulty
Hashing Function
A hash is the output of a hash function. Hashrate is the speed at which a computer (ASIC/GPU/CPU) is completing an operation in the cryptocurrency’s code. Therefore, the amount of hashes are measured in hashes per second.
At its base you can think of crypto mining as solving some function represented by:
- f = Hash Function (i.e. an equation -> such as SHA-256)
- x = Block Header (i.e. some random number)
- y = Result of the Hash Function applied on the Block Header
Hash Function (f)
You can think of the Hash Function such as SHA-256 (f) as a very complex equation that will input the Block Header (x) in some way to create a hash result (y).
The key here is that the formula (f) is too complex to solve using algebra. The only way this can be solved is by using brute-force, guess & check. Miners constantly change the block header (x) in the equation until the result (y) is acceptable.
This is known as a trapdoor function; a one-way function that makes it impossible to know which x value will give you y without brute-forcing it. This is what ASICs are doing. Just guess & checking x values until they find a y outcome that is acceptable.
Block Header (x)
The way miners change x is a bit more nuanced. The Block Header is a large string of numbers and is function of a few different inputs. We included some of the main ones below but it is not exhaustive.
Block Header = Block Height + Block Version + Previous Difficulty + Nonce
The key is that all of the variables are set, except for the Nonce. The Nonce is what miners are constantly changing to change the Block Header (x).
Result of the Hash Function (y)
This is just the outcome of the function (f) using an input (x). But it is crucial for mining.
The result (y) is what is used to determine if a share will be accepted by the pool, and if the share can create a valid block.
Mining Example
Using SHA-256 (f) as an example, let’s say a Mining Pool sets a Share Difficulty of 1,000,000 for the Miner. This results in a Share Target of ( 1 / 1,000,000) = 0.0000010000
The miner (ASIC) is going to start guessing numbers until they reach the target outcome. So they will continue to guess new Block Headers (x) in the function (f).
- f(x) = y
- SHA-256(block_header_guess1) = 0000241241
- SHA-256(block_header_guess2) = 0000041241
- SHA-256(block_header_guess3) = 0000001241
The **block_header_guess3 **(x) resulted in a hash (y) that was lower than the Share Target. So it is accepted by the pool as valid and the miner gets paid for that share.
Now let’s assume the miner keeps mining. The Network Difficulty is 100,000,000 which results in a Network Target of (1 / 100,000,000) = 0.0000000100
- SHA-256(block_header_guess3) = 0000001241
- SHA-256(block_header_guess4) = 0000000241
- SHA-256(block_header_guess5) = 0000000041
The block_header_guess5 (x) resulted in a hash (y) that was lower than the Network Target. So it is used by the pool to submit a valid block to the network and get the block reward!
Share actual difficulty что это
Шары в майнинге. Сложность решений влияет на добычу криптовалюты Давайте обратимся к Эфириум-пулу 2Miners. Пул использует систему выплат PPLNS, а на главной майнинг-пула указана сложность… Подробнее » Share actual difficulty что это
Size type c что это
- автор: admin
- 20.06.2023
Чем отличаются size_type, size_t, unsigned X? Подскажите в чем отличие size_type, size_t и к примеру unsigned int и где когда что использовать? Единственное что я… Подробнее » Size type c что это
Service tag что это
- автор: admin
- 20.06.2023
What is a System Service Tag? 4 Ways to Locate It All devices including computers contain a unique identification number that helps the manufacturer track… Подробнее » Service tag что это
Setw c как работает
- автор: admin
- 20.06.2023
# std::iomanip When used in an expression out << setprecision(n) or in >> setprecision(n) , sets the precision parameter of the stream out or in… Подробнее » Setw c как работает
Service pack 1 что это
- автор: admin
- 20.06.2023
Microsoft выпустила накопительный пакет обновлений для Windows 7 SP1 По многочисленным просьбам компания Microsoft всё-таки сделала хорошее дело и собрала в единый пакет все обновления… Подробнее » Service pack 1 что это
Bitcoin Mining Pools: Luck, Shares, and Estimated Hashrate Explained
How pool luck is calculated, what shares are and why they are so important in pooled mining, plus the difference between estimating pool hashrate based on blocks found versus measuring pool luck.
Table of Contents
“We haven’t found a block in X hours, is something wrong with the pool?”
Short answer: no.
Long answer: the mining rabbit hole is deep, let’s dive in.
Bitcoin mining pools are like mini versions of the bitcoin network

One of the things you learn as a beginner to bitcoin mining is the purpose of network difficulty and the difficulty adjustment. In case you aren’t yet familiar with these, you can read our simple explainer, Bitcoin Mining is NOT Solving Complex Math Problems, which we will build on below.
To understand how mining pools work, fortunately you just need to apply the same concept of network difficulty, but at a smaller scale. You see, in order to find a block, miners must compute a hash which has an output below the network difficulty target. This doesn’t happen very often—on average, once every 10 minutes.

Network difficulty example: only dice rolls below “4” (network difficulty) can produce new blocks
In the article linked above, we used an analogy comparing hashing in bitcoin mining to rolling many-sided dice. The network difficulty target says how low the dice roll needs to be to produce a block.
Similarly, in order to earn a reward from a bitcoin mining pool, you have to compute a hash which has an output below what’s known as the “share difficulty target”. This is a middleground… much easier to meet than the network difficulty target, but still difficult enough that only a tiny portion of all the hashes you’re computing will qualify.
Re-using the same dice analogy, this share difficulty could be incorporated by saying that all the dice rolls below “99” result in shares being submitted to the pool, while they still have to be below “4” to produce a new block.

Share difficulty example: Dice rolls below “99” (share difficulty) can produce shares, while they still have to be below “4” to produce blocks
- Hash outputs < 4: produce a block (and shares)
- Hash outputs < 99: produce shares
- Hash outputs > 99: doesn’t meet target, nothing sent to the pool
Anytime your ASICs produce shares, they are sent to the pool to earn mining rewards. To verify the validity of the shares you submitted, the pool simply repeats the same hash computation that you did to produce the shares in the first place. Getting the same result verifies that the proof of work is valid. (Note: “stale” or “rejected” shares can occur when you submit shares after the block for those shares has already been found, something which typically occurs in the few milliseconds immediately following a block find. This is why it’s advisable to connect to the nearest pool stratum server to your geographic location.)
From this description, can you see why shares are so important?
To verify the shares, the pool must compute the hash… meaning that, without shares, pools would have to redo ALL the hashes that miners do just to be sure that miners are actually doing the work in the first place. In other words, public mining pools couldn’t exist without shares, as they wouldn’t have an efficient way of measuring the hashrate of each miner connected to the pool in order to fairly distribute the rewards.
This also explains why your pool hashrate fluctuates somewhat even when you have perfect uptime. Sometimes you’ll “find” shares faster than expected based on your hashrate and share difficulty target, and sometimes slower. The same way that sometimes miners find 2 blocks in a matter of seconds, and other times no blocks for 30+ minutes. Variance is a part of mining at every scale. In this sense, pools and share difficulty targets are like mini versions of the bitcoin network and its network difficulty target. The same math applies to both.

One thing to note is that there is no single share difficulty target for all the miners in a pool. Since shares only exist to be a practical unit for pools to measure miners’ hashrate, the share difficulty target can be adjusted for each individual miner based on their hashrate. For example, a miner with 100 PH/s will have a higher share difficulty (i.e. lower target for the hash output value) than a miner with 15 TH/s. The goal in setting this share target is for miners to be submitting shares about once every 2-3 seconds, providing a good balance between measuring your hashrate accurately and minimizing computational intensity for the pool to verify the work of all its miners.
How shares are valued
Before we move on, something else to understand about shares is that they aren’t produced one at a time. Rather, one hash computation which has an output below the share difficulty target produces many shares.
The number of shares produced equals the number of proofs of work done multiplied by the share difficulty. To put it simply:
- 1 share = 1 proof of work on difficulty 1
- 5 shares = 1 proof of work on difficulty 5 (or 5 proofs of work on difficulty 1)
- 100 shares = 1 proof of work on difficulty 100 (or. you can see the pattern)
To illustrate further, suppose that we have a large miner with share difficulty 10,000 and a smaller miner with share difficulty 100. Both miners submit one hash (i.e. 1 proof of work) every 2-3 seconds on average, but that 1 hash accounts for 10,000 shares for the larger miner and 100 shares for the smaller one.
This is how the pool is able to validate the work of larger miners without linearly scaling the pool’s own work. They still just need to run a single hash computation, but it represents more shares the higher the difficulty was in producing it.
How bitcoin mining pool luck is measured
If you find yourself confused by the concept of “luck” in mining, you’re not alone. In Braiins Pool's (formerly Slush Pool) 11+ year history as of 2021, luck has been the most frequent topic of questions. In order to fully grasp how it works, you first have to know about shares, which itself is not common knowledge. But now that you’ve read about shares, let’s get to luck.
Pool luck is defined as the expected number of shares to find a block divided by the actual number of shares it took for the pool to find a block. This expected number of shares is based on the network difficulty, where higher difficulty means that the expected amount of shares required will also be higher.
For a simple example with made up numbers, suppose that a pool has 10 miners each submitting 10 shares per second on average, for a total of 100 shares per second. Also suppose that the total expected number of shares to find a block with the current network difficulty is 600,000. At a rate of 100 shares/second, it will take 6,000 seconds (100 minutes) to accumulate 600,000 shares. In other words, the pool should find a block once every 1 hour and 40 minutes in this scenario, assuming constant network difficulty and pool hashrate.
Now let’s suppose the pool found a block after only 300,000 shares instead of 600,000. The pool luck for that block would be 200%, as it’s 600k/300k*100% = 200%. Alternatively, suppose it takes 1,200,000 shares to find a block. Now the luck for that block is 600k/1200k*100% = 50%.
This means that the pool luck cannot adjust until the pool finds a block, as it’s unknown how many shares it will take until the block find actually occurs. Luck is a static value that updates occasionally, not a dynamic one updating constantly.
However, you can still get a rough idea for what the luck would be if the block find occurred at the present moment by dividing the Avg. Round Duration by the actual Round Duration, shown below.

The Avg. Round Duration is calculated with the expected number of shares to find a block (based on network difficulty) and the expected amount of time to accumulate those shares (based on the pool’s hashrate). Fluctuations in the pool hashrate impact the rate at which more shares are accumulated, increasing the Avg. Round Duration when the pool hashrate drops and vice versa when the pool hashrate goes up.
It’s also important to notice what does NOT directly impact the Avg. Round Duration, nor the pool luck: blocks mined by other miners/pools. Mining is probabilistic, and the probabilities don’t change based on past history of the pool nor the luck of other miners. Every hash is just as likely to result in a block find as every other hash. Likewise, if it’s expected that 600,000 shares will be needed for the pool to find a block, it doesn’t matter whether other miners/pools find 20 blocks or 0 blocks in that time—the only things that matter for pool luck is the quantity of shares submitted to the pool and the network difficulty. And of course, remember that luck always trends towards 100% over time—it’s just math.
How pool luck translates to mining rewards

Finally, let’s move on to the question most of you probably came here to answer. That is, how does all of this affect my mining rewards on Braiins Pool?
In a simple world where you are maintaining a constant share of the pool’s total hashrate, luck translates 1:1 with your actual vs. expected mining rewards. If the pool luck is 100% in a 10-block period, it means that the pool found exactly as many blocks as expected given the pool’s hashrate in that time. If your portion of the pool’s hashrate didn’t change over that 10-block period, earning 100% of expected rewards applies to you as well. Likewise, 200% luck would mean you earned 2x more than expected, while 50% luck would mean you earned 50% as much as expected.
In the real world, the answer depends. For example, if you have downtime during a period of no blocks and you have full uptime when all the 10 blocks are found, you’d earn more than expected for your hashrate when the pool has 100% luck. On the other hand, downtime during block finds would result in earning less than expected when the pool has 100% luck.
However, note that this doesn’t apply for more hashrate joining the pool. When the pool’s hashrate increases while your individual hashrate stays constant, you will earn a smaller portion of rewards for each block. At the same time, though, the increase in the pool’s total hashrate results in reaching the expected amount of shares to find a block more quickly. Put another way, it means the pool should find blocks more often, so your reward per block goes down but the frequency of block finds offsets it. (This is with constant network difficulty.)
Every hash is just as likely as any other to produce a new block, meaning there is no way to try to “time the market” so to speak. You can try to “sell high” by scheduling downtime or hopping pools right after a block find, but the probability of another block find occurring is just as likely as at any other time. You can also try to “buy low” by joining the pool during a bad luck streak, but a long round doesn’t make it any likelier for the next hashes to result in a block find, either. In fact, since mining is pure math without any human emotion element (unlike markets), it is even more pointless to try to time it. Just keep hashing and remember that luck always trends towards 100% over time.
Estimating pools’ hashrate based on blocks found
Since per-block pool luck is only a function of the blocks mined by the pool, it doesn’t change based on the rate at which other miners are finding blocks nor as a function of time—it’s based purely on shares. A metric which does incorporate the general passing of time and other blocks being mined is the pool’s estimated hashrate.
We estimate the hashrate of every miner / mining pool on our Bitcoin Mining Insights dashboard using the network difficulty and the number of blocks found by each entity during a given period. At the time of writing, the period we use is 720 blocks, which works out to 5 days of mining activity if the average block time is 10 minutes. (Note: this is why different dashboards can have different numbers—there’s no one “correct” way to do it.)

As long as pool operators are honest in reporting their hashrate, the reported hashrate values will always be more accurate than the estimated hashrate values because estimated hashrate incorporates the natural short-term variance in bitcoin mining. Longer time periods should reduce this variance, but using too long of a time period can cause the estimated hashrate value to significantly lag the real hashrate value. 720 network blocks is a period we feel balances these two factors.
With reported hashrate being a real-time stat while estimated hashrate is over a longer time period, it’s not precise to calculate pool luck with these two values. It can certainly give you a general idea, but any significant changes in the pool’s hashrate during the analyzed time period (720 blocks on Mining Insights) will not be reflected properly.
Final thought: no matter how long you’re in mining, the difficulty adjustment never ceases to amaze.
Основные понятия
Share (шара, c англ. “доля”) — это работа которую должен сделать майнер, отправить на пул, за которую получает деньги. У шары, как и у любой работы, есть сложность.
Difficulty или Diff — это сложность шары. Количество хэшей, которое должен перебрать майнер, чтобы найти решение (шару).
- Например, если сложность равна 2000 MH, для нахождения шары майнер должен перебрать в среднем 2 000 000 000 хэшей.
Hashrate — количество хэшей в секунду, которое перебирает майнер. Если хэшрейт 30 MH/s, то майнер перебирает 30 000 000 хэшей в секунду. Это скорость, с которой майнит видеокарта майнера.
Хэш (Hash) — результат хэш-функции.

- Хэш-функция — это алгоритм превращения исходной информации, с помощью особых математических формул, в хэш.
- Хэш — результат работы алгоритма. Отображение данных в виде строки, уникальной для исходного набора информации.
Как работает майнинг на пуле?
Задача майнера — найти криптовалютный блок.
В одиночку майнеру находить блоки очень тяжело, поэтому майнеры объединяют усилия с помощью майнинг-пулов. Майнинг пул помогает разделить задачу по поиску блока между майнерами.
Награда за найденные блоки распределяется между майнерами пропорционально их вкладу в работу по поиску блока — каждый получает столько, сколько он вложил усилий для поиска блока.
Майнеры решают задачу, находят решения (sol, solution), или шары (share).
- Если решение выше сложности всей сети (подходит для подписи блока) — решение становится блоком. Этим решением блок подписывается и добавляется к блокчейну.
- Если решение ниже сложности сети, но выше сложности майнинг пула — оно ни чем не становится. Но пул знает, что вы добросовестно пытались найти подходящее решение. В блокчейн учитывается только найденный блок, а принятые пулом шары нужны для справедливого распределения награды между майнерами.
- Если решение ниже сложности пула или хэш решения ненастоящий, результат неправильный — решение невалидное (share invalid).
Награда, которую майнер получает от пула, определяется количеством шар, которые майнер нашёл, отправил пулу, и они были приняты и засчитаны пулом — share accepted.
Принятая шара (accepted share) — доказательство корректной работы майнящего устройства. Чем больше шар (решений) находит майнер — тем большую награду за своё участие в поиске блока он получает.
Как-то сложно… Давайте сделаем ремонт!
Представьте себе многоквартирный дом, в котором идёт ремонт (блокчейн).
Одному рабочему (пользователю майнеру) слишком долго и сложно сделать ремонт во всей квартире (найти блок в одиночку сложно).
Рабочие (майнеры) объединяются в команды под руководством начальника (пул), чтобы сделать ремонт в квартире и получить зарплату — (добыть блок).
- Допустим, рабочий — Супермен! Невероятно сильный, быстрый, опытный. Он сам, один, в поставленные сроки, качественно делает ремонт ВО ВСЕЙ квартире. За это он получает большую зарплату с хорошим бонусом (майнер самостоятельно нашёл блок).
- Теперь представим команду рабочих под контролем начальника. У каждого своя комната, своя работа. Кто-то клеит обои, кто-то красит потолки, кто-то делает сантехнику (отправляют шары). Все вместе, в поставленный срок, они сдают квартиру и получают за это деньги (пул находит блок). Начальник проверяет поклеенные обои: обои поклеены правильно, ровно, качественно — работа принимается (share accepted). Начальник оценивает и распределяет зарплату за честную работу (пул распределяет награду майнерам).
- Теперь представим такую же команду и начальника. Так же делают ремонт в квартире. Вот только рабочий, которому поручили поклеить обои — поклеил на стену газеты! Да, он работал, но вы бы приняли у рабочих такую квартиру, с газетами на стене место обоев? Вот и начальник не принял — такая работа не засчитывается и денег за неё рабочий не получит (share invalid).
На стройке начальник оценивает работу по понятным ему критериям, в то время как пул оценивает затраченные майнером усилия с помощью такого показателя, как сложность шары — share difficulty.
Для чего нужна сложность шары?
- Сложность шары нужна для того, чтобы честно оценить работу майнера — посчитать его работу.
- Сложность шары для майнинга подбирается каждым пулом индивидуально.
- Чем сложность шары ниже — тем лучше для майнера. Майнер может подключать любое оборудование, даже не слишком мощное. Шары будут идти быстрее, пользователь быстрее оценит доходность.
- Все шары, все решения, вся работа, которую делают майнеры, проверяет пул — компьютер. Чтобы компьютер не завис от миллиарда мелких вычислений, пул поднимает сложность, чтобы шары поступали реже.
- Многие пулы, особенно PPLNS, ставят высокую сложность шар чтобы сэкономить на мощных серверах. Мощные сервера, которые способны обработать большое количество шар, стоят дорого.
Если сложность слишком высокая, некоторые более слабые видеокарты подключить не получится, или наоборот — если сложность слишком низкая, пул будет перегружен проверкой простых вычислений.
Некоторые пулы подбирают сложность шары автоматически, в зависимости от мощности оборудования, на некоторых пулах сложность шар фиксированная.
Влияет ли сложность шары на прибыль майнера?
Нет, сложность шары на пуле на прибыль майнера не влияет!
- От сложности шар не зависит количество блоков, которые находит пул.
- Сложность шары не влияет на удачу майнера или на доход, который майнер получает за майнинг.
- Сложность шары не влияет на количество отклонённых stale шар.
Чем сложность шары ниже — тем шара дешевле, она чаще находится видеокартой, и даже слабая видеокарта сможет её найти.
Чем сложность шары выше — тем шара дороже, она реже находится видеокартой, и для её поиска нужна видеокарта мощнее.
Всё равно сложно? Объясним ещё проще — все на стройку!
Представьте себе стройку.
На стройке в двух кучах лежат мешки с цементом.
В первой куче лежит 10 мешков по 10 кг (высокая сложность).
Во второй куче лежит 100 мешков по 1 кг (низкая сложность).
Что в первой, что во второй куче — 100 кг (объём работы одинаковый).
На стройку пришли 2 грузчика, зарплата у них одинаковая — 500 рублей за переноску одной кучи. Один грузчик опытный — с тележкой (майнер с мощной фермой или АСИКом), а второй новичок — взял только перчатки (майнер с одной видеокартой GTX 1060).
- Для того чтобы перенести мешки по 10 кг нужна тележка, а мешки по 1 кг можно перенести и в руках. (Если сложность шары очень высокая — слабая видеокарта с работой не справится, нужна большая ферма).
- Грузчикам заплатят за то, что они перенесут мешки, но не за скорость переноса. Время, за которое они их перенесут на зарплату не влияет. (Майнерам платят за найденные шары, а не за скорость их нахождения).
- Начальнику не важно: кто, как и сколько мешков перенесёт — важно чтобы работа была сделана! (Награда за найденный блок одна и та же).
Для начальника выгоднее, чтобы мешки были большие — их проще считать. Если нанять грузчика с тележкой — он быстро перенесёт все мешки. Большие мешки считать легко, хватит пальцев двух рук! А вот 100 мешков по 1 кг считать — можно и сбиться…
Но что делать грузчику без тележки? (майнеру со слабой видеокартой)
Ему остаётся либо медленно таскать мешки, надрывая спину (если вообще сможет поднять), либо искать другую работу, которую он сможет сделать.
Грузчику же с тележкой всё равно. (майнеру с мощной фермой)
Ему что 1 мешок на 10 кг везти, что 10 мешков по 1 кг. Количество ходок не меняется, время потратит то же, и деньги получит те же.
Получается, что независимо от силы грузчика и его оборудования, для всех грузчиков лучше та стройка, где мешки меньше и легче, чтобы все могли получить работу.
А считать мешки — это уже работа начальника
А теперь представьте, что стройка — это пул, только мешков бесконечное множество.
Они будут всё время, и не закончатся, только успевай носить!
Какую стройку (пул) вы выберете?
- Ту, где берут только опытных грузчиков, чтобы было меньше мешков, ведь начальник может сбиться…
- Ту, где всем рады, начальник грамотный и опытный, никогда не ошибается, всем даёт работу, платит честно, да ещё и новичкам помогает!
Вторую? Мы так и думали! Добро пожаловать на пул Криптекса!
Криптекс рад всем грузчикам майнерам, и не важно есть ли у них тележка мощная видеокарта. Даём работу всем, и всем платим честно! А наши умнейшие мощнейшие начальники сервера быстро и чётко посчитают все мешки шары
Для самых стойких — пояснение на практике

- Сложность шары на пуле — DIFF: 2.000 GH = 2000 MH
- 2 видеокарты RTX 3060
- Майнер — NBMiner
- За 15 минут майнинга на пуле, первая карта (ID 0 — 49.65 Mh\s) нашла 20 шар.
- За 15 минут майнинга на пуле, вторая карта (ID 1 — 48.91 Mh\s) нашла 18 шар.
Как узнать, много это или мало? Можно провести проверку корректности работы карты!
Проверка корректности работы видеокарты
Зная сложность шары на пуле, и мощность оборудования (хешрейт) — можно просчитать среднее время нахождения шары на пуле.
Зачем? Чтобы понять, правильно ли работает наша видеокарта. Для этого нам нужно:
- Задача 1. Найти среднее время нахождения шары — сложность шары нужно разделить на хешрейт видеокарты.
- Задача 2. Определить расчётное количество шар, которое наша видеокарта должна найти с текущим хешрейтом, при текущей сложности, за время майнинга.
Чем дольше время непрерывного майнинга — тем точнее будет расчётное и фактическое количество шар, найденных видеокартой.
- Решение 1. 2000 MH / 49.6 Mh\s = 40.3 секунды = 0.67 минут — среднее время, за которое должна находится шара.
Это среднее значение, исходя из заданной сложности пула, и актуально для определённого промежутка времени. Вначале шары могут идти часто, например каждые 5-10-20 секунд, а затем каждые 1-2-5 минут. В среднем же получим около 0.67 минуты.
Это происходит потому, что сложность каждой отдельной шары может быть разной. Зависит от “удачи оборудования” (видеокарты, АСИКа), на сколько быстро оно смогло найти шару.
Итак, мы знаем среднее время, за которое находится шара на пуле с заданной сложностью. В нашем случае получилось 0.67 минут.
Зная наш аптайм (время непрерывного майнинга), мы можем вычислить примерное количество шар, которое получит наше оборудование.
Из условия — майнер проработал 15 минут.
- Решение 2. 15 минут (аптайм) / 0.67 минут (среднее время нахождения шары) = 22 шары
Наша первая карта (ID 0 — 49.65 Mh\s) нашла 20 шар. Наша вторая карта (ID 1 — 48.91 Mh\s) была менее удачной, нашла 18 шар, но и хешрейт у неё немного ниже.
В статистике пула, пользователь может наблюдать хешрейт больше, или меньше, чем показывает его окно майнера. Пул сам высчитывает хешрейт относительно принятых шар за промежуток времени (6 часов, 12 часов, 24 часа …), а не берёт хешрейт из окна майнера.
Чем дольше время беспрерывного майнинга — тем меньше будет разница расчётного и фактического количества шар.
Особенность майнинга такова, что сравнивать рассчитываемую и фактическую доходность нужно на большом промежутке времени только при работе в режиме 24/7. Вычисления носят вероятностный характер, и доходность — матожидание случайной величины. Поэтому они сходятся только на большом промежутке времени.
Важно пытаться отследить доходность на дальней дистанции. Чем дольше — тем точнее показатель.
- Для пулов типа PPS (Pay Per Share — оплата за каждую шару), особенно с низкой сложность шар — будет достаточно 24 часов.
- Для пулов типа PPLNS (Pay Per Last (luck) N Share — оплата за последнюю (удача пула) N шару), особенно с высокой сложность шар, потребуется 3-7-10 дней. Дольше — лучше.
Пулы PPS лучше для майнинга — вы точнее прогнозируете вашу прибыль, вы не зависите от удачи пула. Именно потому Криптекс использует PPS пулы для майнинга с низкой сложностью.
А что, если…
- А что, если бы мы при той же сложности, при том же аптайме и том же хешрейте получили не 20, а 5 шар?
- Сложность на пуле — статичная, 2 GH.
- Пул благополучно принял 5 решений.
- Значит по факту наша видеокарта не майнит с указанным хешрейтом! Программа-майнер ошибается, или видеокарта “сыпет” плохими шарами (клеит газеты вместо обоев). Нужно искать проблему на нашей ферме.
- А что, если бы сложность была не 2 GH, а 8 GH? Мы бы получили больше денег? Давайте посчитаем!
- Карта майнит 49.65 Mh\s
- Аптайм — 15 минут
- Сложность — 8 GH = 8000 MH
- 8000 MH / 49.65 Mh\s = 161.13 секунд = 2.69 минут — среднее время за шару 15 минут (аптайм) / 2.69 минут = 5.6 шар
- Это значит, что со сложность шары 8 GH, наша видеокарта нашла бы 5-6 шар, а не 20, как при сложности 2 GH.
Давайте вспомним стройку: что 20 шар со сложность 2 GH, что 5 шар со сложностью 8 GH будут стоить майнеру одинаково.
- Либо вы перенесёте 10 мешков по 1 кг в руках за 5 ходок.
- Либо вы перенесёте 1 мешок на 10 кг в тележке за 1 ходку.
Что за одну, что за другую работу вам заплатят одинаково!