вай нет стейл что это
Ping влияет на доходность майнинга Ethereum — правда ли это?
Поговорим о пинге (по-английски ping или latency), и о том, как он влияет на доход майнеров Эфириума. Также разберём важный вопрос про Uncle-блоки, и как их количество на пуле влияет на доход майнеров. Всё это — на примере пула 2Miners.
Многие майнеры начинают сравнивать майнинг-пулы по величине пинга. Они смотрят в свою программу-майнер и видят там информацию о скорости отправки шар на пул. Допустим, это 50ms (миллисекунд) на одном пуле и 150ms на другом. Затем делают вывод, что первый пул явно лучше второго. Правильно ли они поступают? Разбираемся.
Что такое шара на пуле?
Ша́ра — это единица работы майнера на пуле.
Процесс взаимодействия майнера и пула очень прост. Пул отправляет майнеру работу, то есть говорит ему, какую задачу решать и что делать. Майнер отправляет на пул ша́ры, то есть решения (от английского слова «share» — доля).
На скриншоте ниже показано окно программы-майнера, в котором отмечены моменты отправки шар на пул.
Что такое пинг на пуле?
Пинг на майнинг-пуле — время, за которое шара, отправленная майнером, дойдёт до пула, и будет обработана пулом.
Что значит «обработана»? Все просто — принята или отклонена. Пул проверяет все шары, которые к нему приходят, являются ли они правильными решениями или нет. То есть пул не может верить майнеру на слово.
Надо понимать, что команда PING (в windows или linux) — это то, как быстро вам ответил сервер. PING в окне майнера — это как быстро сервер майнинг-пула получил вашу шару, обработал её и сообщил вам, что всё хорошо. Поэтому в окне майнера пишут не PING, а время обработки шары (Share accepted time).
Интерфейс Stratum Ping Master
Нельзя ориентироваться на пинг при выборе пула
Майнер подключился к пулу и начинает отправлять на него шары. Видит, что шары принимаются за 50 мс (пинг 50 мс). Потом майнер подключился к другому пулу и видит, что шары принимаются за 150 мс. Пойду на первый — решил он. Там лучше.
Это в корне неверно, так поступать нельзя!. При выборе пула вместо пинга надо смотреть на статистику стейл-шар. Разумеется, надо смотреть и на другие факторы, такие как MEV-вознаграждение и как оно распределяется, комиссию пула, удобство использования и так далее.
Вернёмся к шарам. На пуле 2Miners есть подробная статистика для шар каждого майнера.
Благодаря существованию Uncle-блоков в сети Ethereum любая опоздавшая шара — пусть даже на 1000 мс или 2000 мс — может стать решением для блока. Да, за такой блок не дадут полное вознаграждение в 2 ETH или более. Зато могут дать 1.75 ETH как за Uncle.
Многие пулы неверно трактуют понятие stale-шар (опоздавших). Шара пришла через полсекунды после того, как пул начал рассылать новое задание — всё, для них она мусор. На 2Miners это не так. Мы бережно относимся к любым шарам и стараемся выжать максимум из них. Шара опоздала — не беда, возможно, получится сделать Uncle.
Когда вы начинаете майнить на пуле, смотрите статистику своих шар. Если у вас нет стейл-шар, значит пул вам отлично подходит. Нет никакой разницы, какой там у вас пинг.
Повторимся, разумеется, есть и другие факторы при выборе майнинг-пула: способ начисления вознаграждения, комиссия, MEV и так далее. В данном случае речь идёт только о пинге.
В доказательство нашей теории приведём вам простой пример.
Есть два одинаковых майнера по 500 MH/s каждый. У одного пинг до пула 50мс, а у другого — 500 мс.
Первый майнер отправил за час на пул 200 шар, все были приняты, ни одной стейл-шары.
Второй майнер отправил за час на пул 200 шар, все были приняты, ни одной стейл-шары.
Оба они получат одинаковое вознаграждение. Первый майнер не получил больше за то, что у него маленький пинг, а второй майнер не получит меньше из-за большого пинга.
Отличие Ethereum от других криптовалют. Uncle-блоки
Важным отличием Ethereum и других монет на алгоритме Ethash от всех других криптовалют является наличие так называемых Uncle-блоков. В сети Ethereum очень маленькое время блока: в среднем новые блоки появляются раз в 13 секунд. У большинства криптовалют оно выше, например, в сети Bitcoin новые блоки находят каждые 10 минут.
Как только кто-то нашёл новый блок, он должен быстро-быстро передать информацию о нем другим узлам — майнерам сети. В сети Ethereum часто примерно в одно и то же время разные майнинг-пулы находят новые блоки и конкурируют между собой.
Концепция uncle-блоков позволяет поощрять майнинг-пул, который нашёл решение блока чуть позже, чем другой пул. Может быть и такая ситуация, что два пула нашли новые блоки одновременно, но один пул связан с бóльшим количеством больших майнинг-пулов в сети, чем другой. В таком случае первый пул получит полное вознаграждение за блок, а второй пул вознаграждение за Uncle-блок.
На текущий момент вознаграждение за блок в сети ETH составляет чуть более 2 ETH в среднем, в то время как Uncle-блок стоит 1.75 ETH. Разница минимальна.
Награда за Uncle-блок в сети Эфириума
Много Uncle-блоков — плохо. Правда или миф?
Любой пул априори должен стараться поддерживать хорошую связь с другими узлами сети, для того чтобы быстро получать информацию о новых блоках, а также быстро передавать информацию о тех блоках, которые нашёл сам пул.
На пуле 2Miners мы очень тщательно следим за тем, чтобы пул был связан с максимальным количеством узлов по всему миру. Помимо этого, мы отдельно договариваемся с другими майнинг-пулами и связываем наши узлы сети напрямую. Это позволяет без задержек передавать и получать информацию о новых блоках.
Кстати, мы поддерживаем специальный сервис, который показывает статистику работы узлов сети разных майнинг-пулов — Ethereum Network Stats.
Когда вы слышите фразы типа “У этого пула много Uncle-блоков, потому что у него плохие серверы”, скорее всего это ложь. Мы убеждены, что хорошие майнинг-пулы из ТОП-10 наверняка в состоянии купить и настроить качественные серверы.
Однако количество Uncle-блоков может расти по независящем от пула причинам. Например, ранее, когда самый популярный пул в сети Ethereum — Sparkpool — находился в Китае, бывали ситуации, когда по причине Великого Китайского Файервола связь пулов Китая и европейских/американских пулов была нарушена. Задержки в передачи информации между пулами были большие, на пулах было много анклов.
Ниже приведен пример нормальной работы пула. Кстати, количество анклов и удачу пула всегда можно посмотреть на странице блоков.
Брать анклы или не брать?
Тут однозначный ответ “БРАТЬ!” И чем больше — тем лучше. Судите сами, один пул нашел 100 блоков и 5 анклов, а второй пул нашел 100 блоков и 10 анклов. Разница в вознаграждении составит более 3 процентов, представляете.
Тут нельзя дать однозначный ответ — ДА или НЕТ.
Если анкл образовался из-за того, что нода пула плохо связана с другими узлами сети — плохо. Если анкл рассматривать как дополнительное вознаграждение, которого могло бы не быть — хорошо.
Бонус-раздел. Пустые блоки по 2 ETH без транзакций — это плохо, верно?
Мы с вами разобрались с тем, что большое количество Uncle-блоков совершенно не говорит о том, что пул плохой. Возможно, даже наоборот.
Давайте теперь рассмотрим ещё одно заблуждение, которое гласит что “пулы, которые майнят блоки по 2 ETH — г*вно”.
Расшифруем. Блоки по 2 ETH, это пустые блоки, в которых нет ни одной транзакции.
Пустой блок Эфириума без транзакций
Обратите внимание, что обычно блоки по 2 ETH образуются почти сразу после того, как был найден предыдущий блок. Для примера смотрите блок 11 789 558 на 2 ETH, а за секунду до него был блок 11 789 557. Смекаете, к чему мы ведём?
Из-за особенностей работы ноды Ethereum в первые 200-300 мс работы над новым блоком, она «создаёт пустые блоки». И никуда от этого не уйти. Иными словами, если пул только что нашёл новый блок или только что получил информацию о новом блоке из сети, в первые доли секунды блок «голый», пул не успевает «забить» блок транзакциями.
Опять же, если учесть, что ТОП-пулы в состоянии купить и правильно настроить серверы, блок на 2 ETH — нормальное явление. Ничего страшного в этом нет. Вот если пул получил информацию о новом блоке 10 секунд назад, а потом в блок не включил ни одной транзакции — это беда. Можно сказать, действительно, что пул плохой. Но, поверьте, такие случаи единичны.
Можно ли как-то решить эту проблему с нодой ETH на стороне пула? Можно. Можно поставить некий тайм-аут, задержку. Допустим, первые 500 мс после получения информации о новом блоке, держать майнеров в неведении и продолжать давать старую задачу. Результат будет такой — вместо пустого блока на 2 ETH пул может найти анкл на 1.75 ETH. Что лучше — 2 или 1.75? Конечно 2! Поэтому делать такую “заплатку” нет никакого смысла.
Ещё больше интересного ищите в нашем крипточате миллионеров. Там поговорим и на другие темы, связанные с блокчейном и децентрализацией. А если вы хотите лучше разбираться в майнинге, тогда вам в чат пула 2Miners.