Основные принципы майнинга биткоинов

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

Как майнят биткоин?

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

Bitcoin не имеет выделенных серверов, все участники майнинга обладают равными правами. Для того, чтобы обеспечить невозвратность транзакций и доступ к проверке их достоверности каждому участнику, нужна база данных. В BTC хранение транзакций предусмотрено в цепочке блоков (BlockChain), в которой хранятся все операции по бикоину.

Что записано в блоке:

  • Служебные данные: ver, time, nonce, n_tx, size.
  • Хэш-сумма заголовка блока hash.
  • Hash предыдущего блока prev_block.
  • Список и количество транзакций mrkl_root.
  • Целевое значение Hash — bits.

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

Каждый майнер скачивает всю цепочку блоков. Таким образом, внести какие-либо изменения в списки транзакций невозможно — система децентрализована и неуязвима. Данные о каждом блоке в открытом доступе на сайте Bitcoin Block Explorer. Как только блок сгенерирован, он рассылается по сети, проходит проверку на валидность и одобрение.

Майнинг биткоинов заключается в решении сложной математической задачи методом исчерпывания всех возможных вариантов ответа (brute force). Это ресурсоемкий и долгий процесс, со временем сложность добычи увеличивается. На графике показана обратно пропорциональная функция скорости майнинга к времени.

обратно пропорциональная функция скорости майнинга к времени

Блоки пополняются каждые 10 минут. Чтобы сохранить этот интервал, происходит корректировка сложности майнинга биткоинов. Количество BTC в блоке уменьшается вдвое после каждых 210 тысяч добытых блоков. Так как награда за майнинг уменьшается по определенному алгоритму, к 2032 году будут добыты 99% всех монет — около 21 миллиона.

Транзакции в блоке образуют цепочку. В транзакции указывается, откуда и куда направляются биткоины: адресат идентифицируется по своему публичному ключу, ему необходимо сгенерировать новую транзакцию, чтобы получить перевод с предыдущей. Для идентификации перевода нужна цифровая подпись, гарантирующая валидность транзакции.

У транзакций такие свойства:

  • Общий хэш транзакции, в который входит hash блока и самой транзакции. Хэши ссылаются на предыдущие, поэтому изменить что-то в цепочке локально не получится.
  • Версия схемы транзакции.
  • Сумма прошлых транзакций.
  • Адреса для перевода биткоинов.
  • Отложенные транзакции.
  • Вес в байтах в формате JSON.
  • Источники транзакции со своими индивидуальными свойствами: hash предыдущей транзакции, n — порядковый номер источника п.т., scriptSig содержит публичный ключ и подпись приватного ключа, scriptPubKey сценарий проверки транзакции на валидность, value число BTC, которое должно быть направлено адресату.

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

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

график сложности майнинга
График сложности майнинга

Ценность криптовалюты не заложена в ней изначально и формируется только спросом, к тому же биткоины являются ограниченным ресурсом. Сначала цена формировалась за счет доверия к системе, и это доверие растет, судя по цене биткоина на данном этапе.