Что такое шары в майнинге

Что такое шары в майнинге

Любой майнер слышал термины «шара» и «сложность шары». Понятия важные — в том числе для заработка, так что их нужно понимать. В статье разбирается, что такое шара, зачем ей нужна сложность, чем шара отличается от решения блока и почему их нельзя путать.

Майнинг пул Эфириума. Источник: 2Miners.com

Давайте обратимся к Эфириум-пулу 2Miners. Пул использует систему выплат PPLNS, а на главной майнинг-пула указана сложность шары — 8,6G. Похоже на обозначение сети мобильного интернета из далёкого будущего, но это не так. Начинаем.

Сложность шары

Share: сущность понятия

Слово «шара» (фонетический эквивалент английского слова «share») и переводится как «доля» – доля количества решений в майнинге, предложенных оборудованием криптодобытчика, по отношению к общему количеству вычислительных решений, с помощью которых перебором pool пытается отыскать одно правильное. Чем мощнее майнинговое оборудование у участника, тем больше решений оно предложит – и тем больше работы на общее благо сделает. Поэтому владелец оборудования может рассчитывать на большее вознаграждение независимо от того, чьё именно устройство всё-таки отыщет подпись блока. Если оборудованию криптодобытчика в составе пула повезет отыскать верную подпись блока, то теоретически (если условия pool позволяют) он может получить вознаграждение и за найденный блок, и за величину доли своего участвующего в криптодобыче оборудования.

Фактически же все немного сложнее. Поэтому для создания полной картины разделим её на несколько смысловых блоков:

  1. Подключение к pool.В поиске криптографической подписи блока при работе в криптосетях с высокой сложностью криптодобытчик с одним вычислительным устройством практически не имеет шансов найти решение, соответствующее требованиям сети. В таких системах как Bitcoin или Etherium даже использование ферм для майнинга с несколькими видеокартами (для Etherium) или ASIC-устройствами (для майнинга Bitcoin) может растянуть самостоятельный поиск решения на годы. Чтобы этого избежать, криптодобытчики объединяют мощности оборудования в состав пула – общего вычислительного конгломерата, который производит поиск решения как одно целое.
  2. Хорошие и плохие шары.Если грубо разделить все варианты возможных решений, то получится три условных уровня сложности:
    • валидная для сети подпись блока, которая принимается в блокчейн и считается верным вариантом – то есть, это и есть решение, которое иногда называют «соло-шарой»;
    • вариант вычисления, который уже достаточно сложно найти, но который еще недостаточно хорош, чтобы считаться удовлетворяющим сложности сети;
    • вариант вычисления, который не удовлетворяет не только сложности сети, но и критериям pool– «мусорные» версии вычислений, которые не учитываются в расчетах. Шарами в таком разделении становятся версии среднего уровня, которые еще не стали верным решением, но которые уже продемонстрировали «серьезные намерения» в майнинге – степень участия оборудования в поиске удачных вознаграждаемых подписей.
  3. Распределение вознаграждения в майнинге.Когда пул находит подпись блока транзакции (то есть, подходящее решение), то не важно, чьи именно ASIC, видеокарта или центральный процессор произвели это вычисление, потому что pool-вознаграждение распределяется соразмерно участию в майнинге – пропорционально мощности ресурсов, задействованных для майнинга криптовалюты. А мощность эта определяется количеством присылаемых шар, соответствующих сложности пула. При этом существуют разные модели распределения вознаграждения, в которых немного по-разному рассчитывается это участие.

Зачем нужны шары

Кроме того, что share необходимы для поиска цифровой подписи нового блока, они используются в качестве идентификатора майнера. Сложность добычи любых альтов растет в геометрической прогрессии, соответственно, на одном ПК или ферме найти блок крайне сложно. На это уйдет от нескольких месяцев до 2-3 лет. Проблема решается объединением майнеров в сообщество – pool.

Поскольку участников пула много, а награда за блок одна, прибыль распределяется между майнерами пропорционально их вкладу. Каждая шара содержит неповторяющуюся цифровую подпись майнера. Ее невозможно подделать, скопировать или изменить. Соответственно, процедура раздачи альтов становится максимально прозрачной и честной.

Отличия шары от хеша

Система автоматически регулирует показатель сложности вычислений ключе подписи блоков, который затрудняет расчет хешей при увеличении общей мощности сети. Например, блоки биткоина должны закрываться каждые 10 минут. Если к сети присоединяется больше майнеров или они апгрейдят оборудование, скорость расчетов растет и время закрытия блока уменьшается. В ответ алгоритм повышает сложность расчетов и восстанавливает длительность закрытия блока.

Принимая хеши, алгоритм блокчейна оценивает трудоемкость вычислений и отсеивает ключи, сложность которых «хуже» заданной. Эти непринятые блокчейном хеши ресурс учитывает в качестве доказательства работы каждого майнера.

Блокчейн требует в качестве PoW валидный хеш, но для корректного учета производительности пулом этот показатель не подходит. Вероятность получения валидного ключа при соло-майнинге составляют примерно 1 хеш за полтора года непрерывных вычислений. Однако, участвуя в распределенных вычислениях, они вносят вклад в общее дело. Он зависит от производительности «железа» и качества канала передачи данных (при нестабильном доступе к интернету ключи могут теряться, не достигая получателя). Пул ведет подсчет количества принятых шар от каждого майнера. Хорошие принимаются в качестве хешей, плохие служат мерилом работы.

Для этой цели ресурс устанавливает собственный критерий сложности, помогающий отобрать хорошие shares. Отличие хеша в том, что хеш соответствует требованиям блокчейна, а шара — требованиям пула.

Например, при сложности 1000 пул устанавливает собственную границу сложности для учета подходящих «частей». Например, 10. В таком случае все «претенденты в хеши», сложность которых ниже 1000 и выше 10, учитываются сайтом как шары. Если же участнику посчастливится «добыть» ключ со сложностью выше 1000, пул отправит его в блокчейн и получит за его публикацию вознаграждение.

Признаки появления запоздалых шар

В системе пула может быть такое: система не отправляет команду «отбой», или рабочая клиент-программа по каким-то причинам не понимает действие возникновения причины, то есть, не понимает команду «отбой», и тогда примерно 0,5-1,5% шар будут признаны устаревшими.

Сам принцип отбоя реализован через программу long polling.

Иногда большое количество устаревших шар в сети, например ethermine stale shares, если параметры мощности пула очень высокие, а ваш пинг ниже средних показателей.В ряде случаев проблема может заключаться в других причинах, например, ваша ферма фризит.

Причины могут быть разные, тот же «глюк» снятия программы статистики, например с чего-нибудь системного (в данном случае с параметров сети), кроме этого могут возникать иные причины: пиковые процентные нагрузки; проблемы с сетевым драйвером; неожиданные «капризы» антивирусной программы; вы обратились к неисправному жёсткому диску или к другим системным параметрам вход-выход.

Как можно решить проблему

Наибольший процент причин возникновения устаревших шар среди майнеров занимает ненадлежащее обеспечение соединения контактов оборудования для майнинг-фермы.

В большинстве случаев Stale Shares не воспринимается системой как ошибка, просто компьютер не успевает вовремя передать шару в пул.

Естественно, появление устаревших шар в конечном итоге оказывает влияние на «фонд оплаты майнеров».

Совет таков: чтобы не возникало появления устаревших шар, добейтесь долгой и максимально безупречной работы ваших конструкционных частей ферм без зависаний, а также нужно снизить появления возможных перегрузок.

Если требуется, то уменьшайте показатели разгона, в частности цифры для MH/S. Пусть показатели будут меньше для разгона, зато вы добьётесь бесперебойной работы вашей аппаратуры и тогда не будете знать проблем с появлением запоздалых шар.

Самое худшее для опытного майнера – это погоня за хорошими показателями MH/S, в результате чего страдает техническая база фермы, а, следовательно, вы теряете свои заработанные деньги.

Итак, чрезмерный разгон видеокарты влияет негативно на саму работы системы, где появляются признаки зависания и перегрузки, вследствие чего происходит отход контактов входа-выхода или иного, и в процессе майнинга неожиданно всплывает много Stale Shares.

Шары и безопасность майнинга

Распространенный вопрос среди новичков — зачем майнеру отправлять валидную шару, подходящую для подписи блока данных, в пул. Ведь выгоднее отправить ее в блокчейн и получить вознаграждение самостоятельно.

Система работы пула организована так, что все шары несут в себе информацию о ресурсе, для которого они предназначены. Поэтому ресурс получит монеты независимо от того, будет ли направлен валидный ключ непосредственно от него или из другого источника. Шары без сведений о пуле попросту недействительны.

Самостоятельно «пересобрать» подпись майнеры не могут. Они не получают содержимого всего блока, к которому требуется рассчитать подпись. Для работы достаточно лишь заголовка с хешами фактического содержимого блока. То есть, воркер без пула не в состоянии собрать и отправить валидный хеш.

Единственный вред, который теоретически может нанести майнер — не отправлять найденный валидный ключ на ресурс. Такое действие наносит группе ущерб больший, чем одиночке. Теоретически, при наличии собственных вычислительных мощностей такая атака может принести определенную выгоду. Она носит название «атака удерживания блока» и увеличивает шансы атакующего самостоятельно найти и представить хеш. Но такие систематические действия быстро вычисляются владельцами ресурса при анализе статистических данных. И пользу они могут принести лишь мощным противникам, а не мелким майнерам. Поэтому попытки применить такие атаки на практике крайне редки.

В результате шары лишь используются в качестве доказательства участия воркера в поиске ключей и служат для расчета итогового вознаграждения.

Распределение награды за блок

У каждого пула есть свои правила и режимы выплат. За предоставляемую услугу пул получает свою долю, рассчитываясь с майнерами по одной из тринадцати систем.

Основные системы начисления награды

PROP (Proportional) — пропорциональная модель, при которой награда за блок делится строго пропорционально присланной каждым майнером доле шар. Как только блок найден, счетчик принятых шар сбрасывается и подсчет начинается с нуля. Это самая простая система, но выплаты крайне нестабильны, особенно для небольших пулов. Если майнер пришел и ушел во время «длинного» блока – он получит очень мало, а если майнил в удачный период – то может получить награду в несколько раз больше средней по калькулятору.

PPLNS (Pay Per Last N Shares) – тоже пропорциональное распределение, но более сглаженное. Одна из самых сложных для понимания систем, в то же время наиболее эффективная и для пула, и для стабильных майнеров.

Оплата рассчитывается за количество шар, присланных не за время, прошедшее между двумя найденными блоками, а за фиксированное количество определенных временных промежутков, называемых «шифтами» (shift — сдвиг). Количество и длительность «шифтов» каждый пул выбирает на свое усмотрение.

Выплаты происходят после того, как пул найдет очередной блок. Величина награды значительно меньше зависит от промежутков времени между блоками. Если блок долго не находится – то оплата плавно растет, если пулу везет и блоки сыплются, как из рога изобилия – то оплата за каждый отдельный блок снижается, но за время N* длительность_шифта сумма выплат остается более или менее постоянной.

Рассмотрим простой пример. На пуле действует система PPLNS с 10 шифтами, длительность каждого – 1 час. Хэшрейт устройств пользователя составляет 1/100 от общей мощности пула.

Полную награду, аналогичную пропорциональной системе, майнер начинает получать только после того, как он отработал на полной скорости своих устройств больше 10 часов. Если на момент получения пулом блока он майнил только 1 час – он заработает всего 10% от своей доли при пропорциональном распределении, если 3 часа – то 30%.

Казалось бы, чистой воды грабеж. Но если пользователь прекратит работу на пуле, то в следующие 10 часов он все так же будет получать награду – через 3 часа – 70% от «нормальной» доли, через 5 часов – 50% и так далее. Начисление полностью прекратится через те же 10 часов.

Допустим, за 10 часов пул нашел 3 блока. В этом случае, майнер получит 25 BTC*3/100, то есть 0.75 BTC. Если же за 10 часов найден один блок, то фактический доход майнера составит всего 0.25 BTC. Но, в отличие от системы PROP, «наработанные» им шары учитываются еще в течение 10 часов, и если будут быстро добыты еще несколько блоков – они компенсируют неудачный период.

То есть, система PPLNS сглаживает влияние фактора случайности, но не может полностью его исключить. Она лучше всего подходит для майнеров, которые постоянно работают на одном пуле. Еще одно ее достоинство – низкие или нулевые комиссии, так как пул не несет рисков перед пользователями, выплачивая только фактически добытое. Некоторые пулы включают в распределение и комиссии, полученные за проведение транзакций. У PPLNS есть несколько разновидностей, принципиально не меняющих схемы.

PPS (Pay Per Share) — фиксированная оплата за каждую принятую пулом шару. В этом случае пул назначает за шару фиксированное вознаграждение. Оно рассчитывается на основании награды за блок, разделенной на текущую сложность в сети, а потом умножается на количество присланных пользователем шар со сложностью 1. С точки зрения пользователя, такая система наиболее «справедливая», так как оплачивается вся выполненная работа, независимо от ее результата – то есть не важно, найдены блоки или нет.

Но для пула такой подход несет серьезные риски – так как длительные периоды между блоками, орфаны (не принятые сетью блоки) приводят к убыткам – пул выплачивает награду майнерам авансом из резервов, но сам дохода не получает. Поэтому, на пулах с системой PPS обычно устанавливается высокая комиссия – обычно от 3 до 7%.

Режим PPS, в свою очередь, имеет разновидности:

SMPPS — каждая шара ценится по номиналу, но за счет задержки перед выплатой, чтобы пул смог найти блоки для пополнения резерва. Интервал обычно составляет 120 блоков (стандартное число, необходимое, чтобы можно было тратить биткоины из эмиссионной транзакции). Обычно пулы с таким методом начисления комиссию не берут. Примеры: Eligius (0%).

RSMPPS — при нахождении блока награда распределяется пропорционально количеству полученных от майнеров шар за последний блок, без учёта задолженности по предыдущим блокам.

Если после этой раздачи что-то осталось, остаток распределяется пропорционально задолженности по предпоследнему блоку. Если и после этого что-то осталось, выплачивается задолженность по еще более ранним блокам. Такая система выплаты выгодна для новых участников пула, так как задолженность по старым блокам выплачивается по остаточному принципу и не влияет на размер выплат новым участникам. Но накопленная задолженность может стать критической для пула при уполовинивании награды за блок, как это случилось с tzod.ru. Сейчас ни один крупный пул не использует этот механизм.

Для майнера, работающего на одном пуле, не важно, какая система оплаты используется. Разумеется, более выгодны системы без комиссий.

На странице Биткоин-википедии Comparison of mining pools можно найти наиболее полную таблицу сравнения пулов с их характеристиками. Но она не очень часто обновляется, и многие данные могут быть устаревшими. Многие пулы из тех, что начинали первыми, уже закрылись.