Нахождение блока - это довольно редкое событие со случайной вероятностью наступления. Обслуживанию пула необходим метод, который бы обеспечивал честное распределение величины найденного блока среди пользователей пула и соответствующих выплат.
Наша система вознаграждений гарантирует, что когда новый блок найден, каждый пользователь получит вознаграждение пропорциональное его / ее участию в майнинговой мощности пула. Крупные майнеры получают пропорционально больше, чем небльшие майнеры.
Оценочный хешрейт
Участие пользователей в майнинговой мощности всего пула измеряется оценочным хешрейтом. Он отображает сколько работы пользователь выполнил в несколько последних часов. Вы можете воспринимать подсчет оценочного хешрейта как экспоненциальную скользящую среднюю от хешрейта всех майнинговых устройств пользователей, подключенных к пулу (читайте подробнее в статье EMA в Википедии). Усреднение сглаживает краткие падения или взлеты хешрейта и позволяет сделать вычисление вознаграждения более постоянным и справедливым (точное математическое определение приведено ниже)ю
Например, если ваш оценочный хешрейт составляет 1% от хешрейта всего пула, вы получите 1% от награды за блок. Если вам принадлежит 0,031% хешрейта - вы получите 0,031% от вознаграждения за блок. Все вот так просто. Пул вычисляет ваше вознаграждение за каждый найденный блок следующим образом:
Стоимость блока состоит из вознаграждения за блок и комиссий от транзакций, содержащихся в блоке. Оценочные хешрейты, использующиюся для вычислений, состоят из хешрейтов в момент нахождения определенного блока. Они отражают историю майнинга до момента, как блок был действительно найден. Комиссия пула для всех криптомонет перечислены в статье Вознаграждения, Выплаты & Комиссии ★.
График ниже показывает, как оценочный хешрейт со временем повышается и понижается, когда вы начинаете или прекращаете майнинг (эффективный хешрейт обозначен синим, оценочный хешрейт - золотым):
График реального майнера будет выглядеть очень похоже на тот, что находится ниже. Дело в том, что эффективный хешрейт майнера изменяется во времени:
Важные факты об этом методе
Важные свойства использования оценочного хешрейта для расчета вознаграждений:
Вы можете буквально видеть и понимать в любой момент как изменяется хешрейт и какое вы можете ожидать вознаграждение.
Вознаграждения полностью независимы от раундов. Единственная важная вещь - это оценочный хешрейт.
Когда вы начинаете майнинг, потребуется около 1,5 часа, пока оценка не достигнет вашего действительного хешрейта и затем станет постоянной.
Она постоянна на протяжении всего периода времени, пока ваши майнеры подсоединены и работают.
Когда вы прекращаете майнинг, оценочный хешрейтт начинает падать. Потребуется около 1,5 часов, пока она не станет приблизительно равным нулю.
Когда какой-либо другой майнер подсоединяется к пулу, ваш оценочный хешрейт останется без изменений, но хешрейт пула увеличится пропорционально. В результате вы будете получите меньшую часть найденных блоков в качестве вознаграждения, однако, это будет происходить более часто, поскольку, пул стал сильнее. Когда какой-либо другой майнер отсоединяется, происходит противоположное. Согласно статистике, в длительной перспективе, для вас это не имеет значения.
Математика за сценой
Начнем с базовых концепций и определений, чтобы описать как именно вычисляются вознаграждения и другие величины, предоставленный пулом. Постепенно, дойдем к самому интересному.
Решения
Когда майнер подсоединяется к пулу, он получает для решения вычислительную задачу - вычисляет значения хешей с определенными свойствами. Хеши, удовлетворяющие требованиям задачи, отправляются пулу и используются как доказательство работы майнера. Количество работы майнера регистрируется в единицах, которые называются решения. Если хеш (доказательство работы) со сложностью d отправлен майнером, тогда d решений начисляется пулом.
Каждый раз, когда новое решение регистрируется системой, записывается временная метка этого события, которая используется позже для оценки решения.
Для целей данного текста, мы рассматриваем каждое решение s так, как если бы оно было отправлено отдельно, как доказательство работы со сложностью 1. Этот подход приводит к тому же численному результату, однако, формулы, которые используются, менее сложные.
Обработка времени
Пусть τ" s="s будет функцией, которая указывает время, во время которого некоторое решение было отправлено (или когда был найден блок b). Время измеряется в секундах, начиная с определенной точки во времени (т.е. начала работы пула). Значение времени используется только для измерения того, сколько времени прошло между двумя событиями. Например, время между отправкой решения и другой точкой во времени t0, которая обощначена как τ(s) − t0, является ключевым элементом в оценке стоимости решений.
Оценивание решений - оценка
Оценка каждого решения (для вычисления вознаграждения) уменьшается во времени - более молодые решения оцениваются более высоким значением, чем старые. Это мотивирует пользователей майнить в пуле постоянно, без переключения между пулами. Когда пользователь отсоединяется от пула, оценка его решений начинает уменьшаться.
Точное значение оценки решений во времени определяется оценочной функцией c. Она вычисляет оценку решения s во времени t0 как
где λ - безразмерный системный параметр. λ определяет как быстро оценка, привязанная к решению, будет уменьшаться во времени. Чем больше λ- тем медленнее старые решения теряют свою оценку, по сравнению с новыми решениями. Сейчас, параметр λ установлен на 1200.
(Для пользователей, которые знакомы с оценочной системой Slush пула, которая использовалась несколько лет назад, одно из ключевых различий состоит в том, что оценка больше не связана с началом раунда, но определяется динамически, по отношению к заданному моменту времени t0. например, по отношению к момент, когда вы проверяете панель управления. Изменения очень тонки, однако, имеют серьезные следствия, поскольку полностью устраняют концепцию раундов из задачи вычисления вознаграждения.)
Продолжим. Пусть U - список всех пользователей пула и Su(t0) = {s0, s1, ... } список всех действительных решений, отправленных пользователями U к моменту времени t0. Более формальная запись имеют следующий вид
Тогда оценка для некоего пользователя U в момент времени t0 вычисляется как общая оценка всех его/ее решений с момента t0, отправленных в t0 или ранее:
Технически, пул вычисляет оценку для каждого воркера отдельно, но математика аналогична той, что была приведена.
Общая оценка пула C̅ - это сумма оценок всех пользователей в заданное время:
Вычисление вознаграждений
Когда блок b найден в момент времени τ(b) и его стоимость окончательно известна - V(b), пул может вычислить вознаграждения Ru для каждого пользователя u как указано далее (f - комиссия за услуги пула):
Для тех, кто очень любит математические уравнения, полная формула вычисления вознаграждения постоянной оценочной системы имеет вид:
Другие величины
Если вы посмотрите на страницу панели управления, вы увидите другие величины, вычисленные для вас пулом. Они следующие: Предполагаемое вознаграждение для пользователя u и время t0 вычисленное точно, как если бы блок был найден в данный момент времени, однако, вместо ценности блока (которая еще неизвестна) мы используем значение 6.25 BTC:
Вклад пользователя в пул (в %) определяется как
И последнее, оценочный хешрейт H для пользователя u и время t0 являются внутренними величинами и не вычисляются усреднением хешрейта, а получаются прямо из решений. Для их вычисления используется оценочная функция (результат выражается в хеш/секунду (h/s)):
Не удивительно, что оценочный хешрейт пула H̅ определяется суммой оценочных хешрейтов всех пользователей: