Как работает майнинг криптовалюты
Майнинг криптовалюты работает как соревнование: тысячи устройств по всему миру одновременно ищут число, при котором хэш нового блока окажется достаточно маленьким. Первый, кто нашёл, записывает блок в общую цепочку и получает награду. Разберём этот процесс по шагам на примере биткоина.
Зачем сети нужен майнинг
В биткоине нет банка, который решает, какие переводы настоящие. Журнал операций хранят тысячи независимых компьютеров. Майнинг решает две задачи сразу:
- Кто пишет следующую страницу журнала. Право получает тот, кто первым выполнил дорогую вычислительную работу.
- Защита от подделки. Чтобы переписать историю, злоумышленнику пришлось бы заново выполнить всю эту работу быстрее остальной сети, а это требует больше половины мирового хешрейта.
Такой способ называется Proof of Work, доказательство работы. Его придумали задолго до биткоина для защиты от спама, а Сатоши Накамото применил к деньгам в 2008 году.
Как майнер собирает блок
- Берёт переводы из мемпула. Мемпул означает очередь неподтверждённых операций. Майнер выбирает те, за которые заплачена комиссия повыше: она достанется ему.
- Добавляет свою выплату. Первая операция блока, coinbase, переводит награду на адрес майнера. Новые монеты появляются именно так.
- Считает корень Меркла. Все операции блока сворачиваются в один хэш. Поменяйте любую операцию, и корень изменится.
- Собирает заголовок длиной 80 байт: версия, хэш предыдущего блока, корень Меркла, время, целевая сложность и nonce.
- Перебирает nonce. Считает двойной SHA-256 заголовка, сравнивает результат с целью, меняет nonce и считает снова.
- Рассылает найденный блок. Остальные узлы проверяют его за доли секунды и переходят к следующему.
Перебор nonce на живом примере
Ниже настоящий майнер, который считает SHA-256 в вашем браузере. Цель: хэш, который начинается с заданного количества нулей. Чем больше нулей, тем дольше поиск: каждый ноль умножает работу в 16 раз.
Блок#1
на паузе- Попыток
- 0 / ≈65536
- Скорость
- 0 хэш/с
- Цель
- 4 нуля в начале
У биткоина цель сейчас примерно в 19-20 нулей в начале хэша. Вся сеть перебирает около секстиллиона (1021) хэшей в секунду, и всё равно на один блок уходит около 10 минут.
Как сеть держит 10 минут на блок
Каждые 2016 блоков, примерно раз в две недели, сеть сравнивает, за сколько они реально были найдены, с плановыми двумя неделями. Если быстрее, сложность растёт, если медленнее, падает. Так время блока остаётся около 10 минут, сколько бы майнеров ни подключилось. Подробнее о скорости перебора в статье «Что такое хешрейт».
Откуда берётся награда
- Субсидия блока. Новые биткоины, которые сеть выпускает за каждый блок. Сейчас 3,125 BTC. Каждые 210 000 блоков субсидия уменьшается вдвое, это халвинг.
- Комиссии. Все комиссии операций, вошедших в блок.
Всего биткоинов будет не больше 21 миллиона. К осени 2026 года добыто больше 20 миллионов, последний будет выпущен примерно в 2140 году. После этого майнеры будут жить только на комиссиях.
Как работает майнинг-ферма
В одиночку найти блок биткоина почти невозможно, поэтому реальный майнинг выглядит так:
- специализированные устройства, ASIC-майнеры, стоят рядами в помещении с мощной вентиляцией и дешёвым электричеством;
- все они подключены к майнинг-пулу, который раздаёт задания и делит награду по вкладу;
- пул каждый день начисляет фермеру долю добычи за вычетом комиссии.
Посчитать, сколько приносит конкретное устройство, можно в калькуляторе майнинга. Подробности про фермы в статье «Майнинг-ферма: что это и сколько приносит».
Майнинг и Proof of Stake
Не все криптовалюты майнятся. Ethereum в сентябре 2022 года перешёл на Proof of Stake: вместо вычислений блоки создают участники, заморозившие монеты в залог. Майнинг в классическом смысле остался у биткоина, Litecoin, Monero, Ethereum Classic и других сетей на Proof of Work.
Попробовать майнинг без оборудования можно в игре TotalHash: телефон считает SHA-256, закрывает блоки игровой сети и получает игровой токен #TH. 40% награды идёт нашедшему хэш, 60% делят остальные участники блока по числу шар, совсем как в пуле.
Короткие ответы
Как работает майнинг простыми словами?
Майнер собирает переводы в блок и перебирает число nonce, пока хеш блока не станет меньше цели сети. Первый, кто нашёл такой хеш, добавляет блок в цепочку и получает награду.
Как работает майнинг ферма?
Ферма объединяет много майнинговых устройств, подключённых к пулу. Пул раздаёт задания, принимает шары и делит награду по вкладу каждой машины.
Сколько длится поиск одного блока биткоина?
В среднем около 10 минут. Сеть пересчитывает сложность каждые 2016 блоков, чтобы удерживать это время.
Почему майнинг тратит столько электричества?
Подходящий хеш нельзя вычислить напрямую, только перебором. Вся сеть биткоина перебирает около 10^21 хешей в секунду, и на это уходит энергия.