Блокчейн
Proof of Work: безопасность через энергию
В январе 2009 года обычный компьютер за 10 минут находил блок Bitcoin и получал 50 BTC. Сегодня вся сеть Bitcoin потребляет больше электричества, чем Норвегия, при этом тысячи специализированных машин соревнуются за право получить 3.125 BTC каждые 10 минут. Как система, где каждый участник действует исключительно ради прибыли, уже 15+ лет надёжно защищает триллион долларов без единого администратора? Ответ: Proof of Work превращает электричество в доверие, а жадность майнеров - в безопасность сети.
- **Bitcoin** перерабатывает ~150 TWh электричества в год, обеспечивая безопасность сети стоимостью $1+ трлн - стоимость 51% атаки превышает $10 млрд в оборудовании плюс миллионы долларов в электричестве ежедневно
- **Halving** (сокращение награды вдвое каждые ~4 года) создаёт дефляционную модель: к 2140 году все 21 млн BTC будут добыты, и майнеры перейдут на доход исключительно от комиссий
- **Mining pools** (Foundry USA, AntPool, F2Pool) контролируют 70%+ hashrate - парадокс: децентрализованная сеть с централизованной инфраструктурой майнинга
Предварительные знания
Mining: лотерея на триллион билетов
В уроке о консенсусе мы узнали, что ноды должны договориться о единой версии блокчейна. Но **кто именно** имеет право добавить следующий блок? В открытой сети, где участники анонимны, голосование невозможно - злоумышленник создаст миллион фейковых нод (Sybil-атака). Сатоши Накамото предложил элегантное решение: **голосовать не нодами, а вычислительной мощностью**.
**Майнинг** - это процесс поиска такого числа (nonce), при котором хеш блока оказывается **меньше заданного target**. Майнер собирает транзакции из mempool, формирует блок и начинает перебирать значения nonce. Из-за эффекта лавины хеш-функции каждая попытка даёт непредсказуемый результат - это чистая лотерея.
Первая транзакция в каждом блоке - **coinbase transaction**. Она создаёт новые BTC «из воздуха» и отправляет их майнеру. Это единственный способ создания новых Bitcoin. Награда за блок (block reward) уменьшается вдвое каждые 210,000 блоков (~4 года) - этот процесс называется **halving**.
| Период | Block Reward | Общая эмиссия |
|---|---|---|
| 2009–2012 | 50 BTC | 10,500,000 BTC |
| 2012–2016 | 25 BTC | 15,750,000 BTC |
| 2016–2020 | 12.5 BTC | 18,375,000 BTC |
| 2020–2024 | 6.25 BTC | 19,687,500 BTC |
| 2024–2028 | 3.125 BTC | 20,343,750 BTC |
| ~2140 | 0 BTC | 21,000,000 BTC (лимит) |
**Аналогия с лотереей:** майнинг - это покупка лотерейных билетов. Каждый хеш - один билет. Чем больше билетов ты покупаешь в секунду (hashrate), тем выше шанс выиграть. Но в отличие от обычной лотереи, проверка выигрышного билета другими участниками занимает **один** хеш - мгновенно.
Майнер нашёл блок и получил 3.125 BTC. Откуда взялись эти монеты?
Difficulty: самонастраивающийся механизм
Если бы target (порог, ниже которого должен быть хеш) оставался постоянным, то по мере подключения новых майнеров блоки находились бы всё быстрее. При удвоении мощности сети время нахождения блока упало бы вдвое. Через несколько лет блоки появлялись бы каждую миллисекунду - сеть захлебнулась бы данными.
**Difficulty adjustment** - механизм автоматической коррекции сложности. В Bitcoin каждые **2016 блоков** (~2 недели) сеть пересчитывает target так, чтобы среднее время нахождения блока оставалось **~10 минут**.
**Почему именно 10 минут?** Это компромисс Сатоши. Быстрее - больше orphan-блоков (два майнера находят блок одновременно, один блок теряется). Медленнее - долгое ожидание подтверждения. 10 минут дают достаточно времени для распространения блока по всей P2P-сети.
Реальный difficulty adjustment: Китай запрещает майнинг (2021)
Как сеть пережила потерю 50% хешрейта
В мае-июне 2021 Китай запретил майнинг. Более 50% глобального хешрейта отключилось за несколько недель. Что произошло: 1. Блоки стали находиться за ~20 минут вместо 10 2. Через 2016 блоков (~4 недели при 20 мин/блок) difficulty снизился на ~28% 3. Ещё через 2016 блоков - ещё снижение 4. К концу 2021 difficulty восстановился: майнеры переехали в США и Казахстан Сеть не остановилась ни на секунду - difficulty adjustment сработал как задумано.
Хешрейт Bitcoin вырос в 4 раза за 2 недели (2016 блоков). Что произойдёт при следующем difficulty adjustment?
Nonce: поиск иголки в стоге хешей
**Nonce** (Number used ONCE) - 32-битное число в заголовке блока, которое майнер перебирает в поисках валидного хеша. Диапазон: от 0 до $2^{32} - 1$ (4,294,967,295 - чуть больше 4 миллиардов значений).
Но современная difficulty требует перебрать **триллионы триллионов** комбинаций. 4 миллиарда значений nonce - катастрофически мало. Что делать, когда все значения перебраны, а валидный хеш не найден?
**В реальном Bitcoin** используется **double SHA-256**: `SHA256(SHA256(block_header))`. Это не удваивает безопасность, но защищает от определённого класса атак (length extension attacks), которым подвержен одиночный SHA-256.
Майнер перебрал все 4,294,967,295 значений nonce, но валидный хеш не найден. Что он делает дальше?
Hashrate: гонка вооружений
**Hashrate** - количество хешей, которое майнер (или вся сеть) вычисляет в секунду. Это прямой показатель вычислительной мощности, вложенной в безопасность сети.
| Единица | Значение | Масштаб |
|---|---|---|
| H/s | 1 хеш/сек | Ручной расчёт на бумаге (теоретически) |
| KH/s | 10^3 хешей/сек | CPU (2009 год, первые майнеры) |
| MH/s | 10^6 | GPU (2010–2012) |
| GH/s | 10^9 | FPGA (2012–2013) |
| TH/s | 10^12 | Один ASIC-майнер (2014+) |
| PH/s | 10^15 | Крупная ферма |
| EH/s | 10^18 | Весь Bitcoin (~700 EH/s в 2024) |
Эволюция майнинга - это классическая **гонка вооружений**. CPU → GPU → FPGA → ASIC. Каждый этап давал прирост производительности в 100–1000 раз, делая предыдущее оборудование бесполезным.
**Mining pools** объединяют hashrate тысяч майнеров. Вместо того чтобы искать блок в одиночку (можно ждать годы), майнеры отправляют «почти-решения» (shares) в пул. Когда пул находит блок, награда делится пропорционально вкладу каждого участника.
**Риск централизации пулов:** если один пул контролирует >50% hashrate, он теоретически может проводить атаку двойной траты. В 2014 году пул GHash.IO ненадолго достиг 51% - и майнеры добровольно ушли в другие пулы. Но добровольность - слабая гарантия.
Майнер с ASIC на 100 TH/s присоединяется к пулу с общим hashrate 10 PH/s. Пул нашёл блок с наградой 3.125 BTC. Сколько получит майнер?
Энергопотребление: цена децентрализованного доверия
Proof of Work **специально** тратит энергию. Это не баг - это фундаментальное свойство. Безопасность PoW напрямую привязана к стоимости атаки: чтобы переписать блокчейн, нужно потратить **больше** электричества, чем потратила вся сеть за это время. Энергия - это физический мост между цифровым миром и реальностью.
**Cambridge Bitcoin Electricity Consumption Index (CBECI)** - наиболее авторитетный источник данных об энергопотреблении Bitcoin, поддерживаемый Кембриджским университетом. CBECI рассчитывает потребление на основе модели оборудования: какие ASIC активны, их энергоэффективность и текущий hashrate.
| Аргумент критиков | Ответ сторонников |
|---|---|
| 150 TWh/год - расточительство | Банковская система потребляет ~260 TWh/год (включая офисы, банкоматы, инкассацию), а обслуживает не весь мир |
| 707 kWh на транзакцию - абсурд | Некорректная метрика: энергия тратится на безопасность всей сети, а не на отдельные транзакции. Lightning Network обрабатывает миллионы tx без дополнительной энергии |
| Углеродный след | ~50% майнинга использует возобновляемую энергию. Майнеры идут туда, где электричество дешёвое - часто это гидро, ветер, солнце, stranded gas |
| Есть PoS - зачем тратить энергию? | PoS требует доверия к крупным стейкхолдерам. PoW - единственный механизм, привязанный к физической реальности, а не к распределению токенов |
**Stranded energy и flexible load.** Майнеры могут работать в местах с избыточной энергией: попутный газ на нефтяных месторождениях (который иначе сжигают в факелах), гидроэлектростанции с сезонным избытком, солнечные фермы в часы пикового производства. Bitcoin - уникальный «покупатель последней инстанции» для энергии, которая иначе пропала бы.
Энергия, потраченная на майнинг, «тратится впустую» - она не производит ничего полезного
Энергия PoW производит конкретный продукт: **иммутабельность и безопасность** леджера. Каждый киловатт-час, потраченный на майнинг, увеличивает стоимость атаки на сеть. Это аналог расходов на золотодобычу (бензин, техника, зарплаты) - золото тоже «просто лежит в хранилище», но его добыча создаёт доверие к его ценности.
Путаница возникает из-за сравнения PoW с традиционными платёжными системами по метрике «энергия на транзакцию». Но PoW защищает не транзакции, а всю историю сети. Правильная метрика - «стоимость атаки на сеть», и по этой метрике энергозатраты оправданы: 51% атака на Bitcoin стоит миллиарды долларов в оборудовании и миллионы в электричестве ежедневно.
Bitcoin потребляет ~150 TWh в год. Если бы вся сеть перешла на Proof of Stake (как Ethereum), потребление упало бы на ~99.95%. Почему Bitcoin этого не делает?
Ключевые идеи
- **Mining** - поиск nonce, при котором `SHA256(SHA256(block_header)) < target`. Это вычислительная лотерея: проверить решение - один хеш, найти - триллионы попыток. Coinbase транзакция создаёт новые BTC как награду
- **Difficulty adjustment** - каждые 2016 блоков сеть пересчитывает target, поддерживая среднее время блока ~10 минут. Механизм пережил потерю 50% hashrate в 2021 (запрет в Китае) без остановки
- **Nonce** - 32-битное число (4 млрд значений), расширяемое через extra nonce в coinbase до $2^{96}$ комбинаций. Double SHA-256 защищает от length extension атак
- **Hashrate** прошёл путь от CPU (MH/s) до ASIC (TH/s) за 15 лет. Mining pools решают проблему вариативности дохода, но создают риск централизации
- Помните, как в 2009 году обычный компьютер за 10 минут находил блок? Сегодня для этого нужны гигаватты мощности - и именно эта стоимость делает Bitcoin безопасным. Proof of Work превращает электричество в нечто, что не может подделать ни одно правительство: математически верифицируемое доверие
Связанные темы
Proof of Work - центральный механизм Bitcoin, связывающий криптографию с экономикой:
- Консенсус: зачем и как — PoW - конкретная реализация Nakamoto consensus, решающая задачу византийских генералов через вычислительную работу вместо голосования
- Proof of Stake — Альтернатива PoW: вместо энергии используется экономическая ставка. На 99.95% меньше энергозатрат, но другая модель безопасности
- Bitcoin Mining (практика) — Детали реализации: pool protocols, ASIC архитектура, экономика майнинг-ферм, halving cycles
Вопросы для размышления
- Bitcoin потребляет ~150 TWh/год, а VISA обрабатывает 200 млрд транзакций при ~0.2 TWh/год. Корректно ли сравнивать эти системы по метрике «энергия на транзакцию»? Что именно покупает потраченная энергия в каждом случае?
- Четыре крупнейших mining pool контролируют ~73% hashrate Bitcoin. Является ли это 51% атакой «в замедленной съёмке»? Или у пулов нет стимулов атаковать сеть, которая приносит им доход?
- Квантовые компьютеры теоретически могут ускорить перебор nonce квадратично (алгоритм Гровера: $2^{128}$ вместо $2^{256}$). Достаточно ли будет увеличить difficulty, или потребуется фундаментальное изменение PoW?
Связанные уроки
- bc-02-hashing — SHA-256 хэширование - атомарная операция PoW
- bc-05-consensus-intro — Консенсус - зачем вообще нужен PoW
- bc-15-pos — PoS - альтернативный консенсус без энергии
- bc-16-bft — BFT - классический консенсус без puzzle
- prob-02-combinatorics — Nonce поиск - комбинаторная задача с хэшем
- st-10-economics — Mining economics - game theory в энергетическом рынке
- crypto-19-hash-functions