Майнинг, также добыча (от англ.mining — добыча полезных ископаемых) — деятельность по созданию новых структур (обычно речь идёт о новых блоках в блокчейне) для обеспечения функционирования криптовалютных платформ. За создание очередной структурной единицы обычно предусмотрено вознаграждение за счёт новых (эмитированных) единиц криптовалюты и/или комиссионных сборов. Обычно майнинг сводится к серии вычислений с перебором параметров для нахождения хеша с заданными свойствами. Разные криптовалюты используют разные модели вычислений, но они всегда достаточно длительны по времени для нахождения приемлемого варианта и быстры для проверки найденного решения (см. Доказательство выполнения работы). Такие вычисления используются алгоритмами криптовалют для обеспечения защиты от повторного расходования одних и тех же единиц, а вознаграждение стимулирует людей расходовать свои вычислительные мощности и поддерживать работу сетей.
Майнинг — не единственная технология создания новых блоков и обеспечения эмиссии. Альтернативами являются форжинг (минтинг) и ICO. Обычно используется только одна технология, но в некоторых криптовалютах используют комбинации из них.
В 1983 году американский криптограф Дэвид Чаум придумал тип криптографических электронных денег под названием ecash. Позже, в 1995 году, он реализовал это через Digicash[1], раннюю форму криптографических электронных платежей. Digicash требовалось пользовательское программное обеспечение, чтобы снимать банкноты из банка и назначать определенные зашифрованные ключи, прежде чем их можно будет отправить получателю. Это позволило третьей стороне не отследить цифровую валюту.
В 1996 году Агентство национальной безопасности опубликовало документ под названием «Как сделать монетный двор: криптография анонимных электронных денег», в котором описывалась система криптовалюты. Статья была впервые опубликована в списке рассылки Массачусетского технологического института[2], а затем, в 1997 году, в The American Law Review.[3]
В 1998 году Вей Дай описал «b-money», анонимную распределенную систему электронных денег. Вскоре после этого Ник Сабо описал «bit-gold». Подобно биткойну и другим криптовалютам, которые последуют за ним, бит-золото (не путать с более поздней биржей на основе золота BitGold) описывалось как система электронной валюты, требовала от пользователей доказательства выполнения работы, которые были криптографически собраны вместе и опубликованы.
В январе 2009 года разработчиком под псевдонимом Сатоши Накамото был создан биткойн. Он использовал SHA-256, криптографическую хеш-функцию, в своей схеме проверки работоспособности. В апреле 2011 года был создан Namecoin как попытка сформировать децентрализованную DNS. В октябре 2011 года был выпущен Litecoin, который использовал scrypt в качестве хеш-функции вместо SHA-256. Peercoin, созданный в августе 2012 года, использовал гибрид Proof-of-Work и Proof-of-Stake.[4]
Пример вычислений
В качестве примера используются вычисления хешей, аналогичные вычислениям в системе Биткойн, где процесс майнинга заключается в подборе такого значения специального дополнительного параметра Nonce, которое позволит получить хеш, числовое значение которого будет не более некоторого заданного числа — Difficulty Target, целевого при данном уровне сложности.
Пример хешей для одной и той же фразы, но с разными значениями дополнительного параметра. Последняя строка в примере имеет наименьшее значение хеша.
В системе «Биткойн» уровень сложности пересчитывается через каждые 2016 блоков (примерно раз в 2 недели). Он увеличивается или уменьшается в зависимости от того, насколько время создания этой партии блоков отличается от 20160 минут (2016 * 10). Такой механизм обеспечивает появление блоков в среднем через каждые 10 минут вне зависимости от суммарной мощности всех майнеров. В других криптовалютах пересчёт как хеша, так и целевого уровня сложности может существенно отличаться. Во многих альткойнах среднее время формирования блока существенно ниже, вплоть до нескольких секунд.
Майнинг биткойнов
Система Биткойн предусматривает только одну возможность для дополнительной эмиссии — новые биткойны получает в качестве вознаграждения тот, кто сгенерировал очередной блок. Полученное вознаграждение за блоки можно использовать после получения 120 подтверждений (то есть сеть разрешает тратить вознаграждение примерно через 20 часов).
Вероятность получения награды соло-майнером в произвольный десятиминутный период приблизительно равна соотношению его вычислительной мощности к вычислительной мощности всей сети. И если это соотношение очень маленькое, то вероятность получения награды даже за длительный промежуток времени также будет низкой. Желающие получить возможно большее вознаграждение стремились задействовать как можно бо́льшие вычислительные мощности. В первых версиях клиента была кнопка «сгенерировать новые биткойны»[5].
Особенность задачи майнинга позволяла применить максимальное распараллеливание вычислений. В силу специфики строения для этого хорошо подошли графические процессоры (GPU) с небольшой дополнительной программой[6] (в сотни раз производительнее CPU[7]) и платы с FPGA (производительность сравнима с видеокартами, но превосходят их по энергоэффективности). После этого используемый в стандартном клиенте майнинг при помощи центрального процессора оказался нецелесообразным из-за слишком малой вероятности получить вознаграждение, и кнопку убрали. Затем начался выпуск специализированных процессоров (ASIC), выполняющих исключительно вычисление хешей для сети Биткойн, более производительных и энергоэффективных, чем GPU и FPGA, и тем более CPU. Примерно с 2012[8]—2013 года майнинг распространённых криптовалют на чём-либо кроме специализированных чипов, в том числе на видеокартах, стал невыгодным — стоимость потребляемой электроэнергии превышает средний результат. Например, к началу 2015 года сложность майнинга наиболее известной криптовалюты Bitcoin выросла в 10 тысяч раз[9].
Десятки стартапов разрабатывали собственные реализации ASIC-майнеров, при этом новые, более производительные поколения чипов могли выходить каждые полгода (обычно плотность размещения транзисторов в логических схемах удваивается за 2 года)[9].
С переходом майнинга на ASIC стали появляться компании, занимающиеся майнингом в промышленных масштабах, размещающие крупные установки майнинга в местах с дешёвым электричеством и, иногда, с не слишком высокой температурой окружающего воздуха, в частности во Внутренней Монголии (Китай)[9]. Некоторые из подобных компаний позиционируют себя в качестве «облачных», продавая часть своих ресурсов в аренду[9].
Пулы
Для уменьшения влияния фактора удачи и более равномерного и предсказуемого получения вознаграждения майнеры объединяют свои вычислительные мощности в пулы[10] (от англ.pool — общий фонд). Особенностью вычислений, производимых майнерами, является возможность применить максимальное распараллеливание процессов, когда каждый участник пула ищет свой вариант решения без увязки своих действий с действиями других участников, достаточно лишь обеспечить исключение дублирования расчётов одних и тех же параметров разными участниками. Часто выплаты майнеру рассчитываются исходя из отправленных им пулу стандартных вариантов (shares) (блоков с хешем, который подошёл бы, если бы сейчас параметр сложности был равен единице). Для нахождения блока в среднем требуется количество стандартных вариантов, равное текущей сложности.
С точки зрения криптовалютной системы, пул выступает как мощный соло-майнер, который получает вознаграждение на общих основаниях. Но за счёт своей совокупной мощности, вероятность получения награды у пула равна сумме вероятностей получить награду каждого из его участников. Полученное вознаграждение распределяется между членами в соответствии с установленными владельцем пула правилами. Существуют 3 основных вида начисления наград[11]:
Proportional — после нахождения пулом блока награда делится пропорционально вкладу каждого участника.
PPS — вознаграждается каждый присланный стандартный вариант (из расчёта текущего вознаграждение за блок, деленного на текущую сложность).
Score — оценочная система вознаграждения стандартных вариантов, алгоритм которой определяется организатором пула.
У этих типов начисления есть следующие популярные варианты:
SMPPS — аналогично PPS, но пул никогда не передаёт пользователям больше, чем реально получил сам. Разница между реальным получением награды пулом и вознаграждением стандартного варианта в PPS, если таковая есть, компенсируется постепенно.
ESMPPS — аналогично SMPPS, но уравнивает приоритеты вознаграждения постоянным и новым участникам пула.
RSMPPS — аналогично SMPPS, но первыми в очереди на вознаграждение ставятся новые пользователи.
PPLNS — аналогично Proportional, но деление награды осуществляется пропорционально вкладу в последние N присланных в пул долей, где N обычно равно удвоенной сложности.
По состоянию на 2016 год большинство крупных пулов майнинга Биткойнов находится в КНР: в марте 2016 года более половины мощности сети была разделена между тремя крупными китайскими пулами[12][13][14][15][16], четвёртое место занимает пул компании BitFury — одного из первых[17] производителей майнинговых чипов и основанной выходцами из стран бывшего СССР[18].
Эмиссия
Выпуск порций новых единиц криптовалюты обычно происходит по заранее известным правилам и не зависит от какого-либо регулирующего органа (см. график количества биткойнов до 2033 года). Чаще всего, стандартную порцию новых единиц в форме вознаграждения получает тот, кто сформировал в блокчейне очередной блок. При майнинге вероятность успеха пропорциональна доле задействованной вычислительной мощности в суммарной мощности всех майнеров данной криптовалюты, но результат в конкретный момент носит случайный характер.
Размер стандартного вознаграждения может оставаться всегда неизменным. Но во многих криптовалютах размер эмиссионного вознаграждения постепенно снижается. Например, вознаграждение в биткойнах первоначально составляло 50 биткойнов за блок, но после формирования каждых 210 000 блоков (приблизительно раз в 4 года) уменьшается вдвое[19], то есть является убывающей геометрической прогрессией. Общий объём эмиссии рассчитывается в этом случае как сумма всех членов убывающей геометрической прогрессии и не превысит 21 миллион биткойнов. На май 2014 года в обращении находилось 12,7 миллиона биткойнов[5]. 28 ноября 2012 года произошло первое уменьшение эмиссионной награды с 50 до 25 биткойнов[20]. Следующее уменьшение в два раза произошло 9 июля 2016 года. В 2140 году эмиссия будет остановлена вовсе (размер вознаграждения 50 → 25 → 12,5 → … → 0).[19][21] Формирование блоков продолжится и далее, но вознаграждение уже не будет иметь эмиссионной части и будет формироваться исключительно за счёт добровольных комиссионных отчислений[22].
Полученное вознаграждение майнеры получают право использовать после формирования некоторого количества новых блоков (например, в биткойнах это 120 блоков, то есть, вознаграждение можно тратить примерно через сутки после получения).
Скрытый майнинг
Скрытым называют майнинг, при котором используются чужие ресурсы, например, запуск майнинга работниками на корпоративных серверах или внедрение кода для майнинга в состав вирусов и троянов.
В июне 2011 года Symantec сообщила, что майнинг может быть запущен на ботнетах. В отчёте за второй квартал 2011 года Лаборатория Касперского сообщила о троянском модуле, который занимался скрытым майнингом[23].
В апреле 2013 была зафиксирована крупная эпидемия вирусного распространения через текстовые сообщения в Skype троянских программ, целью которых был поиск и кража файлов криптовалютных кошельков (wallet.dat) и скрытый майнинг на CPU[24][25].
До 2011—2013 годов встречался скрытый майнинг биткойнов (до массового появления майнинга на GPU и специализированных процессорах типа ASIC). Позже скрытный майнинг применялся для получения иных криптовалют.
При установке торрент-клиента μTorrent (версия 3.4.2 build 28913 и позднее) предлагается установить дополнительную программу EpicScale, которая позволяет использовать ресурсы компьютера во время простоя для распределённых вычислений. Представители μTorrent заверяют, что в настоящее время сеть EpicScale используется для майнинга криптовалюты (без уточнения названия), часть полученных средств идёт на финансирование компании, часть — на благотворительность[26]. Согласно ряду публикаций, EpicScale майнит биткойны[27][28]. В других публикациях сообщается о майнинге Litecoin[29][30][31][32].
В 2017 году появились сообщения о ряде сайтов[33][34], содержащих JavaScript скрытого майнинга некоторых криптовалют (такой вид майнинга в русском языке стали называть «браузерным майнингом», а в английском — «криптоджекингом»[35]). Сходные компоненты были обнаружены в нескольких дополнениях к браузерам[36].
По данным сентябрьского отчёта IBM X-Force, за 8 месяцев 2017 года в 6 раз увеличилось число компьютеров, заражённых вредоносным ПО для майнинга[37].
Неравенство между ранними и поздними майнерами
Правила эмиссии биткойнов дали больше преимуществ тем, кто занялся майнингом при небольшой совокупной мощности сети. Так, количество работы, необходимое для генерации блока, уже на 2013 год составляло более чем в полмиллиона раз больше, чем при запуске сети. При увеличении суммарной вычислительной мощности майнеров генерация становится более энерго- и аппаратнозатратной. Это сопровождается запланированным уменьшением размера награды за майнинг.
Серджио Лернер (Sergio Demian Lerner) на основе анализа первых блоков транзакций утверждает, что c 3 января 2009 года по 25 января 2010 года майнингом занимался только один человек, добыл около 1 миллиона биткойнов, большинство из которых никогда не тратились[38].
Государственные программы майнинга
В России в 2017 интернет-омбудсмен при Президенте РФ Дмитрий Мариничев рассказал о плане привлечения 100 млн долларов на постройку майнинговой фермы мощностью 20 мегаватт в районе с излишками электроэнергии[39][40][41].
С 2017 КНДР использует майнинг криптовалют для поддержки национальной валюты[42][43].
Правительство Армении в 2018 году приняло постановление о создании свободной экономической зоны в Раздане[44]. Организатором СЭЗ является компания ECOS, которая отвечает за развитие технологического кластера. СЭЗ включает образовательно-коммуникационные проекты, исследовательские лаборатории, электронные площадки для привлечения инвестиций в стартапы и дата-центр для майнинга[45][46].
Майнинг на видеокартах
Майнинг разных криптовалют может использовать разные процедуры для подтверждения выполнения работы. Для ряда криптовалют, в том числе и для Биткойна, были созданы специализированные процессоры (ASIC), которые из-за лучшей производительности и относительной экономичности вытеснили другие способы майнинга. В других случаях подобный подход оказался не столь эффективным. По состоянию на конец 2017 года майнинг ряда криптовалют, в том числе Ethereum, остаётся более эффективным с использованием процессоров видеокарт. Значительное повышение цен на криптовалюты привело к повышению спроса на майнинговое оборудование, в том числе на видеокарты[47]. Это подтолкнуло Sapphire и Asus выпустить линейку специализированных комплектующих для майнинга[48][49].
Майнинг на SSD и жестких дисках
В мае 2021 года существенно (в 2—3 раза[50]) вырос спрос на SSD и HDD больших объемов[51], который аналитики связывают с запуском криптовалюты Chia[англ.][52]. Созданная автором протокола BitTorrentБрэмом Коэном сеть Chia Network использует алгоритмы консенсуса Proof-of-Space и Proof-of-Time (доказательства пространства и времени)[53].
На начало 2015 года общее потребление электричества мировыми майнерами Биткойн оценивалась как минимум в 1,46 ТВт·ч ежегодно (при условии использования всеми наиболее энергоэффективных ASIC)[9], что соответствует средней мощности в 160 МВт.
В 2017 году на полное оформление одной транзакции в системе Bitcoin требовалось затратить в среднем 163 кВт⋅ч энергии. Таким количеством энергии можно в течение пяти с половиной дней полностью обеспечивать нужды семьи, состоящей из трех человек и проживающей в небольшом одноэтажном доме. На майнинг криптовалют в сетях Bitcoin и Ethereum суммарно уходило энергии больше, чем было потребление в Сирии, на Кипре, в Камбодже или Брунее[55][56][57].
По оценкам нидерландского экономиста Алекса де Вриcа, по состоянию на май 2018 года майнинг биткойна и других криптовалют поглощает 0,5 % мирового производства электроэнергии, что эквивалентно энергобюджету небольшой европейской страны[58][59].
Отдельными учёными было предсказано, что в случае продолжения роста показателя сложности и наращивания вычислительных мощностей для майнинга через 30 лет использование Биткойн приведёт к глобальному потеплению на 2 градуса по шкале Цельсия[60][61][62][63].
Появились разработки, обеспечивающие обогрев домов за счёт тепла, выделяемого при майнинге криптовалют[64].
С весны 2021 года в разных провинциях Китая начали вводиться запреты на централизованный майнинг, чтобы не допускать перебоев в электросетях из-за перегрузок. К середине июля 2021 года 90 % майнинг-компаний в Китае прекратили работу[65]. Для биткойна это привело к понижению параметра сложности на 45 % по сравнению с маем 2021 года[66].
20 апреля 2018 МЧС выпустило документ, в котором говорится о том, что майнинг криптовалют может привести к увеличению числа аварий на энергетических объектах России из-за возросшей нагрузки, поскольку существующие электрические сети на такую нагрузку не рассчитаны.[67]
Критика
К 2020 году в интернете активно распространяются вирусы майнинга, представляющие собой трояны, приносящие большой вред компьютеру, локализовать которые пользователю достаточно сложно[68].