Когда вы слышите о добыче монет bitcoin, вы представляете себе откапывание монет как клада. Однако биткоин не имеет осязаемой формы, так почему мы называем этот процесс добычей?
Отчасти процесс майнинга действительно похож на золотодобычу в том, что биткоины представлены в протоколе (так же, как под землей закопано золото), их надо найти. Протокол биткоина предусматривает, что в какой-то момент будет существовать 21 миллион биткоинов. То, что делают майнеры - это их поиск. Майнеры получают доли биткоина в качестве вознаграждения за создание блоков проверенных транзакций и включение их в блокчейн.
Ноды.
Давайте поговорим сначала о нодах, т.е. «узлах». Нода - это мощный компьютер, который запускает программное обеспечение биткоинов и помогает поддерживать биткоин, участвуя в ретрансляции информации. Любой может запускать узел, вы просто загружаете программное обеспечение биткоин и оставляете определенный порт открытым (недостатком является то, что он потребляет энергию и пространство для хранения). Узлы распространяют транзакции биткоинов по сети. Один узел отправляет информацию нескольким узлам, далее он быстро обходит всю сеть.
Некоторые узлы являются узлами добычи (обычно называемыми «майнеры»). Эти группы выдают транзакции в блоки и добавляют их в цепочку. Как они это делают? Решая сложную математическую головоломку, которая является частью программы биткоинов, включая ответ в блоке. Задача, требующая решения, - найти число, которое в сочетании с данными в блоке и передается через хеш-функцию, создает результат, который находится в определенном диапазоне. Это намного сложнее, чем кажется. (Это число называется «nonce», оно является конкатенацией «числа, используемого один раз». В случае биткоина значение “nonce” является целым числом от 0 до 4 294 967 296.).
Решение этой “головоломки”
Как они находят этот номер? Угадывают. Хеш-функция делает невозможным предсказать, какой будет выход. Итак, майнеры угадывают номер тайны и применяют хеш-функцию к комбинации этого угаданного числа и данных в блоке. Полученный хэш должен начинаться с заранее установленного числа нулей. Невозможно узнать, какое число будет работать, потому что два последовательных целых числа будут давать совершенно разные результаты. Более того, может быть несколько “nonce”, которые приводят к желаемому результату, или их может не быть (в этом случае майнеры продолжают работу, но с другой конфигурацией блока).
Первый майнер, получивший результирующий хэш в желаемом диапазоне, объявляет о своей победе остальной части сети. Все остальные майнеры немедленно прекращают работу над этим блоком и начинают пытаться выяснить номер для следующего. В награду за свою работу майнер, который угадал номер, получает новую монету.
![Версия для печати Версия для печати](https://www.kv.by/sites/all/modules/print/icons/print_icon.png)
Горячие темы