Bitcoin: нельзя так просто взять и намайнить
akme

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

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

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

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

В традиционных денежных системах в течение долгого времени использовался так называемый золотой стандарт, гарантировавший, что выпущенная каждая денежная единица может по первому требованию обмениваться на соответствующее количество золота. В криптовалютах существует своеобразный аналог золотого стандарта, называемый «доказательством работы» (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); их средние значения указаны в приведенном ниже графике:

Bitcoin

Выводы

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

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

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

Что еще почитать по теме

Ульяна Малышева 11 марта 2021

Кейс VCV: как победить HR-рутину

Сервис VCV, клиент Selectel, был создан для того, чтобы сделать найм сотрудников комфортнее, объективнее, быстрее. Как работает VCV, зачем сервису искусственный интеллект и в чем разница российского и…
Ульяна Малышева 11 марта 2021
Владимир Туров 1 сентября 2020

Дело совершенно секретного iPod

Это был обычный серый день в конце 2005 года. Я сидел на рабочем месте и писал код для следующей версии iPod. Вдруг без стука ворвался директор ПО для iPod, начальник моего начальника, и закрыл дверь.
Владимир Туров 1 сентября 2020

Новое в блоге

Ульяна Малышева 22 июля 2021

DCIM-платформа Racks: почему мы отказались от энтерпрайз-решения в пользу самописного приложения

Как вести учет и контроль оборудования, если у тебя более десятка серверных в трех географически разделенных дата-центрах? Как и многие крупные провайдеры, в России и за рубежом, Selectel начал реализ…
Ульяна Малышева 22 июля 2021
Ульяна Малышева 7 июля 2021

Продуктовый дайджест: новые процессоры AMD EPYC™ и управление базами данных через Terraform

Пополнение линейки процессоров AMD EPYC™, управление кластерами «Облачных баз данных» через Terraform-провайдер Selectel и подбор идеальной инфраструктуры под «Битрикс24» и «1С-Битрикс». Подробнее — о…
Ульяна Малышева 7 июля 2021
Эллада Нуралиева 22 июня 2021

Next-Generation Firewall от FortiGate: обзор функций и подключение сервиса

Для защиты инфраструктуры от угроз часто используют межсетевые экраны. Они могут быть как программными, так и аппаратными. Типичный межсетевой экран представляет собой фильтр сетевого трафика, который…
Эллада Нуралиева 22 июня 2021
Ульяна Малышева 18 июня 2021

Selectel развернул 100 виртуальных машин для олимпиады «Я — профессионал»

Завершился четвертый сезон олимпиады «Я — профессионал», на который зарегистрировались 576 012 студентов из 348 вузов России. Selectel стал одним из партнеров трека олимпиады «Робототехника», который …
Ульяна Малышева 18 июня 2021