Я уже описал в предыдущей главе, как Сатоши сгенерировал первичный блок – genesis block – и еще 13 последующих блоков в первый день работы своей системы. Процесс генерации блоков получил название майнинг (от англ. mining – добыча). Наградой майнеру – человеку, производящему на своем оборудовании вычисления, – становятся новые монеты, а также комиссии за транзакции, включенные в этот блок. Если транзакций нет – то и дополнительного вознаграждения с комиссий тоже нет. В первое время награда составляла 50 монет за каждый найденный блок. Легко посчитать, что Сатоши заработал 700 монет за несколько часов работы простого процессора. Однако в силу невысокой сложности вычислений и отсутствия какого-либо признания технологии в массах стоимость этих монет была близка к нулю. Последующие несколько месяцев генерация шла вяло, и сложность майнинга не росла до декабря 2009-го, когда в канун нового 2010 года на блоке № 32256 произошел пересчет сложности, и вместо единицы этот показатель составил 1,18 хеша в секунду. Теперь каждый добытый биткоин становится ценнее. Пересчет сложности происходит каждые 2016 блоков, следовательно, за первый календарный год майнинга прошло 16 циклов без пересчета сложности, было сгенерировано более 1 600 000 биткоинов из 21 000 000 возможных, что составило около 8 % всей возможной эмиссии. Но уже через полгода, благодаря распространению информации в сети Интернет, на блоке № 68544 сложность скакнула в 4 раза – с 45,39 до 181,54 хеша/сек. Несложно посчитать, что уже за первое полугодие 2010 года было добыто больше монет, чем за весь предшествующий год. И с тех пор сложность вычислений, а следовательно, количество вычислительной мощности, которое необходимо для генерации нового блока, только растет. Очень редко этот показатель снижается – например, в период уполовинивания награды за блок или выхода очередного форка (ответвления блокчейна) биткоина. Майнинг – это непрерывный поиск решения усложняющейся задачи. В реальной жизни можно провести параллель с математической олимпиадой с призами за решенную задачу, где всем участникам раздали одинаковые задачи, а после их решения одним из участников немного усложнили условия, а затем еще и еще. Возможно, участникам сначала выдают счеты, затем калькуляторы, потом маломощные компьютеры, потом суперкомпьютеры… Чем больше вычислительных ресурсов вы используете, тем больше решаете задач и зарабатываете. И в процессе вычисления блоков биткоина реализовался подобный сценарий. Все производили вычисления на процессорах, пока некто с псевдонимом ArtForz не написал специализированное программное обеспечение, позволявшее использовать графические ускорители (видеокарты) в параллельных вычислениях и в несколько раз эффективнее вычислять хеш-функции для генерации блоков биткоина. Собрав несколько видеокарт в один вычислительный модуль, была реализована первая «ферма» на видеокартах, и в небольшой промежуток времени один человек смог кратковременно завладеть 25 % вычислительных мощностей сети Биткоин. Речь идет о середине 2010 года, но уже в 2011 году использование видеокарт стало более массовым, как и выбор программного обеспечения, появившегося в публичном доступе. Здесь затронут один важный момент – понятие «атаки 51», когда майнер или группа майнеров, владеющих 51 % мощности сети, могут игнорировать решения других 49 % майнеров и выстраивать свою цепочку, отвергая ненужные варианты блоков. Такая группа может очень долго иметь повышенный уровень генерации, но своими действиями также может навредить всей системе, скомпрометировав ее и оттолкнув честных участников.
В это время биткоин уже обрел некоторую реальную стоимость, и усилия по внедрению новых аппаратных и программных решений окупались в сравнительно небольшой срок. И вот уже в июне 2011-го на рынок вышли майнеры на основе FPGA (ПЛИС) – вычислительных чипов, которые могли быть запрограммированы пользователями под конкретные задачи. Правильная архитектура и ПО позволили добиться намного более высокой производительности. Но и у этой технологии был век недолог. Компания Butterfly Labs (BFL), достигшая хороших показателей в разработке и внедрении (а следовательно и продажах) FPGA-майнеров, уже через год, в июне 2012-го, начала прием предзаказов на ASIC-майнер на микрочипах специального назначения, сконструированных и оптимизированных только для целей вычисления хеш-функций алгоритма SHA-256, на котором, собственно, и работает биткоин. Не все прошло гладко, и не растерялись конкуренты в лице ASICMINER и Avalon, бросившие силы на разработку своих микросхем. Сейчас добывать биткоин можно только на последних поколениях ASIC-майнеров, которые демонстрируют низкое потребление электроэнергии при приемлемой стоимости в $ за 1 Th/s вычислительной мощности.
Первоначально майнинг даже не преследовал цель покрыть издержки на электроэнергию и амортизацию вычислительного оборудования, а больше походил на попытку заработать побольше очков в новой интересной игре. Никто не придавал такой ценности Bitcoin, как сегодня, никто даже не предполагал, что он будет стоить десятки тысяч долларов. Ведь изначально речь шла о цене в несколько центов за один биткоин. Благая цель Сатоши по наделению каждого ядра процессора одним голосом в сети начала разрушаться, как только ценность монеты позволила зарабатывать хорошие деньги на создании крупных вычислительных центров. Такова человеческая сущность – мы хотим больше и больше…
В силу того, что майнинг перестал быть способом достижения консенсуса в сети и стал способом заработка, ведь фактически майнер – это печатная машинка для денег, изменился и состав сообщества майнеров. Место талантливых программистов, математиков, специалистов по криптографии заняли матерые финансисты и бизнесмены, почуявшие золотую жилу как в производстве оборудования для майнинга, так и в строительстве крупных дата-центров для собственной генерации криптовалют. Из чего же складывается награда майнера? Рассмотрим чуть подробнее.
Первая часть – фиксированное вознаграждение, заложенное в алгоритм создателем, которое получает пользователь, первым вычисливший новый блок. Изначально награда составляла 50 BTC за блок. Но для борьбы с инфляцией Сатоши придумал механизм уполовинивания награды через каждые найденные 210 000 блоков. Первое уполовинивание до 25 BTC за блок произошло именно на блоке № 210000 в конце ноября 2012 года, второе случилось в начале июля 2016 года. Следующее снижение награды предстоит в апреле-мае 2020 года. Предполагается, что чем меньше награда за блок, тем ценнее должна становиться каждая следующая добытая монета. Если в начале 2010 года кто-то мог получить дневное вознаграждение в 50 монет за найденный блок, пользуясь мощным, но доступным для всех ноутбуком, то сейчас придется купить тысячу(!) дорогостоящих специализированных устройств типа Antminer s9, чтобы заработать лишь 1 Bitcoin, и не за несколько часов, а за сутки. При этом потребив примерно 1,5 мВт электроэнергии, что сравнимо с потреблением энергии 15 000 ноутбуков! Получается, что в 2020 году можно ожидать очередного роста цены биткоина, потому что оставшееся количество монет будет еще более ценным, так как их добыча становится невероятно сложной и затратной. Обычному пользователю в сегодняшних условиях сгенерировать блок просто невозможно, либо он должен обладать магической удачей, чтобы его не очень функциональное устройство вдруг нашло верное решение раньше других. Кстати, существует такой фактор в майнинге, как luck – удача. То есть вы можете найти блок за час, а можете за одну минуту. Однако на долгом отрезке времени теория вероятности сделает свое дело, и шансы будут стремиться уравняться. На некоторых специализированных форумах даже предлагаются к продаже асики, которые сильно выбились из средней статистики по количеству найденных блоков, работая в соло-майнинге, т. е. пытаясь решить задачу единолично, вне сообщества (пула) таких же вычислительных модулей. Однако это лишь маркетинговый ход, не имеющий под собой математической подосновы.
Вторая часть награды майнера – это награда за проведенные транзакции. То есть помимо награды за блок он также получает всю сумму комиссий, которые заплатили пользователи за осуществление своих платежей. Если майнер нашел блок – это пустой контейнер, в который можно поместить определенный максимальный объем транзакций. Сейчас идет работа над увеличением объема информации, хранимой в блоке, и следовательно, над увеличением совокупной награды за транзакции, включенные в блок. Не так давно, в 2017 году, было время, когда транзакции перестали помещаться в блоки, очередь была огромной и платеж в сети Биткоин мог идти сутками, хотя система криптовалютных платежей позиционирует себя как способ сделать перевод быстро, анонимно и децентрализованно. В итоге сложилась ситуация, в которой огромные вычислительные центры, созданные в основном производителями специализированных чипов, смогли выбирать, какие транзакции включать в блок из всего мем-пула (списка транзакций к исполнению). Если какая-то транзакция предполагала бÓльшую оплату, майнер предпочитал включить в блок ее, а не ту, что была более дешевой. В данном случае ситуация в чем-то похожа на железную дорогу, только вагоны подгоняют каждые 10 минут, а на станции уже ждет множество грузовых машин, которые хотят отправить что-то в соседний город. Машин уже намного больше, чем вагонов, и мы не можем поместить все грузы в один вагон. Естественно, возникает ситуация, когда некоторые водители начинают платить более высокую цену, лишь бы поместить свой груз именно в этот вагон. Естественно, машинист поезда выберет тех, кто предложил больше других. Майнер работает так же: из всех поступивших в базу запросов на обработку транзакций он выберет только те, которые заплатят больше. В итоге сумма комиссий с упакованных в блок транзакций могла составлять более 1 BTC, помимо фиксированной награды за блок. А «дешевые» транзакции никто не хотел обрабатывать.
Сегодня все борются за награду за блок, т. к. эта цифра очень существенна, даже несмотря на два ее состоявшихся уполовинивания – 12,5 Bitcoin. Это более 100 тысяч долларов за один найденный блок (на дату 01.05.2018). А объем транзакций, которые может включить майнер, в спокойное время менее 1 Bitcoin. В среднесрочной перспективе, примерно к весне 2024 года, когда награда за блок упадет до 3,125 Bitcoin, а количество транзакций в одном блоке будет в несколько раз больше, чем сейчас, мы можем увидеть ситуацию, когда размер комиссий приблизится к вознаграждению за блок, а вот в 2028 году и превысит этот размер. Тогда будет важно, сколько и каких транзакций вы добавили в блок. Поэтому майнинг в будущем – это не охота за наградой за блок, а кропотливая работа оператора по проведению платежей, который постоянно обрабатывает транзакции и зарабатывает на них.