Майнинг криптовалют на примере Dogecoin

dogecoin

На днях мы достаточно подробно рассказали, что такое криптовалюта и «с чем ее едят». Сегодня же мы рассмотрим более практический вопрос – собственно процедуру ее «добычи», или майнинга, и сделаем это на примере валюты Dogecoin. Эту инструкцию можно с небольшими модификациями применить к большинству валют использующих как Scrypt, так и другие алгоритмы.


Для начала следует определиться с тем, какой компьютер целесообразно использовать для майнинга. Некоторые используют для этих целей даже Raspberry Pi, по производительности уступающий процессорам десятилетней давности, однако такие майнеры делают это скорее из принципа «потому что могу» или «потому что интересно». Дело в том, что даже современные процессоры, как правило, использовать нецелесообразно, поскольку они выдают не более нескольких десятков Кхешей/с, в то время как топовые видеокарты превосходят их в 10-20 раз. Поэтому детально рассмотрим майнинг на примере видеокарт, а для процессоров оставим ссылку на наиболее популярную программу cpuminer, настройка которой не вызовет особенных сложностей после ознакомления с майнингом на видеокартах.

Начнем с того, что видеокарты ATI в этом вопросе более производительны, чем Nvidia. Это связано с архитектурой видеокарт: у ATI гораздо больше шейдерных блоков, которые сами по себе менее производительны, чем их аналоги в Nvidia, но в данном случае количество лучше качества. Хотя в играх скорость видеокарт обоих производителей, как правило, выравнивается, поскольку число шейдерных блоков, умноженное на производительность каждого из них, дает приблизительно одинаковую мощность, в майнинге эта формула не работает.

Узнать рейтинг производительности процессоров, мобильных и десктопных видеокарт можно на этой странице. Смотреть необходимо на колонку kH/s. Как видно, производительность топовых Nvidia заканчивается на отметке 400+ kH/s, в то время как лучшие радеоны доходят до 1500 kH/s, хотя справедливости ради стоит отметить, что столь заоблачные показатели демонстрируют лишь двухчиповые GPU.

Для майнинга на Nvidia потребуется программа Cudaminer, а для ATI – sgminer либо cgminer 3.72, которую необходимо искать через поисковик, причем именно эту версию, поскольку в более поздних убрали поддержку алгоритма Scrypt.

В общем случае для запуска майнера (программы для майнинга) требуется указать адрес пула, логин/пароль пользователя и настройки для оптимизации видеокарты.

Список наиболее популярных пулов Dogecoin можно найти здесь. Выбирать следует не самые маленькие пулы, чтобы не искать один блок несколько дней, но и не самые большие, чтобы распределять вычислительную мощность, децентрализуя сеть и предохраняя ее от атаки 51%. Рекомендую обратить внимание на пулы https://doge.hashfaster.com и https://fast-pool.com/ как одни из наиболее популярных и надежных (пулы иногда ддосят, поэтому лучше выбирать проверенные временем).

hashfaster

После регистрации на выбранном пуле необходимо создать «рабочего» (worker). Это учетная запись для компьютера, выполняющего вычисления. Для создания рабочего слева выбирается закладка My Workers и добавляется новый Worker с именем и паролем. Для простоты достаточно использовать «1» «1», поскольку худшее, что может случиться — кто-то подберет пароль и добавит его в свой майнер, после чего начнет майнить коины в ваш аккаунт.

После добавления рабочего желательно настроить автоперевод коинов на локальный кошелек (программу, установленную на компьютере). Для этого на закладке Edit Account в поле Payment Address добавляется адрес своего кошелька, скопированный из официального клиента Dogecoin или MultiDoge. На той же закладке желательно включить автовыплату, то есть перевод коинов в кошелек в автоматическом, а не в ручном режиме. Для этого в поле Automatic Payout Threshold вписывается количество монет, при достижении которого они выводятся в кошелек. Значение можно поставить любое, но желательно, чтобы вывод происходил не слишком часто и не слишком редко, например раз в сутки, для чего придется предварительно помайнить некоторое время, чтобы оценить количество коинов, получаемых за сутки.

Для запуска майнинга возле исполняемого файла (соответственно cudaminer.exe либо sgminer.exe) создается исполняемый bat-файл с произвольным названием, например, run.bat.

Файл должен быть приблизительно следующего содержания:

Для ATI: sgminer —scrypt -o stratum+tcp://stratum.doge.hashfaster.com:3339 -u User.1 -p 1
Для Nvidia: cudaminer.exe -o stratum+tcp://stratum.doge.hashfaster.com:3339 -u user.1 -p 1
—scrypt — используемый алгоритм
-o stratum+tcp://stratum.doge.hashfaster.com:3339 — адрес пул-сервера. Адрес, включая порт, можно узнать на закладке пула «Getting Started».
-u User.1 — имя пользователя (User) и рабочего(1) в пуле, записанные вместе через точку. Имя пользователя — использованное для регистрации на сайте. Имя рабочего — указанное на закладке My Workers.
p 1 — пароль рабочего (не путать с паролем для входа на сайт)

После создания bat файла и его запуска должен начаться майнинг. Если этого не произошло и коммандная строка закрылась, добавьте в конце bat файла команду pause чтобы окно автоматически не исчезало и давало возможность прочитать сообщение об ошибке. Выглядеть bat файл будет следующим образом:
sgminer —scrypt -o stratum+tcp://stratum.doge.hashfaster.com:3339 -u User.1 -p 1
Pause

cgminer

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

Для изменения частот можно использовать программы Afterburner или Trixx. Интересно, что в некоторых случаях для повышения производительности необходимо снизить частоты видеокарты (особенность работы алгоритма Scrypt), что делает ее более холодной и тихой. Чтобы далее снизить температуру и шум GPU, можно заняться андервольтингом видеокарты.

Узнать необходимые параметры для каждой видеокарты можно по уже упоминавшейся ранее ссылке. Параметры и частоты могут значительно отличаться даже для видеокарт на одном чипе, и ориентироваться стоит на конкретную модель и производителя. Рассмотрим процесс настройки на примере ATI Radeon R9 280x.

После запуска майнинга смотрим, сколько kH/s выдает видеокарта. Как можно убедиться по ссылке выше, нормальное значение для R9 280x находится в районе 700 Kh/s, и если ваша производительность оказывается существенно ниже, необходимо подобрать оптимальные параметры (интенсивность и т.д.).

Берем наиболее распространенные параметры для данной видеокарты:
-I 13 -g 2 -w 256 —thread-concurrency 8192
И проверяем, увеличится ли ее производительность. Если это произошло, но производительность не дотягивает до ожидаемой, с помощью Afterburner или Trixx по таблице подбираются правильные частоты видеокарты. Например, ядро — 1040, память — 1500. Если производительность все еще не соответствует табличной, идем дальше по списку параметров в списке.

Процесс настройки может показаться несколько запутанным, но на самом деле совсем не сложен. Значительно упростить задачу можно, вбив в поисковике запрос «cgminer setup MSI Twin Frozr III R9 280x» (указав свою модель видеокарты), после чего поисковик, скорее всего, выдаст ссылки на форумы, где указаны оптимальные частоты и параметры.

После всех настроек bat-файл должен выглядеть приблизительно следующим образом:
sgminer —scrypt -o stratum+tcp://stratum.doge.hashfaster.com:3339 -u User.1 -p 1 -I 13 -g 2 -w 256 —thread-concurrency 8192
Pause

Поскольку пул-сервера иногда подвергаются ddos-атакам или не работают по другим причинам, желательно сразу добавить запасной пул, на который майнер будет переключаться автоматически, если основной пул перестанет откликаться. Для этого в bat-файл добавляется еще один адрес пула (и параметр —failover-only для видеокарт ATI). Исполняемый bat-файл в этом случае будет выглядеть следующим образом:
sgminer —scrypt —failover-only -o stratum+tcp://stratum.doge.hashfaster.com:3339 -u User.1 -p 1 -o stratum+tcp://fast-pool.com:3333 -u User.1 -p 1

При настройке майнинга также не стоит забывать о том, что видеокарта длительное время будет находиться под 100% нагрузкой и заметно нагреется. Поэтому желательно обеспечить хорошую вентиляцию в корпусе, чтобы снизить ее температуру. Желательно, чтобы температура под нагрузкой была не выше 80-90 градусов (хотя некоторые видеокарты, например R9 290x, рассчитаны и на более жесткие условия – до 95 градусов). Чтобы температура видеокарты не превышала определенную отметку, в sgminer необходимо добавить параметр:
—auto-fan —temp-target 80 (программа возьмет на себя регулировку оборотов кулера и будет держать температуру видеокарты ниже 80 градусов).

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

Принципиальный момент майнинга заключается в том, что независимо от количества майнеров скорость майнинга не увеличивается. Если один человек за час решит десять блоков, то 1 млн человек за час решат те же десять блоков. Это реализуется изменением сложности майнинга. Сеть наблюдает за собственной производительностью (за суммарным количеством Kh/s) и подобающим образом изменяет сложность майнинга (сложность решения уравнений). Если на поиск одного блока уходит одна минута, но производительность сети вдруг увеличилась вдвое, то следующий блок будет решен не за 30 секунд, а также за одну минуту. Как правило, сложность майнинга переключается не после каждого блока (это более новая тактика, решающая некоторые проблемы), а через несколько часов или даже недель (биткоину для нахождения 2016 блоков и подстройки сложности требуется в среднем две недели), но это не меняет принципа автоподстройки.

Итоги

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