Майнинг Bitcoin это прежде всего поддержка инфраструктуры, обеспечение работы всей сети, и конечно получение новых Bitcoin. По сути майнинг это добыча биткоинов в обен на поддержку работоспособности всей сети. Суть майнинга, это решение сложных математических задач на компьютерах пользователей и получение за это профита. Процесс получения биткоинов не контролируется единым центром, а распределенность сети обеспечивает высокую безопасность. Это довольно сложный и не понятный процесс с точки зрения пользователя. Заниматься майнингом битконов может любой желающий, но сейчас, делать это в домашних условиях уже не рентабельно с точки зрения получения прибыли.
История майнинга
Человек который добыл первые 50 Биткоинов был Сатоши Накомото. Когда сеть начала набрать популярность, пользователи сети майнили биткоины прямо на своих домашних компьютерах. Со временем сложность майнинга ростет, и добыча биткоина с помощью обычного CPU-майнинга стала сложной, долгой и не затратной. Тогда появился GPU-майнинг, так как чипы графических карт гораздо лучше справляются с поиском хеш-функций SHA256. Но спустя какое-то время этот метод так-же стал не рентабельным и затратным (расходы на электричество, дороговизна графических карт) тогда ушлые майнеры перешли на специальные устройства, которые и есть в обиходе по сей день, эти устройства называются ASIC. Все что они умеют, это вычислять хеш-функции SHA256. Вот так выглядит “ферма” по добычи биткоинов.
Вообще отличная статья на тему майнинга написана на Lukomore. Я же хочу сосредоточится на технической стороне вопроса.
Майнинг биткоинов на Linux
Я забыл упомянуть, что соло-майнинг вообще гиблое дело, а вот майнинг в пулах дает кое-какие результаты. Я буду исходить из того факта, что вы уже сходили на Lukomore и прочли всю необходимую теорию про майнинг, так вот посмотреть какие пулы популярны можно например на Blockchain или на bitcoinchain.
Я во всех примерах буду рассматривать популярный и наверное самый старый пул Slush’s pool. С чего начать? Необходимо присоединится к пулу и создать workers. Для этого идем на сайт https://mining.bitcoin.cz регистрируем там аккаунт, подтверждаем его и в строке Bitcoin address: вводим адрес вашего Bitcoin кошелька.
А так-же создаем пару тройку worker’ов, в зависимости от колличества кстройств на которых вы собираетесь майнить. Задаете им имена и пароли.
CPU-mining на Linux
Мы не будем обсуждать выгодно это или нет. Наша цель – техническая сторона вопроса. Итак я беру для примера машину на Centos 6.5 Final 64bit. План такой, качаем программу для CPU-майнинга, компилируем, запускаем и сидим давольные.
Ставим необходимые пакеты для успешной компиляции:
Копируем репозитарий Git на сервер:
Компилируем:
Смотрим готовую версию:
Теперь когда все готов. Нужно понять сколько ядер у CPU:
Запускаем программу и начинаем майнить:
Тут есть два важных момента. Первый это параметр:
Вывод должен быть такой:
В результате вы увидите на сайте что worker работает.
BFGMiner для ASIC/FPGA майнинга на Linux
Популярная и серьезная программя для майнинга на устройствах ASIC/FPGA. Программа написана на С и имеет октрытый код на github. Если запустить таку программу просто помайнить, она будет ругаться на отсутсвие девайса в USB. Но в принципе ее можно заставить заниматься GPU-майнингом.
НА Ubuntu она ставится через PPA:
Программа обладает большим набором самых разных опций. Но принцип ее запуска тот же:
Здесь стоит обратить внимание на опцию -S auto, именно она говорит программе не искать ASIC/FPGA в системе, а довольствоваться тем что есть, т.е GPU. Скринот работы программы представлен ниже.
RPM пакеты для 64битной архитектуры можно найти тут.
Майнинг на Windows
Здесь существует великое множество программ. Приницип работы тот же. Выбираем пул, создаем воркер, запускаем программу, вводим имя воркера и пароль. Одна из наиболее популярных программ для майнинга на Windows – GUIMiner. Качаем, устанавливаем и запускаем.