Назад

Nonce

Nonce- это сокращение фразы «number used once», что переводится с английского как «число, используемое однажды». Попросту говоря, это счетчик, увеличивающийся в определенных условиях. Как следует из названия, этот счетчик используется лишь один раз в том действии, для которого он предназначен.

Компонент nonce применяется не только в BTC. Например, в Эфириуме есть два разных nonce, которые используются в блоках и для учетных записей обоих типов.

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

Эфириум использует два nonce по-разному. Первое применение такое же, как и в BTC. Nonce — это стандартный компонент блоков Эфириума. Второе применение касается множества транзакций для одной учетной записи.

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

Первый подход рискован, поскольку все участники пула работают примерно в одно и то же время. Второй подход требует много дополнительной работы, выполняемой координатором пула. Поэтому последний подход наиболее эффективен.