#БлокчейнАкадемия
#Nonce
Что такое Nonce?
Nonce (number that can only be used once — «число, которое может быть использовано один раз») — это двоичный код, который подбирается в процессе PoW-майнинга и записывается в заголовок блока. Собственно, целью майнинга, как соревновательного процесса за право добавить блок транзакций из мемпула в блокчейн, и является подбор такого Nonce, чтобы искомый хэш блока был меньше заданного параметра Target. Это равнозначно получению хэша блока, начинающегося с определенного числа нулевых битов.
Чем выше хэшрейт оборудования, тем быстрее майнер сможет получить результат, открыть блок и забрать вознаграждение в виде криптовалюты. А параметр Target как раз пока и позволяет сдерживать растущие вычислительные мощности устройств для майнинга.
Это число, которое используется для нахождения валидного хэша
Nonce будет увеличиваться до тех пор, пока полученный хэш не будет валидным. В нашем случае, валидный хэш имеет как минимум четыре ведущих нуля. Процесс нахождения nonce, которое соотносится с валидным хэшем, называется майнинг
По мере увеличения сложности, число возможных валидных хэшей снижается. При меньшем числе возможных валидных хэшей потребуется больше вычислительных мощностей для обнаружения хэша
Материал подготовлен в рамках обучающего курса Блокчейн Академии
#Nonce
Что такое Nonce?
Nonce (number that can only be used once — «число, которое может быть использовано один раз») — это двоичный код, который подбирается в процессе PoW-майнинга и записывается в заголовок блока. Собственно, целью майнинга, как соревновательного процесса за право добавить блок транзакций из мемпула в блокчейн, и является подбор такого Nonce, чтобы искомый хэш блока был меньше заданного параметра Target. Это равнозначно получению хэша блока, начинающегося с определенного числа нулевых битов.
Чем выше хэшрейт оборудования, тем быстрее майнер сможет получить результат, открыть блок и забрать вознаграждение в виде криптовалюты. А параметр Target как раз пока и позволяет сдерживать растущие вычислительные мощности устройств для майнинга.
Это число, которое используется для нахождения валидного хэша
let nonce = 0;
let hash;
let input;
while(!isValidHashDifficulty(hash)) {
nonce = nonce + 1;
input = index + previousHash + timestamp + data + nonce;
hash = CryptoJS.SHA256(input)
}
Nonce будет увеличиваться до тех пор, пока полученный хэш не будет валидным. В нашем случае, валидный хэш имеет как минимум четыре ведущих нуля. Процесс нахождения nonce, которое соотносится с валидным хэшем, называется майнинг
По мере увеличения сложности, число возможных валидных хэшей снижается. При меньшем числе возможных валидных хэшей потребуется больше вычислительных мощностей для обнаружения хэша
Материал подготовлен в рамках обучающего курса Блокчейн Академии