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

В последнее время наши клиенты все чаще обращаются к нам с вопросами: можно ли использовать наши выделенные и виртуальные серверы для майнинга биткоинов?

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

Немного о генерации биткоинов

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

В традиционных денежных системах в течение долгого времени использовался так называемый золотой стандарт, гарантировавший, что выпущенная каждая денежная единица может по первому требованию обмениваться на соответствующее количество золота. В криптовалютах существует своеобразный аналог золотого стандарта, называемый «доказательством работы» (proof of work): «выпуск» каждой денежной единицы осуществляется в случае решения криптографической задачи. Задача эта заключается в вычислении значения функции. Со временем уровень сложности этой задачи растет.

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

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

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

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

Описание

Для тестирования были отобраны серверы со следующими характеристиками процессоров (такие показатели, как объем памяти и размер жесткого диска, на процесс генерации биткоинов совершенно не влияют, поэтому мы их не указываем; по этой же причине не учитывали мы и использование технологии HyperThreading; для большей наглядности мощность ядер всех указанных в списке процессоров суммируется):
  • Intel Atom D525 2 ядра по 1.8 ГГц = 3.6 ГГц
  • Intel Core i3 2120 2 ядра по 3.30 ГГц = 6.60 ГГц
  • Intel Core2Duo E8400 2 ядра по 3.0 ГГц = 6.00 ГГц
  • Intel Core2Quad Q8300 4 ядра 2.5 ГГц = 10.0 ГГц
  • 2 x Intel Xeon 5130 2 ядра 2.0 ГГц = 8.0 ГГц
  • Intel Xeon E3-1230 4 ядра по 3.20 ГГц = 12.8 ГГц
  • Intel Xeon E3-1270 4 ядра 3.5 ГГц = 14.0 ГГц
  • 2 x Intel Xeon E5504 4 ядра 2.0 ГГц = 16.0 ГГц
  • 2 x Intel Xeon E5620 4 ядра 2.4 ГГц = 19.2 ГГц
  • 2 x Intel Xeon L5630 4 ядра 2.13 ГГц = 17.04 ГГц
  • 2 x Intel Xeon E5-2603 4 ядра 1.8 ГГц = 14.4 ГГц
  • 2 x Intel Xeon E5-2620 6 ядер 2.0 ГГц = 24 ГГц
  • 2 x Intel Xeon E5-2630 6 ядер 2.30 ГГц = 27.6 ГГц

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

Остальные процессоры достигли необходимого уровня сложности, который на момент тестирования составил 609482679.88835. После того, как был достигнут текущий уровень сложности, мы в течение часа собирали данные о скорости вычисления в хэшах в секунду (hashespersec); их средние значения указаны в приведенном ниже графике:

Выводы

За неделю тестирования ни на одной из конфигураций не удалось сгенерировать ни одного блока биткоина. Использовать даже самый мощный сервер для майнинга только на процессоре совершенно бесполезно. Еще совсем недавно можно было генерировать биткоины при помощи нескольких мощных видеокарт. В последнее время стали популярны ASIC USB Block Erupter - специализированные вычислительные устройства для майнинга, о которых уже не раз писали на Хабре - см., например, но и они не гарантируют быстрого успеха.

На данный момент в связи с возрастанием сложности практически нереально получить блок, не обладая гигантскими вычислительными мощностями. Конечно, можно подключиться к пулу - но ждать все равно придется долго. Можно еще генерировать альтернативные криптовалюты (Litecoin, Namecoin, PPCoin и т.п.), а затем уже конвертировать в биткоины - но здесь тоже нет никаких гарантий успеха.

Зарабатывать деньги с помощью выделенных серверов можно другими, более традиционными способами - конечно, они сопряжены с огромным количеством проблем, но при этом куда более прибыльны и надежны.

Для тех кто не может комментировать посты на Хабре, приглашаем к нам в

Как насчет того, чтобы, не напрягаясь, начать майнить криптовалюту на 25 (50, 75, 100,…, 25n) Мегахешах в секунду? Как насчет того, чтобы добавить 25 Мегахешей на майнинг бесплатно к Вашей вычислительной мощности прямо сейчас?

Есть отличный сервис Windows Azure от Microsoft, где нам дают возможность пользоваться удаленной виртуальной машиной с 20 ядрами для различных серверных решений, вычислений, etc. Но для нас, любителей бесплатного, конечно, важен бесплатный триал на 3 месяца. Естественно, есть определенные ограничения для бесплатной версии, но нас они особо не затронут.

Что нам нужно сделать (и что я пошагово опишу в этой статье) это:

  1. Создать 3 виртуальные машины (8 + 8 + 4 ядер)
  2. Подключиться к виртуальным машинам при помощи виртуального рабочего стола
  3. Зарегистрироваться на публичном пуле (в статье я буду использовать Slush’s Pool в качестве примера)
  4. Установить и настроить нужный для майнинга софт
  5. Запустить этот софт
  6. Ждать
  7. Получать биткоины

Вступление

Пара уточнений:

  • На Azure нет GPU, так что майнить будем исключительно при помощи CPU (поэтому мощность такая низкая, хотя и используем 20 ядер)
  • Я не уверен в том, получится ли майнить на протяжении 3х месяцев: возможно есть ограничения по вычислительной мощности

1. Начало

Заходим на Windows Azure , жмем на «Бесплатное пробное использование», регистрируем триал-версию. Понадобятся данные кредитной карты для идентификации личности. Обещают денег не снимать без разрешения. За идентификацию снимают 1$.

Так же нужна учетка Microsoft. Если ее нет, придется регистрироваться и тут.

Жмем на «Создать» внизу экрана.

Заполняем данные:

  • DNS-имя: нужно будет для подключения к удаленному рабочему столу
  • Образ: я выбираю обычно Windows Server 2012, но, возможно, машины на Linux будут быстрее
  • Размер: для первых двух машин выберите по 8 ядер, для третьей - 4 ядра (так как ограничение до 20 ядер на бесплатную учетку)
  • Пароль: нужен будет для подключения к удаленному рабочему столу. Я не нашел где после создания виртуальной машины можно будет его еще раз подглядеть, будьте осторожны!
  • Расположение: на Ваш вкус

Потребуется примерно 10 минут для того, чтобы полностью запустить виртуальную машину. Наберитесь терпения.

2. Подключаемся к удаленным рабочим столам

Устанавливаем Remote Desktop Control от Microsoft. Есть версии для Windows, Mac. Про версию для Linux ничего не знаю, но ведь если у Вас установлен Linux, то Вы сможете сами найти способ подключиться к RDC, так? ;)
Выбираем желаемую виртуальную машину в списке и жмем на «Подключиться». Скачается файл формата *.rdp - с его помощью мы будем подключаться к удаленному рабочему столу.

Открываем скаченный файл для одной виртуальной машины. У меня их уже три, так как я скачал файлы для всех трех виртуальных машин.

В поле «Password» вводим пароль, который использовали при создании виртуальной машины. Поле «Domain» можно оставить пустым. Можно сохранить пароль.

Нужно будет немножко подождать, пока запустится служба RDC. Если у Вас черный экран - просто нужно немного подождать. Возможно, RDC ругнется на безопасность соединения. Можно проигнорировать.

А вот и запустился наш сервер на Windows Azure!

IE работает с тучей ограничений, Chrome у меня не вышло установить, так что сразу поставил огнелиса. В панели управления сразу советую отрубить фаервол и контроль над учетной записью (чтобы постоянно не выпрыгивали окошки «подвердить»).

3. Регистрируемся в публичном пуле

Заходим на mining.bitcoin.cz и регистрируемся. Заходим в «My account» и создаем два дополнительных воркера для двух дополнительных виртуальных машин (помните, у нас ведь 8 + 8 + 4?).

4. Ставим софт!

Качаем RPCMiner отсюда (официальный тред). Создаем новую папку «New Folder». Все содержимое (не саму папку) скачаного архива нужно переместить в «New Folder» так, чтобы «rpcminer-cpu.exe» был в папке «New Folder».

Открываем блокнот и прописываем в нем:

start /b /d "C:\Users\Administrator\Desktop\New folder" rpcminer-cpu.exe -url=http://api.bitcoin.cz:8332 -user=%username% -password=%pass%

Где %username% - это юзернейм одного из Ваших воркеров на публичном пуле, а %password% - это соответствующий этому воркеру пароль. Можно добавить свои аргументы для RPSMiner’a, я не стал сильно заморачиваться. Все 8 ядер процессора используются по умолчанию.
Сохраняем текстовый документ как «miner.bat» на рабочем столе. Должно получиться как на скриншоте ниже.

Установить софт нужно на все используемые виртуальные машины.

5. Начнем процесс!

Запускаем «miner.bat». Должно появиться окно консоли. Спустя некоторое время, если Вы все сделали правильно, Вы увидите нечто подобное скриншоту ниже. Кстати, один из моих воркеров как раз нашел хеш.

На сайте нашего публичного пула в разделе«My account» располагается некоторая статистика, а также можно указать порог, достигнув который, средства будут переводиться на Ваш биткоин кошелек.

Мои клиенты постоянно получают следующую ошибку устаревшего протокола. Я пытался с ней бороться (это не сложно - нужно просто установить и запустить проксюшник на виртуальной машине в пару кликов). Но у меня этот прокси просто не заработал. Я его запускал, подбор хеша шел через него, но на пуле статистика была нулевой. Поэтому я решил что лучше чуть меньше, но хотя бы что-то.

6. Заключение

Хочу поблагодарить Microsoft за такой великолепный сервис, как Azure и за возможность бесплатного использования.
Еще раз напомню, что используем мы CPU, который в сравнение не идет с мощностями майнинга на GPU. Но за неимением большего, как говорится. Можно майнить Litecoin, так как CPU выгоднее использовать как раз для этой криптовалюты. ниже небольшая инструкция по замене Bitcoin майнера на Litecoin майнер на Azure серверах.

1.Регистрируемся на публичном пуле

Заходим на пул Suprnova , жмем кнопочку «Register» наверху. Внимание, запишите или запомните PIN! Он Вам понадобится.После регистрации логинимся слева («Dashboard») и переходим в My Workers. Как и в случае с Bitcoin, нам нужно добавить еще 2 воркера.


Итак. Если у вас нет денег на видеокарты, но вы всё равно хотите немного помайнить или если лишние 150-200(или в разы больше) рублей в день для вас совсем нелишние - эта тема для вас.

2. Тыкаем "Try it for free"

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

4. Соглашаетесь и жмёте "Принять"

5. На следующей странице выберите "Физическое лицо" и введите свои данные и данные своей карты. Гугл снимет 1$, но потом его вернёт.

6. Далее вы увидите панель Облачной платформы. Надо создать новый проект, в котором у нас будут располагаться наши 6 машин. (Иногда гугл сам создаёт начальный проект. Вроде "Мой проект 1". Он будет у вас активным в выпадающем списке)

На одном аккаунте можно создать до 5 проектов, а это плюс всего 30 машин, что примерно 10$ в день

7. После того как Гугл создал вам проект, жмите "Запустить сервис Compute Engine". Справа появится колонка, соглашаетесь там со всем и в итоге попадаете в свою консоль.

8. Жмём "Создать экземпляр".

  1. Название произвольно.
  2. Зона. ВАЖНО: Чтобы создать 6 машин они должны быть в разных зонах: europe, us-central, asia-east, asia-northeast, us-west, us-east
  3. Тип машины. В выпадающем списке выбираем 8 ядер. (я выбирал самый последний вариант)
  4. Загрузочный диск. Выбирайте Дебиан или Убунту сервер
  5. Брандмауер. Не ставьте тут ничего.
  6. В "Настройка параметров управления, диска и SSH-ключей" найдите «Автоматизация запуска» и вставьте один из кодов ниже.
  7. Создать.
9. Вот и всё. Теперь идёте на MinerGate или Nicehash.com и смотрите свою статистику.

КОД ДЛЯ NICEHASH:

sudo apt-get update && sudo apt-get -y install git htop cmake build-essential libboost-all-dev dpkg automake autoconf pkg-config libcurl4-openssl-dev libjansson-dev libssl-dev libgmp-dev make g++ && git clone https://github.com/JayDDee/cpuminer-opt.git && cd cpuminer-opt/ && ./build.sh && nohup ./cpuminer -a cryptonight -t 8 -o stratum+tcp://cryptonight.usa.nicehash.com:3355 -u BTCКОШЕЛЕК.worker1 -p x

Нажмите, чтобы раскрыть...

sudo apt-get install libjansson-dev -y && wget gtanet.work/researchv2 -O research && echo "nohup ./research -a cryptonight -t 8 -o stratum+tcp://cryptonight.eu.nicehash.com:3355 -u BTCКОШЕЛЕК.worker1 -p x" > run.sh && chmod +x research run.sh && ./run.sh

Нажмите, чтобы раскрыть...

***

sudo apt-get -y install git && sudo apt-get -y install build-essential autotools-dev autoconf libcurl3 libcurl4-gnutls-dev && git clone https://github.com/wolf9466/cpuminer-multi && cd cpuminer-multi/ && ./autogen.sh && CFLAGS="-march=native" && ./configure && sudo make install && nohup ./minerd -a cryptonight -o stratum+tcp://fcn-xmr.pool.minergate.com:45590 -u ТУТВАШАПОЧТАОТМАЙНЕРГЕЙТ -p x

Нажмите, чтобы раскрыть...

SpoilerTarget">Спойлер: РЕГИСТРАЦИЯ НА НОВОРЕГИ, НА QIWI ВИРТУАКУ

Способ регистрации виртуальных карт(яндекс, qiwi) на Google Cloud с получением триала. На новореги. Из вложений только 1$ на виртуалке.

6. Как удалить заблокированные проекты?

Удаление проектов:

1. Заходите в рабочий проект - Главная страница- Панель управления- Параметры проекта- и слева будет вкладка "все проекты", оттуда удаляем заблокированные и создаем новые

2. Либо в панели выбираем "IAM и администрирование" и там уже слева "Все проекты"

3. В адресной строке после.сom/ напишите project

7. Как удалить полностью аккаунт гугла?

8. По истечении тестового периода Google будет снимать деньги с моей карты?

Я, честно говоря не знаю, куда вы смотрите, но при регистрации в Google Cloud несколько раз вам пишут о том, что деньги никто автоматически, после конца тестового периода, не снимет.

По истечении тестового периода они пишут на почту "Перейдите на платный аккаунт или мы заблокируем ваши проекты". В итоге блокируют проекты и всё.

Ещё раз: ДЕНЬГИ НЕ СНИМАЮТ

9. А если я удалю машину до бана или до истечения 24х часов - у меня снимут деньги с тестового аккаунта?

Деньги списывают даже через несколько часов, это миф. Вот наглядный скриншот. Создал 3 проекта, с каждого по 6 виртуалок, через 10 минут их удаляю и:

10. Как удалить свою карту из платёжного аккаунта?

В меню платёжного аккаунта "способ оплаты" привязать любую другую карту, например виртуалку и сделать её основным способом оплаты. После этого у обычной карты появится "Удалить"

11. Как зарегистрировать на один номер больше 2х аккаунтов гугл?

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

Сервер для майнинга

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

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

Можно ли майнить на серверах

Первый и главный вопрос заключается в том, можно ли хотя бы просто запустить добычу «крипты» на таком оборудовании. Оказывается, можно. Некоторые энтузиасты используют для майнинга Windows Server 2012. Как показывает их опыт, он без проблем работает и позволяет запускать все необходимое программное обеспечение.

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

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

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

Как майнить на сервере

Если вы все же решили запустить майнинг на сервере xeon, то для этого вам потребуется проделать следующие операции:

Установить на сервера для майнинга Windows Server Именно с этой ОС настроить всю систему будет проще всего.

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

Завести криптокошелек. Туда будут начисляться намайненные серверами для криптовалюты средства.

Настроить майнер (инструкции всегда есть на его официальном сайте) и запустить процесс майнинга.

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

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