Еще раз остановимся на понятии «майнинг» и на примере эволюции майнинга Bitcoin разберем принцип его работы. Мы говорили упрощенно, что майнинг – это перебор вариантов решения условно нескончаемой задачи. Допустим, по соседству с вами находится большой склад мелких предметов, который постоянно пополняется новыми вещами с разным весом и стоимостью. Вещи нужно перенести через висячий мост, на который в ширину помещается лишь один человек, соответственно люди должны идти цепочкой, держа за руку предыдущего и следующего носильщика. Хозяин склада платит 12,5 рублей фиксированной платы человеку, который приведет к нему носильщика, плюс 1 % от стоимости перенесенных товаров. Есть бесконечное число потенциальных носильщиков с одинаковыми корзинами, готовых загрузить в корзину одинаковый вес предметов, но рассчитывающие, что цена предметов, помещенных в их корзину, будет максимальной, дабы их процент комиссии был также максимальным. Но вот хозяин склада – странный человек – хочет, чтобы каждый следующий носильщик имел день, месяц и год рождения, отличающийся лишь на один день от предыдущего. Например, предыдущий носильщик был рожден 01.01.2001, соответственно следующим взять груз имеет право носильщик с датой рождения 02.01.2001, далее 03.01.2001 и так далее. Носильщики толпятся на площади перед складом и молчат. Ваша задача опрашивать одного за другим в хаотичном порядке, чтобы найти нужного носильщика, с нужной датой рождения в паспорте. Таких же людей, ищущих нужного носильщика, – сотни и тысячи. Кто первый найдет нужного человека – ставит его в цепочку и нагружает его корзину самыми дорогими товарами под завязку. Если кто-то другой нашел второго носильщика с идентичной датой рождения, но пришел позже вас – его носильщик отвергается. Задача наполнения корзины при этом схожа с классической задачей о рюкзаке, известной математикам.
Очевидно, что найти подходящего носильщика очень сложно, особенно если желающих это сделать очень и очень много. Можно искать носильщика сообща, объединившись в пул, и, если один из команды нашел подходящего, награда делится на всех, исходя из времени, потраченного каждым на поиски. Кому-то из поисковиков может повезти, и он найдет нужного носильщика с 1-й попытки, а в следующий раз просмотрит сотни дат рождения, пока найдет нужного. Здесь в дело вступает параметр удачи. Также важно, насколько быстр поисковик. Бабушка с плохим зрением, но хорошим аппетитом за 8 рабочих часов проверит лишь 8 носильщиков, а молодая девушка, сидящая на диете, – проверит 16 носильщиков и съест в два раза меньше пищи на обеде. В случае с майнингом биткоина мы ищем блок, некоего цифрового носильщика корзины, у которого очень редкие параметры, соответствующие предыдущему блоку, и при его успешном нахождении получаем награду – это 12,5 BTC на сегодняшний день. Также мы можем загрузить блок под завязку транзакциями, выбрав самые дорогие из мем-пула (склада транзакций), и получить комиссию за их включение в блок. В нашем случае команда поисковиков – это пул совместного майнинга, а каждый из них – это майнинговое устройство старого или нового поколения со своей вычислительной мощностью и энергопортеблением. Необходимость выбора людей с конкретной датой рождения можно назвать алгоритмом поиска.
Майнинг биткоина и других монет, построенных на алгоритме PoW – Proof-of-Work (с англ. – доказательства работы), – это постоянный перебор данных по определенному алгоритму, вычислительная работа, производимая компьютерным оборудованием. И чем мощнее и экономичнее вычислительное устройство, тем больше шансов на успех. Вычислительное оборудование для майнинга прошло несколько стадий развития, которые я опишу ниже.
CPU (англ. Central Processing Unit – Центральный процессор) – это самый маломощный вычислительный элемент, который сейчас может быть использован в майнинге. Для определенных типов алгоритмов майнинга он вполне может справиться с поставленными задачами, особенно если это современная мощная модель. Сам процессор – это вычислительный модуль, состоящий из одного или нескольких ядер, каждое из которых может обрабатывать несколько потоков информации одновременно. В случае со среднестатистическим процессором эффективность его работы в сети Bitcoin была продуктивной только на заре становления криптовалюты в 2009–2011 годах. Сегодня добыча биткоина и многих других монет, начинавших свой путь с помощью майнинга на процессорах, просто экономически нецелесообразна.
В рассмотрении параметров мощности и производительности любого майнингового оборудования важен термин хешрейт (hashrate – «рейтинг хеширования»), который отображает скорость вычисления значений хеш-функции за единицу времени, в основном в секунду. Допустим, вы включили на 1 минуту процессор, и он нашел 60 решений, следовательно, хешрейт вашего оборудования 1 хеш в секунду, записывается как 1 х/с. Однако важен и параметр энергоэффективности – сколько джоулей или ватт электроэнергии на 1 единицу хешрейта потребит вычислительный модуль. В основном он применяется в описаниях ASIC-устройств, о которых речь пойдет ниже. В сети Интернет можно встретить множество ресурсов, наполняемых пользователями, где они сообщают о полученных значениях хешрейта при тестировании майнинга на том или ином алгоритме с использованием конкретного устройства. Важно учесть, что более старое оборудование почти всегда потребляет больше энергии на выполнение одной и той же задачи.
Энергоэффективность процессоров почти всегда проигрывает более производительным устройствам, таким как графические ускорители – видеокарты, FPGA- или ASIC-устройства. Именно поэтому выбор монет для майнинга на процессорах сегодня сильно ограничен. Энтузиасты криптоиндустрии из года в год пытаются создать алгоритм, который будет подходить только для процессоров, и использование видеоускорителей или специальных интегральных микросхем будет просто нецелесообразным ввиду более высокой стоимости подобных устройств. Сегодня такие алгоритмы, как HODL, и одноименная монета пытаются что-то повернуть в утраченной нише, однако уровень приятия данного проекта массами сложно назвать высоким. Традиционно алгоритмы серии cryptonight в различных вариациях v7, light и heavy также доступны для майнинга на современных многоядерных процессорах, показывая вполне понятную экономическую ситуацию – доходность от майнинга превышает затраты на электроэнергию (как минимум) и на амортизацию в течение 2–3 лет. Но при росте монеты в несколько раз и при условии оплаты счета за электричество из своего кармана или наличии условно «бесплатной розетки» вы можете окупить затраты моментально, как это произошло со многими приверженцами монеты монеро. Известны редкие случаи построения ферм (большого количества компьютеров для майнинга, расположенных в одном месте) для майнинга на процессорах. Единственным преимуществом таких ферм может быть относительная компактность размещения и высокая ликвидационная стоимость оборудования. Сегодняшние процессоры и материнские платы уже настолько совершенны, что не устаревают и не теряют в цене столь же быстро, сколько их собратья начала XXI века.
Такой ресурс, как cryptunit.com, позволяет выбрать ряд современных процессоров для добавления в риг (от англ. rig – установка, снаряжение). У майнеров ригом принято называть единичный элемент фермы – материнская плата, процессор, память, жесткий диск и несколько видеокарт, соответствующие количеству доступных физических портов для их подключения. Так, на сентябрь 2018 года один из популярных процессоров от AMD модели Ryzen 1700 демонстрирует потенциальную доходность в районе 30 центов, или около 20 рублей в день. При стоимости одного процессора 14 500 рублей и среднего набора сопутствующих компонентов для запуска ПК в районе 15 500 рублей выходит, что компьютер стоимостью 30 000 рублей будет окупаться 1500 дней, более 4 лет. Негусто. Все было лучше зимой 2017–2018 года, когда уровень дохода с 1 процессора достигал 2 долларов, минимум 100 рублей. В таком формате окупаемость достигалась максимум за 1 год, что является достаточно хорошим показателем по сравнению с некоторыми видами традиционного бизнеса, либо вложением в недвижимость или размещением средств на депозит. Тем более если устройство можно 1–2 часа использовать как компьютер, по прямому назначению. Гораздо более низкий срок окупаемости демонстрируют процессоры предыдущего поколения, такие как AMD FX с восемью физическими ядрами. Их стоимость сегодня крайне низка, так же как и стоимость комплектующих. При этом функционал процессора позволяет решать большинство сегодняшних прикладных задач, будь то графические программы либо игры. При стоимости в три раза ниже такая сборка продемонстрирует доходность в 1,5–2 раза ниже, что существенно сократит срок окупаемости.
Основной проблемой майнинга криптомонет на процессорах является зараженность сетей таких монет так называемыми ботнетами (botnet от англ. bot – робот, бот и net – сеть). В руках злоумышленников находятся тысячи (если не миллионы) зараженных компьютеров, на которых может быть установлена программа-майнер, соответственно злоумышленник способен без затрат средств на оборудование и электроэнергию производить вычислительные операции, получая большое преимущество перед честными майнерами и не имея при этом заинтересованности в сохранении монет на будущее. Естественно, добывая множество «дешевых» монет, такой человек тут же избавляется от них по любой цене, сбивая биржевой курс и подрывая доверие к монете в целом. Также это идет вразрез с идеей Сатоши Накамото, представлявшего 1 процессорное ядро как 1 сущность в экосистеме Биткоин, 1 голос при голосовании… Получается, что равномерного распределения ресурса между всеми людьми не достичь, а возможности более обеспеченных людей по включению сотен ядер в майнинг делают идею децентрализации несостоятельной.