Nonce

Дата обновления 24 сент. 2026 г.

Одним предложением

Nonce — это протокольное значение для различения операций или изменения криптографического входа в определённом контексте.

Nonce — значение для конкретной задачи протокола, часто описываемое как число, используемое один раз. Требования зависят от контекста: оно не обязано быть случайным, секретным или глобально уникальным. В майнинге Bitcoin и транзакциях Ethereum этим словом обозначают разные механизмы.

Поле майнинга Bitcoin

Заголовок блока Bitcoin содержит 32-битный nonce, который майнеры меняют в поиске хеша не выше целевого значения. Перебор всех nonce не гарантирует успеха. Для новых кандидатов можно менять другие разрешённые данные, включая данные coinbase, изменяющие корень Меркла.

Последовательность аккаунта Ethereum

Обычная транзакция Ethereum содержит требуемый nonce отправляющего аккаунта. Принятые транзакции продвигают последовательность, не позволяя одной транзакции многократно выполняться при неизменной последовательности. Пропущенный ранний nonce может задержать последующие транзакции. Разные ожидающие транзакции с одинаковыми отправителем и nonce конкурируют за одну позицию с учётом правил замены.

Учитывайте сопутствующие правила

Nonce аккаунтов Ethereum могут увеличиваться и через механизмы вроде авторизаций EIP-7702, поэтому не всегда равны только числу исходящих транзакций. Один nonce не обеспечивает защиту между разными цепочками: важны идентификаторы цепей и правила подписания. Nonce майнинга и nonce аккаунта нельзя трактовать как взаимозаменяемые понятия.