Найти в Дзене
Blockspoint

Подробнее о майнинге. 1. Введение

Для рядового Интернет-пользователя майнинг − это один из наиболее известных криптовалютных терминов. Однако мало кто осознает всю сложность и многогранность этого процесса. И еще меньше людей понимают назначение майнинга и то, насколько он важен для блокчейна.

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

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

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

Не каждая полная нода является майнером. Майнинг − это процесс, требовательный к ресурсам, и владелец ноды может не нагружать свой компьютер вычислениями. В таких случаях он просто ретранслирует сообщения других нод.

Все полные ноды, получившие новый блок, проверяют его. Если результат удовлетворяет критериям сложности, участники сети соглашаются с нодой-добытчиком и тоже добавляют блок в свои блокчейны. Фактически, конечный результат − это правильный хеш-код нового блока, который интерпретируется протоколом Биткоин.

-2

Интерпретация положительного результата напрямую связана с наградой, но непосредственно ею не является. Получение правильного кода означает, что нода закрыла блок. Закрытие блока рассматривается Биткоином как проделанная работа, которая, следуя логике системы, должна быть награждена.

С наградой тоже не все просто. Закрытие новых блоков дает нодам разное количество биткоинов, которое зависит от комиссий за транзакции и общего числа уже закрытых блоков. В протоколе Биткоина награда за закрытие очередного блока уменьшается в два раза каждые 210 тысяч блоков. По статистике, каждый блок закрывается примерно за десять минут, и уменьшение награды происходит примерно раз в четыре года. Это определяется процедурой изменения целевого значения для вычисления хеш-функции. Она позволяет менять сложность каждые 2016 блоков, повышая (как правило) или понижая (редко) ее.

Изначально наградой было 50 BTC, но на сегодняшний день за один блок майнер получит лишь 12,5 BTC. Комиссии внутри транзакций назначаются источниками этих транзакций. Майнер, закрывший блок, не может их регулировать, зато он может выбрать те транзакции, которые несут в себе комиссии большего размера.

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

Подводя итоги: майнинг изначально предназначен для закрытия очередного блока; пополнение счета − мотивация для проведения вычислений, без которых блок не будет закрыт.

Сергей Борсук, Blockspoint