Что такое майнинг криптовалют?

Майнинг криптовалюты является одним из ключевых элементов, позволяющих криптовалютам работать в качестве одноранговой (P2P) децентрализованной сети, без необходимости участия центрального органа с третьей стороны. Это процесс, в котором транзакции между пользователями проверяются и добавляются в публичный реестр blockchain, а также процесс, который используется для введения новых монет в существующий оборот.

Как работает майнинг криптовалют?

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

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

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

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

Корневой хэш вместе с хэшем предыдущего блока и случайным числом, называем одноразовый код (nonce), затем помещается в заголовок блока. Заголовок блока затем хешируется, производя вывод, который будет служить идентификатором блоков.

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

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

(* В Proof of Work - orphan-block, stale-block, в Proof of Stake - uncle-block)

Что такое пул для майнинга криптовалют

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