Соло-майнинг vs. майнинг-пул: выбираем и начинаем майнить



Награда за блок биткоина, по текущему курсу составляющая около $90,000, выглядит привлекательно. Однако нельзя забывать о соревновательном характере майнинга: награду получит тот, кто первым добудет блок, а скорость добычи зависит от доли хэшрейта, то есть доли от совокупной мощности сети. Учитывая, что совокупная мощность сети Bitcoin на сегодня превышает 50 эксахэш в секунду, а одно из самых мощных оборудований для соло-майнинга — ASIC-майнер Antminer S9j от Bitmain — дает только 14.5 TH/s в секунду, доля майнера в сети составит около 0.00001%. С таким хэшрейтом добыча блока может занять несколько тысяч лет. Майнинговый калькулятор показывает, что если мы будем обладать огромными мощностями в 1 PH/s (то есть у нас будет 69 ASIC-майнеров Bitmain по $600 каждый), то мы сможем добыть блок биткоина за 335 дней — и то не со 100%-й вероятностью. Не намного лучше сегодня складывается ситуация при майнинге Ethereum: по расчетам, ферма за $3000 найдет блок эфира не раньше чем через год.

соло-майнинг и майнинг-пулы

Потому о соло-майнинге популярных криптовалют c высоким хэшрейтом, включая биткоин кэш (4 Exahash/s), лайткоин (251.941 TH/s) и Ethereum Classic (14.965 TH/s), лучше не помышлять, это «дела давно минувших дней». При этом каждый год сложность сетей популярных криптовалют растет. Так, за 2017 год сложность биткоина увеличилась в 5 раз, эфира — в 23 раза, лайткоина — в 48 раз.

Современная лотерея

Процесс майнинга представляет собой перебор хэшей: пока кто-то не найдет подходящий ответ. И чем больше хэшрейт вашего оборудования, то есть чем больше вариантов в секунду вы перебираете, тем выше вероятность того, что обогатившимся на несколько битокинов (или эфиров, или монеро) будете вы. Однако это всего лишь вероятность, и никто не застрахован от того, что искомое решение по счастливой случайности найдет другой майнер — грубо говоря, вы переберете несколько миллионов хэшей, а правильный (с ничтожной долей вероятности, но все же) может найти майнер, «попробовавший» всего один хэш. «В противоположность распространенному убеждению, майнинг не предполагает прогресса. Каждый хэш с одинаковой вероятностью может оказаться валидным хэшем [для решения] блока», — отмечает крипто-энтузиаст Адмир Тулик. Даже сервисы, позволяющие подсчитывать прибыльность майнинга на основании мощностей вашего оборудования, при выдаче результатов делают оговорку: «может значительно варьироваться в зависимости от вашей удачи».

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

Соло-майнинг

Соло — первый способ майнинга, который мы рассмотрим. Он представляет собой добычу монет в одиночку, а не совместно с другими майнерами.

Выбираем криптовалюту

Учитывая непродуктивность соло-майнинга многих популярных монет, для «работы в одиночку» сегодня лучше всего искать новые альткоины, которые используют алгоритм Proof-of-Work и чей хэшрейт пока очень низкий. Такие монеты можно искать в специальном разделе на Bitcointalk. Конечно, тратить ресурсы стоит не на каждую новую криптовалюту: прежде чем приступать к майнингу, нужно изучить проект и «вкладываться» в него как майнер только в том случае, если вы видите перспективы роста и окупаемости затрат и считаете эту криптовалюту (лишь!) временно недооцененной.

Для расчета прибыльности майнинга существует много калькуляторов. Некоторые из них посвящены отдельным алгоритмам. В конце мая пользователь Coinguides выделял в качестве перспективных криптовалют для майнинга Verge, FeatherCoin, ZenCash, Komodo, Electroneum и PhoenixCoin. Однако сложность майнинга и хэшрейт сети — динамические показатели, и поэтому опытные майнеры зачастую ежедневно выбирают, какую монету выгодно добывать в данный момент.

Один из популярных калькуляторов для подсчета прибыльности майнинга с использованием имеющихся у вас GPU или ASIC — сервис WhatToMine. На его примере разберемся, как работают такие сервисы.

Открыв раздел GPU, вы увидите наверху две строки по 8 полей — это наиболее популярные модели графических карт (верхний ряд — от производителя AMD, нижний — от Nvidia). В соответствующие поля введите количество графических карт каждой модели, которые вы планируете использовать. Справа внизу укажите стоимость электроэнергии (кВт⋅ч) в вашем регионе (по умолчанию она устанавливается как $0.1).

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

Те же вычисления сервис может проделать для ASIC-майнинга. А в разделе «Coins» можно выбрать монету и посмотреть детали ее блокчейна (алгоритм, время добычи блока, последний добытый блок, награда за блок и так далее), а также рассчитать прибыльность майнинга на вашем оборудовании конкретно для данной монеты.

Выбираем оборудование

Для начала разберемся с типами майнингового оборудованиями и их основными особенностями:

 ASIC (интегральная схема специального назначения). Очевидный плюс «айсиков» в высокой производительности: так, недавние ASIC-майнеры от Bitmain дают 220 KH/s для монеро, 180 MH/s для эфира, 815 GH/s для Siacoin, а ASIC-майнер Antminer S9 для биткоина дает 13.5 TH/s. Минус заключается в том, что ASIC'и разрабатываются под конкретный алгоритм: SHA256, ethash, equihash и прочие. Список криптовалют, использующих каждый из алгоритмов, невелик. А если (как и полагается) исходить из подсчета прибыльности майнинга для каждой отдельной монеты, то ASIC'ов придется купить несколько, а это недешевое удовольствие. Отдельные ASIC-майнеры способны работать сразу с несколькими алгоритмами, но их список тоже ограничен.

 GPU (графический процессор). Самые популярные (и конкурирующие) производители видеокарт — AMD и Nvidia. Графические процессоры уступают ASIC'ам в скорости, но зато они универсальны, то есть могут работать с любой криптовалютой. Кроме того, на одну майнинговую ферму можно поставить несколько видеокарт, таким образом повышая производительность.

 CPU (центральный процессор). Для большинства криптовалют «домашний» майнинг на центральном процессоре ПК остался в прошлом — при высоком хэшрейте сети он становится бессмысленным. Однако если криптовалюта еще не успела развиться, то даже средняя производительность процессора даст свои результаты. Одним из популярных алгоритмов, для которых все еще выгоден майнинг на CPU, является CryptoNight, использующийся, в частности, в Monero, Electroneum, Bytecoin. При этом производительность процессора, конечно, играет ключевую роль, и наиболее прибыльным CPU-майнинг будет на таких процессорах, как Intel i5, Intel i7, AMD A6, AMD Ryzen 7.

HDD- и SDD- диски. Такой способ майнинга возник на фоне дефицита видеокарт — вместо них используется жесткий диск. При этом достаточно обычного ноутбука со встроенной видеокартой. Эффективность майнинга в данном случае зависит не от количества устройств, а от общего объема памяти. Добывать таким образом можно криптовалюты, основанные на алгоритме Proof-of-Capacity (PoC) («доказательство ресурсов»): для майнинга они используют память на жестком диске, а не вычислительные мощности, как Proof-of-Work. По такому принципу построены, например, Siacoin, Storj, Burst. Однако этот тип майнинга мало распространен из-за низкой производительности — заработать на нем почти невозможно.

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

Начинаем майнить

Когда мы выбрали монету, можно переходить к техническим деталям, которые потребуют определенных специализированных знаний: для соло-майнинга необходимо настраивать локальное окружение и RPC-порт (порт удаленного вызова процедур). Основные шаги выглядят так:

 Устанавливаем локальный кошелек монеты, которую мы будем майнить. Необходимо дождаться полной синхронизации кошелька: пока не появится сообщение «synchronization finished» или «up to date».

Если кошелек находится на том же устройстве, на котором вы будете майнить, то далее:

 Создаем конфигурационный файл и настраиваем RPC-порт. Для этого закрываем кошелек и открываем конфигурационный файл кошелька.

В конфигурационном файле пишем следующие команды:

Где rpcallowip — локальный IP-адрес вашей системы. В целях безопасности никогда не давайте допуск внешним IP — только тем, которые подключены к вашей приватной сети. В свою очередь, rpcport — это способ идентификации устройства. Это адрес порта, на котором ваш кошелек будет «слушать» сетевые подключения и запросы. Значения юзернейма, пароля и порта можно поменять.

Также необходимо убедиться, что ваш сервер настроен и принимает подключения со стороны вашего оборудования (то есть его IP-адреса).

 Далее загружаем и настраиваем майнер (программу для майнинга, например, ccminer, cgminer, bfgminer и так далее). Его необходимо будет привязать к IP-адресу RPC-порта или порта компьютера, на котором запущен кошелек. В данном случае в качестве примера использовался ccminer. В конфигурационном файле указываем:

4 значения — юзернейм, пароль, IP и порт — которые вы до этого ввели в конфигурационном файле кошелька, должны быть такими же, как в конфигурационном файле вашего майнера.

 Сохраняем пакетный файл (текстовый файл, содержащий набор команд, которые выполняются интерпретатором командной строки) и запускаем майнер. Готово — теперь вы майните!

Меры предосторожности:

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

 Зашифруйте свой кошелек (найдите соответствующий раздел в своем клиенте, придумайте пароль, и клиент зашифрует его с помощью алгоритма AES-256-CBC).

 Никогда не добавляйте внешний IP-адрес в свой конфигурационный файл.

Однако обычно в целях безопасности кошельки не устанавливаются на майнинговом оборудовании. В этом случае майнера нужно будет подключить к компьютеру, на котором работает кошелек. Для этого потребуется знать внутренний IP этого компьютера и внутренний IP майнинговых установок, которые вы используете. Локальный IP-адрес вашему компьютеру и каждой майнинговой установке автоматически приписывается вашим WiFi-роутером, и доступ к этому IP можно получить только внутри вашей приватной сети, что и обеспечивает защиту.

Чтобы узнать внутренний IP, откройте command prompt — программу-интерпретатор командной строки. В командном окне вставляем ipconfig и нажимаем enter. В выводе получаем Ipv4-адрес, который и является внутренним адресом этого устройства:

Так мы узнаем IPv4-адреса майнинговых установок и компьютера. Далее закрываем кошелек и открываем его конфигурационный файл. Вводим rpcallowip для каждого из этих IP. Затем сохраняем файл и открываем кошелек.

Теперь в командном файле майнинговой установки, в поле URL, вводим IP-адрес устройства, на котором запущен кошелек. Сохраняем и запускаем файл. Если он работает, используем те же установки для командных файлов всех остальных майнинговых установок.

Чтобы не стать жертвой частных ошибок, проверяем еще несколько моментов. Во-первых, высоту блока, который вы в данный момент майните. Открываем консольное окно отладки (Debug window) и вводим getmininginfo: эта команда даст высоту блока в качестве вывода. Дополнительно сверить текущую высоту можно в эксплорере блоков.

Далее вы увидите процесс хэширования, выполняемого вашим оборудованием, и когда оно подберет искомый хэш, появится оповещение «yes». Награда за блок сразу же отразится в вашем кошельке — на адресе, который вы ввели в пакетном файле майнера.

Ошибки, которые может выдавать майнер:

Они означают, что монета или ваше майнинговое ПО не поддерживают соло-майнинг. Большинство новых монет поддерживают только протокол getblocktemplate (и отказались от протокола getwork), тогда как из майнингового ПО getblocktemplate поддерживается только sgminer, cgminer и некоторыми версиями ccminer. Если для какой-то криптовалюты вы не можете найти майнер, поддерживающий соло-майнинг, придется настраивать собственный пул или присоединяться к существующему пулу.

Майнинг в пуле

Пул — это протокол для группы майнеров, позволяющий им работать вместе и делить прибыль, получая меньше монет, но более регулярно. Майнеры «вносят вклад» в добычу блока своими вычислительными мощностями, то есть своим оборудованием. Майнинг-пулы сосредотачивают большие мощности и добывают блоки с большей периодичностью, чем сольные майнеры. «Если мы объединяемся в пул, то вся совокупная его мощность является как бы одним мощным устройством, которое в силах найти несколько блоков в день. А потом система делит награду за блоки в равных пропорциях в соответствии с твоей долей мощности в этом пуле», — поясняет эксперт в области инновационных технологий Юрий Кудлович.

Первый биткоин-пул — Slushpool — появился в 2010 году. Крупнейшие на сегодня пулы — BTC.com, AntPool, SlushPool и ViaBTC. По состоянию на август они владеют 18.1%, 16.6%, 12.9% и 11.3% хэшрейта сети Bitcoin соответственно.

Когда один из членов пула добывает блок, награда распределяется среди всех участников на основе их вклада, то есть предоставленного ими хэшрейта и, как следствие, — количества переборов хэшей. Чем большим хэшрейтом владеет майнер, тем больше хэшей (вариантов правильного решения задачи) в секунду он генерирует и тем больший вклад вносит.

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

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

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

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

Награда в пуле

Существует два способа платить майнерам в пуле. Первый — иметь кошелек пула и оправлять награду майнерам, когда они ее требуют, а второй — используемый, например, в p2pool, — отслеживать, сколько шар генерируют майнеры и настраивать параметры coinbase-транзакции так, чтобы награда за блок направлялась напрямую тому, кто добудет соответствующий блок. Такой способ организации выплат защищает участников от мошенничества со стороны пула, поскольку его оператор не может присвоить часть награды.

Один из недостатков работы в пулах заключается в том, что майнер, как правило, должен платить пулу комиссию с каждой награды, которую он получает (в среднем до 4%). Некоторые пулы используют систему, при которой подобная комиссия не взимается, однако в таком случае пул по умолчанию зачисляет себе комиссии с транзакций, содержащихся в каждом добытом блоке.

Сама награда майнера в пуле может иметь множество вариаций (в зависимости от правил конкретного сервиса). Стандартные схемы выплат включают:

 PPS (Pay Per Share). При такой схеме каждый поданный шар оплачивается определенным количеством биткоинов, равным текущей награде за блок (12.5 биткоина), поделенной на текущую сложность сети. При таком подходе исключается лотерейный аспект, или фактор удачи, поскольку вы получаете фиксированные выплаты за каждую поданную шару.

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

 PPLNS (Pay Per Last N Shares). Схожа с пропорциональным методом, но вместо учета количества шар, поданных в каждом раунде, этот метод награждает за N новейших шар, вне зависимости от границ раунда. Эта схема включает фактор удачи: диапазон колебания ваших наград — до 60% (на 30% больше или меньше среднего значения). Однако в долгосрочной перспективе PPLNS приносит примерно на 5% больший доход, нежели PPS.

 SMPPS (Shared Maximum Pay Per Share). Работает как PPS, но никогда не выплачивает больше, чем заработал пул.

 ESMPPS (Equalized Shared Maximum Pay Per Share). Работает как SMPPS, но уравнивает платежи между всеми, кому они полагаются.

 CPPSRB (Capped Pay Per Share with Recent Backpay). Каждый раз, когда в сети находится блок, пул платит за столько шар, сколько может, отдавая предпочтение последним поданным шарам. Преимущество метода в том, что блоки находятся с определенной регулярностью и выплаты не зависят от менее регулярных успехов пула.

 Ведение «счета». Такая соревновательная «система очков» предполагает пропорциональную награду, основывающуюся на скорости предоставления шары. Чем позднее (с момента начала очередного раунда) подана шара, тем больше она стоит. В результате новейшие шары стоят гораздо дороже, чем старые, и потому «счет» майнера резко уменьшается, когда он перестает майнить на такой пул. Награды вычисляются пропорционально этим очками, а не количеству шар.

 RSMPPS (Recent Shared Maximum Pay Per Share). При такой схеме пул «предпочитает» шары, найденные в текущем раунде. При этом «задолженность» пула по предшествующим блокам выплачивается в зависимости от имеющихся у него средств, так что при подобном распределении выигрывают новые участники.

Как запустить собственный пул

Прежде всего, для запуска пула потребуется ПО. Если вы обладаете достаточно серьезными разработческими навыками, то сможете написать его самостоятельно. «Заготовки», то есть код для пула, можно найти на GitHub (например, Open Ethereum Mining Pool для майнинга эфира) или же воспользоваться бэкэнд-инструментами, которые предоставляют некоторые пулы (например, p2pool или Pushpool). Однако в обоих случаях графический интерфейс пользователя (GUI) придется создавать самостоятельно, что, опять же, требует опыта в программировании. Лучше, чтобы пул был кроссплатформенным: мог существовать и на Windows, и на Linux. Кроме того, один из недостатков пулов заключается в подверженности хакерским атакам. Потому ваш пул должен предусматривать защиту от DDoS-атак.

Следующий необходимый элемент — сервер с высокой пропускной способностью, который сможет обрабатывать большое количество трафика. Домашнего компьютера для этих целей не хватит — сервера нужно арендовать в дата-центрах. Они должны быть устойчивы к отказам в работе, быть онлайн круглосуточно и, желательно, территориально располагаться в разных местах (в идеале — в Европе, Азии и Америке).

Схематично запуск пула по шагам выглядит так:

 Выбор криптовалют для майнинга.

 Запуск серверов и сайта пула.

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

 Маркетинг (привлечение майнеров).

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

Стоимость запуска пула определяется криптовалютой, которую вы собираетесь майнить. Так, по состоянию на июнь 2018 года, разработка Ethereum-пула оценивалась приблизительно в 60 эфиров — без учета хостинга серверов, стоимости маркетинга, персонала и так далее. С этими расходами затраты возрастут в несколько раз.

Соло vs. пул

Помимо очевидных выводов — не тратить всю жизнь на сольную добычу одного блока биткоина — выбор способа майнинга зависит от конкретной монеты, ваших целей по объему заработка, возможностей в плане материальных и временных затрат, предпочтений в характере работы и так далее. Создатели калькулятора прибыльности Rubin Mining рекомендуют не майнить в одиночку, если по результатам расчетов генерация одного блока займет более 10 часов, а также, согласно руководству Coinguides, лучше не майнить соло, если ваше оборудование не способно добывать минимум по блоку в день.

Плюсы пула:

 Стабильный доход

 Простота использования

Минусы пула:

 Пул может выходить в оффлайн из-за технических проблем серверов

Большинство пулов централизованы и подвержены DDoS-атакам

Пул может мошенничать и присваивать часть награды

В зависимости от правил пула он может брать себе процент от заработка или целиком присваивать комиссии с включенных в блок транзакций

Плюсы соло:

 Майнер, добывший блок, получает награду целиком

 Соло-майнинг меньше подвержен отказам в работе и DDoS-атакам

Минусы соло:

 Награда носит «лотерейный» характер

В популярных загруженных сетях с большой сложностью соло-майнинг бессмыслен (даже при возможности обнаружения блока расходы превысят доход)

Требуется настроить клиент, что может вызвать трудности у «любителя» без соответствующих навыков

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




Загрузка комментариев…