Nonce — это число, используемое один раз. В майнинге это переменная, которую майнеры изменяют при хешировании заголовка блока. Заголовок содержит хеш предыдущего блока, метку времени, корень Меркла, целевую сложность и значение nonce. Майнеры пробуют разные значения nonce, пока результирующий хеш не окажется ниже целевого значения. Короткого пути нет. Единственный способ найти допустимое значение nonce — это угадывать и проверять миллиарды раз в секунду. Первый майнер, нашедший его, получает право транслировать блок.
Поле nonce в Биткоине имеет размер 32 бита, что допускает около 4 миллиардов возможных значений. Это кажется много, но современные ASIC-майнеры быстро исчерпывают пространство nonce. Когда это происходит, майнеры изменяют другие части заголовка блока, такие как метка времени или транзакция coinbase, и начинают заново. Это дает им новый набор значений nonce для проверки. Nonce — это небольшое число, выполняющее важную функцию. Оно делает возможным доказательство работы и предотвращает повторное использование майнерами одного и того же хеша. Без него найти действительный блок было бы невозможно с помощью рандомизации.
Факты о никчемных людях
- 32-битное поле в биткоине — около 4 миллиардов возможных значений.
- Изменяется майнерами для поиска действительного хеша.
- Быстро истощаются — майнеры корректируют другие поля заголовка.
- Это не секрет — выигрышный ник публикуется в блоке.
Nonce не является функцией безопасности. Это механизм, делающий хеш непредсказуемым, а работу — проверяемой.
Comments
No comments yet. Be the first to share a thought.
Leave a comment