Что такое nonce в транзакциях блокчейна
Nonce — это счётчик для каждого аккаунта, который упорядочивает и идентифицирует каждую транзакцию в блокчейнах на основе аккаунтов, таких как Ethereum; пропуск останавливает следующие за ним.

На этой странице
Так работает не каждый блокчейн, но в сетях на основе аккаунтов это число является частью самого платежа. Большинство кошельков задают его за вас, поэтому оно остаётся незаметным, пока платёж не застрянет.
Как nonce поддерживает порядок транзакций?
Для каждого адреса ведётся свой счёт, и число увеличивается на единицу по мере подтверждения каждого платежа. Транзакция может подтвердиться только тогда, когда её nonce является следующим неиспользованным для этого адреса. Узлы могут хранить будущий nonce, но они не подтвердят его раньше пропущенных.
- Будущий nonce ждёт в очереди.
- Пропуск задерживает все последующие транзакции.
- Заполнение пропущенного слота освобождает стоящие в очереди.
Что произойдёт, если nonce указан неверно?
Слишком низкий nonce указывает на слот, который аккаунт уже заполнил, поэтому узлы отклоняют платёж. Слишком высокий nonce обычно ставится в очередь до подтверждения предыдущих номеров. Платёж рассчитывается только тогда, когда счётчик догоняет его.
Как заменить застрявшую транзакцию?
Отправьте новую транзакцию с тем же nonce, и сеть сохранит только одну из двух. В Ethereum для замены нужна более высокая цена газа, часто как минимум на десять процентов выше, а не просто большая общая комиссия.
Замена работает только пока исходная транзакция находится в ожидании. Как только она подтверждается, этот nonce считается использованным.
Nonce транзакции и nonce майнинга
Эти два числа объединяет только название. Nonce транзакции отслеживает платежи одного аккаунта, а майнинговый nonce — это значение, которое майнер меняет в заголовке блока, пока хеш не достигнет целевого значения.
Часто задаваемые вопросы
Подтвердиться может только одна, потому что счётчик аккаунта сдвигается на один шаг. Другая отбрасывается, а не считается вторым платежом.
Не в той, которую вы уже отправили в сеть. Кошельки могут заменить её новой транзакцией с тем же nonce или отменить её переводом с нулевой суммой на ваш собственный адрес.
Нет. В сетях на основе аккаунтов, таких как Ethereum, они используются, а Bitcoin вместо этого отслеживает неизрасходованные выходы.
Ваш кошелёк обычно считывает его и показывает перед подтверждением. Обозреватель блоков также указывает количество транзакций для адреса.






