Что такое майнинг?
Майнинг, также добыча (от англ. miningдобыча полезных ископаемых) — деятельность по поддержанию распределенной платформой и созданию новых блоков с возможностью получить вознаграждение в форме новых единиц и комиссионных сборов в различных криптовалютах, в частности, в Биткойнах. Производимые вычисления требуются для обеспечения защиты от повторного расходования одних и тех же единиц, а вознаграждение стимулирует людей расходовать свои вычислительные мощности и поддерживать работу сетей.

Майнинг — не единственная технология создания новых блоков. Альтернативами являются форжинг (митинг) и ICO. Обычно используется только одна технология, но в некоторых криптовалютах используют комбинации из них.

Процесс майнинга заключается в подборе такого значения Nonce, которое позволит получить хеш, числовое значение которого будет не более некоторого заданного числа — Difficulty Target, целевого уровня сложности.

Пример хешей для одной и той же фразы, но с разными дополнительными параметрами (последняя строка в примере имеет наименьшее значение хеша):

«Hello, world!1» => e9afc424b79e4f6ab42d99c81156d3a17228d6e1eef4139be78e948a9332a7d8«Hello, world!0» => 1312af178c253f84028d480a6adc1e25e81caa44c749ec81976192e2ec934c64«Hello, world!1» => e9afc424b79e4f6ab42d99c81156d3a17228d6e1eef4139be78e948a9332a7d8«Hello, world!2» => ae37343a357a8297591625e7134cbea22f5928be8ca2a32aa475cf05fd4266b7...«Hello, world!4248» => 6e110d98b388e77e9c6f042ac6b497cec46660deef75a55ebc7cfdf65cc0b965«Hello, world!4249» => c004190b822f1669cac8dc37e761cb73652e7832fb814565702245cf26ebb9e6«Hello, world!4250» => 0000c3af42fc31103f1fdc0151fa747ff87349a4714df7cc52ea464e12dcd4e9

В системе «Биткойн» целевой уровень сложности пересчитывается через каждые 2016 блоков (примерно раз в 2 недели). Он увеличивается или уменьшается в зависимости от того, насколько время создания этой партии блоков отличается от 20160 минут (2016 * 10). Такой механизм поддерживает средние затраты времени для генерации 1 блока на уровне 10 минут вне зависимости от суммарной мощности всех майнеров.

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

Система Биткоин предусматривает только одну возможность для дополнительной эмиссии — новые биткойны получает в качестве вознаграждения тот, кто сгенерировал очередной блок. Полученное вознаграждение за блоки можно использовать после получения 120 подтверждений (то есть сеть разрешает тратить вознаграждение примерно через 20 часов).

Вероятность получения награды соло-майнером в произвольный десятиминутный период приблизительно равна соотношению его вычислительной мощности к вычислительной мощности всей сети. И если это соотношение очень маленькое, то вероятность получения награды даже за длительный промежуток времени также будет низкой. Желающие получить возможно большее вознаграждение стремились задействовать как можно бо́льшие вычислительные мощности. В первых версиях клиента была кнопка «сгенерировать новые биткойны».

Особенность задачи майнинга позволяла применить максимальное распаллелевонию вычислений. В силу специфики строения для этого хорошо подошли графические процессоры (GPU) с небольшой дополнительной программой (в сотни раз производительнее GPU) и платы с FPGA (производительность сравнима с видеокартами, но превосходят их по энергоэффективности). После этого используемый в стандартном клиенте майнинг при помощи центрального процессора оказался нецелесообразным из-за слишком малой вероятности получить вознаграждение, и кнопку убрали. Затем начался выпуск специализированных процессоров (ASIC), выполняющих исключительно вычисление хешей для сети Биткойн, более производительных и энергоэффективных, чем GPU и FPGA, и тем более CPU. Примерно с 2012—2013 года майнинг распространённых криптовалют на чём-либо кроме специализированных чипов, в том числе на видеокартах, стал невыгодным — стоимость потребляемой электроэнергии превышает средний результат. Например, к началу 2015 года сложность майнинга наиболее известной криптовалюты Bitcoin выросла в 10 тысяч раз.

Десятки стартапов разрабатывали собственные реализации ASIC-майнеров, при этом новые, более производительные поколения чипов могли выходить каждые полгода (обычно плотность размещения транзисторов в логических схемах удваивается за 2 года).

С переходом майнинга на ASIC стали появляться компании, занимающиеся майнингом в промышленных масштабах, размещающие крупные установки майнинга в местах с дешевым электричеством и, иногда, с не слишком высокой температурой окружающего воздуха, в частности во Внутренней Монголии (Китай). Некоторые из подобных компаний позиционируют себя в качестве «облачных», продавая часть своих ресурсов в аренду, хотя среди подобных предложений, по свидетельству директора Genesis Mining, высок уровень мошенничества (некоторые продавцы вообще не обладали майнинговыми мощностями).

Для уменьшения влияния фактора удачи и более равномерного и предсказуемого получения биткойнов майнеры используют специализированные веб-службы — пулы (от англ. pool — общий фонд). Пользователи предоставляют пулу свои вычислительные мощности. Особенность задачи позволяет применить максимальное распараллеливание вычислений, когда каждый участник ищет свой вариант решения без увязки его результатов с решениями других. Часто выплаты майнеру рассчитываются исходя из отправленных им пулу стандартных вариантов (shares) (блоков с хешем, который подошёл бы при сложности равной единице). В среднем нужно 232 операций хеширования для нахождения одного стандартного варианта. Для нахождения блока в среднем требуется количество стандартных вариантов, равное текущей сложности.

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

  • Proportional — После нахождения пулом блока награда делится пропорционально вкладу каждого участника.
  • PPS — Вознаграждается каждый присланный стандартный вариант. Оценивается как текущее вознаграждение за блок, деленное на текущую сложность.
  • Score — Оценочная система вознаграждения стандартных вариантов, алгоритм определяется организатором пула.
У этих типов начисления есть следующие популярные варианты:

  • SMPPS — Аналогично PPS, но пул никогда не передаёт пользователям больше, чем реально получил сам. Разница между реальным получением награды пулом и вознаграждением стандартного вартианта в PPS, если таковая есть, компенсируется постепенно.
  • ESMPPS — Аналогично SMPPS, но уравнивает приоритеты вознаграждения постоянным и новым участникам пула.
  • RSMPPS — Аналогично SMPPS, но первыми в очереди на вознаграждение ставятся новые пользователи.
  • PPLNS — Аналогично Proportional, но деление награды осуществляется пропорционально вкладу в последние N присланных в пул долей, где N обычно равно удвоенной сложности.
По состоянию на 2016 год большинство крупных пулов майнинга Bitcoin находятся в КНР: по состоянию на март 2016 года более половины мощности сети разделена между тремя крупными китайскими пулами, четвёртое место занимает пул компании BitFury — одного из первых производителей майнинговых чипов и основанной выходцами из постсоветского пространства.

Выпуск новых биткойнов децентрализован, не зависит от какого-либо регулирующего органа, объём эмиссии известен заранее (см. график количества биткойнов до 2033 года). Стандартную порцию новых биткойнов в качестве вознаграждения получает тот, кто добавил очередной блок в базу транзакций. Вероятность успеха пропорциональна доле задействованной вычислительной мощности в суммарной мощности сети Биткойн, но результат в конкретный момент носит случайный характер. После формирования каждых 210 000 блоков (приблизительно раз в 4 года) запрограммировано размер вознаграждения уменьшать вдвое, то есть его значение является убывающей геометрической прогрессией. Общий объём эмиссии биткойнов ограничен как сумма членов убывающей геометрической прогрессии и не превысит 21 миллион. На май 2014 года в обращении находилось 12,7 миллионов биткойнов.

Первоначально размер эмиссии при создании блока составлял 50 биткойнов. 28 ноября 2012 года произошло первое уменьшение эмиссионной награды с 50 до 25 биткойн. Следующее уменьшение в два раза произошло 9 июля 2016 года. В 2031 году эмиссия будет остановлена вовсе (размер вознаграждения 50 → 25 → 12,5 → … → 0).Формирование блоков продолжится и далее, но за них уже не будет начисляться вознаграждение новыми биткойнами. Предполагается, что постепенно основным источником вознаграждения за формирования новых блоков станут комиссионные сборы.

Полученное вознаграждение за блоки можно использовать после получения 120 подтверждений (то есть, система разрешает тратить вознаграждение примерно через 20 часов).

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

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

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

В апреле 2013 была зафиксирована крупная эпидемия вирусного распространения через текстовые сообщения в Skype троянских программ, целью которых был поиск и кража файлов криптовалютных кошельков (wallet.dat) и скрытый майнинг на CPU.

До 2011—2013 годов встречался скрытый майнинг биткойнов (до массового появления майнинга на GPU и специализированных процессорах типа ASIC). Позже скрытный майнинг применялся для получения иных криптовалют.

При установке торрент-клиента μTorrent (версия 3.4.2 build 28913 и позднее) предлагается установить дополнительную программу EpicScale, которая позволяет использовать ресурсы компьютера во время простоя для распределённых вычислений. Представители μTorrent заверяют, что в настоящее время сеть EpicScale используется для майнинга криптовалюты (без уточнения названия), часть полученных средств идут на финансирование компании, часть — на благотворительность. Согласно ряду публикаций, EpicScale майнит биткойны. В других публикациях сообщается о майнинге Litecoin.

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

По данным сентябрьского отчета IBM X-Force, за 8 месяцев 2017 года в 6 раз увеличилось число компьютеров, зараженных вредоносным ПО для майнинга.

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

Сергио Лернер (Sergio Demian Lerner) на основе анализа первых блоков транзакций утверждает, что c 3 января 2009 года по 25 января 2010 года майнингом занимался только один человек, добыл около 1 миллиона биткойнов, большинство из которых никогда не тратились.

Майнинг разных криптовалют может использовать разные процедуры для подтверждения выполнения работы. Для ряда криптовалют, в том числе и для Биткойна, были созданы специализированные процессоры (ASIC), которые из-за лучшей производительности и относительной экономичности вытеснили другие способы майнинга. В других случаях подобный подход оказался не столь эффективным. По состоянию на конец 2017 года майнинг ряда криптовалют, в том числе Ethereum, остаётся более эффективным с использованием процессоров видеокарт. Значительное повышение цен на криптовалюты привело к повышению спроса на майнинговое оборудование, в том числе на видеокарты. Это подтолкнуло Sapphire и Asus выпустить линейку специализированных комплектующих для майнинга.
Системы майнинга на основе доказательства выполнения работы являются чрезвычайно ресурсоёмкими.

  • В 2013 году совокупная вычислительная мощность, затрачиваемая в сети Bitcoin, обогнала в 256 раз топ-500 самых мощных на тот год суперкомпьютеров в мире вместе взятых.
  • На начало 2015 года общее потребление электричества мировыми майнерами Биткойн оценивалась как минимум в 1,46 ТВт·ч ежегодно (при условии использования всеми наиболее энергоэффективных ASIC), что соответствует средней мощности в 160 МВт.
  • В 2017 году на полное оформление одной транзакции в системе Bitcoin требовалось затратить в среднем 163 кВт⋅ч энергии. Таким количеством энергии можно в течение пяти с половиной дней полностью обеспечивать нужды семьи, состоящей из трех человек и проживающей в небольшом одноэтажном доме. На майнинг криптовалют в сетях Bitcoin и Ethereum суммарно уходило энергии больше, чем было потребление в Сирии, Кипре, Камбодже или Брунее.