Купить Tangem

Что такое Nonce, зачем нужен этот параметр в майнинге и как найти его значение

Author logo
Tangem
Post image

Nonce — число, отвечающее определенным требованиям, и используемое майнерами в процессе создания блоков в сетях, которые работают на алгоритме консенсуса PoW.

Nonce — это аббревиатура от number that can only be used once. То есть число, которое можно использовать только один раз. 

Значение nonce для майнинга криптовалют

Майнинг в блокчейнах с алгоритмом консенсуса Proof-of-Work — это процесс добычи новых блоков в цепи, основанный на решении узлами сети математических задач.

Если мы «заглянем» в блок и посмотрим, что в нем находится, то увидим, что он состоит из заголовка и перечня транзакций. Заголовок блока содержит:

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

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

Чтобы избежать такой «сверхскорости», и нужен nonce. Получая блок, майнер добавляет его к хешу и вычисляет хеш получившегося «набора». Если результат не соответствует значению критерия сложности, майнер меняет значение nonce и рассчитывает хеш заново.

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

Как только значение nonce найдено, нужная хеш-сумма получена, — блок считается созданным. Он транслируется в сеть, проверяется другими майнерами и при отсутствии ошибок записывается в блокчейн. А майнер, создавший новый блок, получает вознаграждение.

Author logo
Авторы Tangem