Зачем нужен майнинг
Так как криптовалюты в большинстве своем представляют собой одноранговые (peer-to-peer) сети, в которых участники равноправны, возникает необходимость в определенном методе решения различных административных и служебных задач без применения традиционных централизованных серверных систем. Также встает вопрос обеспечения уровня безопасности, требуемый для полноценной валюты.
В Bitcoin и многих других криптовалютах для этих целей используется майнинг – задействование вычислительных ресурсов добровольцев для поддержки работы сети: обеспечения криптографических методов безопасности, обработки транзакций, синхронизации состояния валюты и так далее. Таким образом, майнеры образуют своего рода децентрализованный центр обработки данных, который фактически подчиняется только протоколу криптовалюты и заложенным в него принципам регуляции.
Также майнинг, как правило, предусматривает вознаграждение за поддержку функционирования системы в виде предоставления майнерам новоэмитированной (нововыпущенной) валюты. С целью объединения вычислительных мощностей майнеры объединяются в специальные майнинг-пулы, в которых эти доходы так или иначе распределяются по их участникам.
Хотя само название «майнинг» подразумевает собой аналогию с добычей золота, непосредственно «добыча» криптовалюты проходит по специальной формуле и за определенный объем вышеупомянутой работы. В стандарте Bitcoin предусмотрен «потолок» в 21 миллион биткоинов, и по проекциям на конец 2018 года, при нынешних темпах майнинга он будет достигнут примерно к 2140 году. Так как спрогнозировать развитие вычислительных ресурсов крайне проблематично даже на ближайшие десятилетия, сейчас невозможно спрогнозировать на https://cryptonyka.com/ethereum-prognoz-na-2019-god/ даже примерное время достижения потолка эмиссии.
Как стать майнером
Чтобы стать Bitcoin-майнером, достаточно запустить программу-майнер на поддерживаемом устройстве. Так как Bitcoin – криптовалюта с открытым исходным кодом, существует большое количество майнеров для различных популярных платформ. Для майнинга необходимо указать свой биткойн-адрес для выплат вознаграждений.
Так как майнинг является весьма ресурсоемкой задачей, а протокол Bitcoin предусматривает постепенное уменьшение наград за майнинг, проведение майнинга на обычных потребительских системах не слишком целесообразно. Поэтому профессиональные майнеры используют специализированное оборудование – так называемые майнинг-фермы.
В случае с некоторыми менее развитыми и «добытыми» криптовалютами могут все еще быть выгодны фермы, использующие стойки стандартных видеокарт, то в случае с Bitcoin рекомендуется использовать уже специализированные ASIC-процессоры. Так что на практике получение значимой прибыли за счет майнинга требует дорогого оборудования и тщательного планирования.
Существует большое количество различных калькуляторов, используемых профессиональными майнерами для планирования. Так как для майнинга необходимо использовать высокопроизводительное оборудование с высоким электропотреблением, важным фактором для окупаемости является стоимость электроэнергии.
Как работает Bitcoin-майнинг
Программа-майнер «прослушивает» эфир транзакций и выполняет задачи, необходимые для обработки и подтверждения транзакций. В частности, транзакция в ходе ее подтверждения включается в блок. Как правило, размер блока ограничивается одним мегабайтом (что позволяет поместить в него 1500-3000 транзакций), и после наполнения блок «закрывается» специальной математической задачей, hashcash. Сложность данной математической задачи автоматически контролируется и увеличивается сетью для того, чтобы скорость ее вычисления составляла около 10 минут. Это обеспечивает высокую и постепенно повышающуюся сложность и конкурентность майнинга.
Математическая задача hashcash, которая впервые использовалась в качестве средства защиты от спама и которую сейчас использует Bitcoin, заключается в принципе proof-of-work (подтверждения работы). Майнеры переборкой, то есть методом грубой силы, подбирают хеш (результат преобразования определенного массива данных в выходную строку установленной длины), который удовлетворяет условиям и позволяет закрыть блок, и первый удачливый пул майнеров получает вознаграждение. Сложность хеша регулируется количеством нулей в начале. Чем больше нулей в начале, тем сложнее его подобрать. Поэтому в майнинге всегда есть элемент удачи, и его можно сравнить с лотереей, где более мощное оборудование – это большее количество билетов, а в майнинг-пулах «выигрыш» по договоренности распределяется между участниками.
Также предусмотрен хронологический порядок блоков (они сцепляются в так называмый блокчейн), что делает невозможным отмену транзакций, то есть блок после «закрытия» изменить нельзя. Каждые 210,000 блоков вознаграждение за обработанный блок сокращается в два раза. Первоначальное вознаграждение составляло 50 биткоинов за блок. По состоянию на октябрь 2018 года было обработано около 548,000 блоков, а вознаграждение за обработку блока составляет 12.5 биткоинов.
При обращении с блокчейнами системы майнинга придерживаются принципа о том, что самый длинный цельный (то есть полностью «закрытый») блокчейн является действительным, что в текущей практике делает практически невозможным мошенничество с транзакциями. На данный момент существует теория «51-процентной» атаки на криптовалюту, реализованная на нескольких мелких криптовалютах, заключающееся в том, что более производительный (то есть имеющий более 50% мощностей) пул майнинга создает ветвь блокчейна, самостоятельно дополняет ее блоками транзакций, затем скомпрометированный блокчейн признается действительным за счет большей длины. Прямых методов защиты от такой атаки в Bitcoin нет, но на практике на более-менее устоявшейся криптовалюте ее провести невозможно в связи с невозможностью нужной консолидации мощностей.