Так называйемый «майнинг» – это, наверное, самая сложная для понимания тема, связанная с биткойном. Майнинг очень сильно отличается от того, кака работает привычная нам финансово-экономическая система, и к майнингу относится большое количество различных аспектов, которые достаточно сложно покрыть в одной статье. Но, несмотря на это. Я постарался собрать здесь всю базовую информацию. Намного более детальный обзор этой темы вы можете найти в главах 3-6 книги Яна Прицкера «Изобретая биткойн».
Когда вы отправляете транзакцию кому-то в сети биткойна, вы предлагаете внести изменения в блокчейн. Так как блокчейн — это децентрализованный реестр, в который вносится информация обо всех транзакциях с биткойном, то все, у кого работает узел, должны быть уведомлены об этих изменениях. По сути, вы сообщаете всем узлам: «У меня есть энное количество биткойнов, и теперь я передаю их во владение другому человеку с таким-то адресом». Но как все эти люди могут быть уверены в том, что вы действительно предлагаете провести транзакцию как полагается, и что никто не нарушает правила? Как раз для этого и нужен майнинг. Майнеры группируют несколько транзакций в «блок» (от него и происходит слово блокчейн). То есть блок — это, по сути, и есть просто набор транзакций. Потом майнеры запускают специальные компьютеры, которые пытаются решить криптографическую задачу. Тот майнер (или группа майнеров), которые решает эту задачу первым, получает вознаграждение в количестве какой-то суммы биткойнов. Это называется block reward – награда за блок, и на сегодняшний день эта награда составляет 6,25 биткойна.
Для чего это нужно?
Блокчейн биткойна по задумке должен существовать вечно. Если в него внесена транзакция, ее будет невозможно из него удалить. Поэтому крайне важно, чтобы в блокчейн вносились только проверенные транзакции, соответствующие правилам. Чтобы предотвратить действия спамеров, мошенников, или других нехороших людей по добавлению транзакций в блокчейн, нужно потратить большое количество энергии, решая криптографическую задачу с помощью компьютера. Соответственно, вносить изменения в блокчейн стоит очень дорого. Те майнеры, которые предлагают только проверенные, правильные транзакции, и находят решение криптографической задачи, награждаются новыми биткйонами. Они также собирают комиссию, которая включена в каждую транзакцию. Отправитель транзакции сам решает, какую комиссию назначить — чем она выше, тем быстрее транзакция будет добавлена в блокчейн, потому что майнеры с большей вероятностью будут браться за транзакции с высокой комиссией.
Подытожим то, что мы уже узнали: люди оправляют друг другу биткойны, включая в каждое отправление стоимость комиссии на свой выбор. Майнеры группируют эти транзакции и пытаются решить криптографическую задачу. Когда эта задача решена, то решивший ее первым майнер может добавить сгруппированные транзакции в блокчейн, и заработать на них комиссию, а также награду в 6,25 биткойнов.
Эта награда для майнеров — это приход в мир новых биткойнов. В мире будет существовать максимум 21 миллион биткойнов, но их выпускают в оборот не сразу. Вместо этого биткойны выпускались в качестве награды за блок с самого начала существования биткойна. Изначально эта награда составляла 50 биткойнов, спустя четыре года — 25, спустя еще четыре года ее снвоа урезали вдвое, и т. д. В 2020 году ее урезали вдвое до 6,25 биткойнов за каждый добавленный блок. Награду будут продолжать урезать вдвое каждые четыре года до тех пор, пока все биткойны (21 миллион) не будут выпущены в оборот. Это, по сути, инфляция биткойна, но в отличие от обычной валюты, ее можно точно спрогнозировать, и она в конечном итоге будет равна нулю.
А причем здесь криптографические задачи?
Задачи — это как раз то, что требует от майнеров больших энергетических и финансовых затрат. Блок будет добавлен в блокчейн только в том случае, если задача решена правильно, и если эта задача достаточно сложная, чтобы требовать специального высокомощного оборудования и большого объема энергии для ее решения. Задачи такого уровня нельзя решить в голове, на бумаге, или с помощью обычного компьютера. По сути, криптографические задачи — это тот способ, который создатели биткойна выбрали для того, чтобы майнеры всегда были вынуждены затрачивать большое количество энергии при работе. У этого способа два основных преимущества. Во-первых, у этих задач есть только одно верное решение, поэтому несмотря на сложность процесса решения задачи, система может легко проверить, кто правильно решил задачу и чей блок будет добавлен в блокчейн, тем самым обеспечивая этому счастливчику денежное вознаграждение. Во-вторых, этот способ должен быть регулируем в зависимости от мощности компьютеров (см. ниже), и криптографические задачи хороши именно тем, что их сложность достаточно легко можно поменять.
Что если компьютеры улучшатся настолько, что криптографические задачи будут решаться легко?
Цель сети биткойна — добавлять по одному блоку в блокчейн примерно каждые 10 минут. Однако блоки добавляются, только если майнер решает криптографическую задачу. Через каждые добавленные 2016 блока происходит рекалибрация сложности криптографических задач, с той целью, чтобы их можно было решить примерно за 10 минут. Это значит, что если средняя скорость решения задачи уменьшается, то после 2016 присоединенных таким образом блоков криптографические задачи становятся сложнее, подстраиваясь под актуальную мощность компьютеров. Это очень хитрый и умный способ удостовериться, что любое изменение в информационных технологиях в худшую или лучшую сторону не повлияет на биткойн-сеть.
Почему биткойн требует большого количества энергии от майнеров?
В децентрализованной системе должен существовать какой-то способ отвадить злоумышленников от атак на сеть. Без какого-то центрального источника власти нет возможности попросту их «банить» и не разрешать таким людям участвовать в сети. Биткойн демотивирует таких людей, делая атаки на сеть очень дорогими. Майнинг требует большого количества энергии для работы компьютеров, которые решают криптографическую задачу, но вознаграждение майнер получает, только если все транзакции из их блока соответствуют всем парвилам сети. Даже если только одна транзакция не соответствует стандартам, весь блок будет отклонен узлом. Это значит, что в таком случае майнер тратит большое колчиество денег на работу своих компьютеров, за которую он в итоге не получает вознаграждение.
Еще одна причина, по которой биткойн требует большого количества энергии, это тот факт, что энергию невозможно создать нечестным путем. Нет возможности найти решение криптографической задачи с помощью взятки, угроз, или манипуляций. Единственный способ найти решение — это запустить работу мощного компьютера, который требует большого количества энергии. Это значит, что нахождение решения каждой задачи стоит крайне дорого, и майнеры должны допускать в блок только правильные транзакции, чтобы получить компенсацию на свои затраты.
Чуть более сложная концепция — использование энергии для предотвращения попыток изменить блоки, которые уже были добавлены в блокчейн. Чем больше времени проходит с момента добавления каждого отдельного блока, тем сложнее внести в него изменения — на практике сделать это фактически невозможно, и чуть позже в этой статье я объясню, почему. Использование энергии заставляет майнеров делать огромные денежные затраты, которые они должны отбивать за счет получения биткойновых наград и комиссий. Использование энергии также защищает «летопись» биткойна (реестр, в котором хранятся все транзакции) от каких-либо попыток внести в нее изменения. Еще один огромный плюс использования энергии в том, что она существует в самых различных формах и доступна практически любому человеку в мире — это значит, что любой человек может стать майнером. Если у вас есть компьютер и доступ к электричеству, вы можете майнить биткойны.
Контролируют ли майнеры биткойн?
Нет, биткойн-система контролируется сотнями тысяч узлов, находящихся по всему миру и гарантирующих, что все правила биткойн-системы соблюдаются правильно. Майнеры нужны системе для того, чтобы группировать транзакции в блоки, и высокая стоимость майнинга вкупе с высокой наградой мотивируют майнеров не пытаться вносить какие-либо изменения в систему. Если какие-то майнеры отказываются создавать блоки, то другие майнеры с радостью подключатся и начнут пытаться заработать награду и комиссию от транзакций. А если учесть, что практически все люди могут быть майнерами, то легко понять, почему всегда есть майнеры, которые согласны обрабатывать транзакции, от которых отказываются другие. Узлы контролируют соблюдение правил биткойн-системы, а майнеры зарабатывают деньги, следуя этим правилам — а если кто-то не хочет им следовать, то всегда найдется много других желающих.
Копят ли майнеры все полученные за свою работу биткойны?
Нет, так как майнинг — это дорого, и большинство полученных биткойнов майнеры продают, чтобы покрыть связанные с майнингом расходы. Это значит, что большинство новых биткойнов выходит в оборот на рынок другим покупателям, а не удерживается майнерами.
Что произойдет, когда все биткойны будут выпущены в оборот, и наград за майнинг больше не будет?
Как мы знаем, каждые четыре года размер биткойн-награды уменьшается вдвое, и это будет происходить, пока размер награды не станет равен нулю — по прогнозам, это произойдет в районе 2140 года. Но как майнеры будут зарабатывать деньги, если их награда будет постепенно уменьшаться и в конечном итоге вовсе исчезнет? Согласно ожиданиям участников и разработчиков, работающих с биткойн-системой, в будущем комиссии, назначаемые при каждой транзакции на основном уровне биткойн-системы, будут такими высокими, что их будет достаточно для того, чтобы мотивировать майнеров на работу только за сумму этой комиссии. Если будущее будет соответствовать этим ожиданиям, то обычные люди уже не будут отправлять друг другу небольшие транзакции на основном уровне биткойн-системы, как сейчас, а будут вместо этого использовать другие уровни (например, сеть Lightning или сеть Visa, которая будет встроена в биткойн-систему), на которых эти комиссии будут небольшими.