Средний Урок 5 4 мин чтения

Сложность: корректировка каждые 2.016 блоков

Увеличение мощности майнинга не приводит к появлению большего количества биткойнов. Это повышает сложность, а часы продолжают отсчитывать десять минут.

Если завтра в два раза больше машин в мире будет подключено для майнинга, Bitcoin продолжит производить один блок каждые десять минут и ровно такое же количество монет в день. Больше усилий не приносит больше денег. Это приводит только к увеличению сложности — и понимание этой детали означает понимание того, почему эмиссия — это правило, а не обещание.

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

Чем быстрее вращается, тем больше регулятор закрывает клапан. Никто не решает: механизм решает.

Обратите внимание, кто делает эту корректировку: никто. Не существует сервера, который пересчитывает сложность и уведомляет майнеров. Каждый узел, с заголовками, которые у него уже есть, приходит к одному и тому же числу в одном и том же блоке, потому что расчет детерминированный, а данные публичные. Узел, который бы считал иначе, просто отверг бы блоки других и остался бы один в своей версии реальности.

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

В 2021 году половина машин в мире покинула одну страну, находясь в грузовиках.

3 июля 2021 года, без собрания, без уведомления и без голосования, сложность снизилась на 27,94% — самое большое падение в истории сети. Блоки вернулись к десяти минутам. Машины были переустановлены в Техасе, Казахстане и Парагвае в течение следующих месяцев, вычислительная мощность снова начала расти, и сложность увеличивалась вместе с ней, корректировка за корректировкой, без необходимости принимать какие-либо решения.

Стоит развеять одно распространенное недоразумение в терминологии. Вычислительная мощность сети, hashrate, не измеряется никем — невозможно подсчитать машины, разбросанные по миру, которые не идентифицируют себя. Она оценивается наоборот: зная сложность и наблюдая, сколько времени занимают блоки, можно сделать вывод, сколько силы должно быть задействовано. Каждый график hashrate, который вы когда-либо видели, является выводом, а не подсчетом.

Как бы ни была напряжена пружина, механизм выпускает по одному зубцу за раз.

Есть еще один очаровательный момент для тех, кто любит код. Расчет корректировки, как его написал Сатоши, использует интервал в 2015 блоков вместо 2016 — ошибка на один блок. Эффект незначителен, блоки выходят в среднем на несколько секунд быстрее, чем должны, и он никогда не был исправлен: исправление изменило бы правило консенсуса, и сеть предпочитает известный и безвредный дефект ненужному изменению.

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

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

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