Только что понял, что я слишком усложнял объяснение, что такое nonce в крипте, друзьям. Позвольте объяснить это так, как это действительно имеет смысл.



Итак, nonce — это в основном особое число, которое майнеры используют во время майнинга — представьте его как ключ к разблокировке блока. Название буквально означает «используемое один раз число», и оно является центральным элементом того, как блокчейны с доказательством работы, такие как Bitcoin, обеспечивают свою безопасность.

Вот что на самом деле происходит: майнеры пытаются решить головоломку, меняя значение этого nonce снова и снова, пока не найдут хеш, соответствующий требованиям сети. Обычно это означает нахождение хеша с определённым количеством ведущих нулей. Это проба и ошибка, но именно в этом и заключается суть. Вычислительная работа, необходимая для этого, и делает блокчейн безопасным.

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

В частности, в Bitcoin есть такой поток: майнеры собирают ожидающие транзакции в блок, добавляют nonce в заголовок блока, затем хешируют всё с помощью SHA-256. Они проверяют, соответствует ли хеш целевому уровню сложности. Если нет — увеличивают nonce и повторяют. Это продолжается, пока не найдут подходящий хеш. Сеть динамически регулирует сложность, чтобы поддерживать постоянное время блока — когда присоединяется больше майнеров и увеличивается хешрейт, сложность повышается. Когда его становится меньше — понижается.

Решение с nonce также предотвращает определённые виды атак. Двойная трата становится практически невозможной, потому что подтверждение каждой транзакции требует этой вычислительной работы. Атаки типа «Сибилла» тоже становятся дорогими — нельзя просто засорить сеть фальшивыми идентичностями без затрат на майнинг. А атаки повторного воспроизведения? Требование уникальности nonces в криптографических протоколах это решает.

Существуют разные типы nonces в криптовалюте и широкой криптографии — криптографические nonces, используемые в протоколах безопасности, nonces для хеш-функций, которые изменяют входные данные хеширования, и программные nonces для обеспечения уникальности данных. Но в контексте блокчейна мы в основном говорим о майнинговом nonce.

Одна вещь, которую люди путают: nonce — это не то же самое, что хеш. Хеш — это как отпечаток пальца, созданный из данных — это результат. Nonce — это входная переменная, которую майнеры изменяют, чтобы получать разные хеши. Они связаны, но разные понятия.

Безопасность становится особенно интересной, когда рассматриваешь уязвимости nonce. Атаки повторного использования nonce могут скомпрометировать криптографические системы. Предсказуемые nonces опасны, потому что злоумышленники могут предугадать операции. Атаки на устаревшие nonces используют старые значения. Поэтому правильное случайное генерирование чисел и протоколы, отвергающие повторное использование nonces, очень важны.

Если вы всерьёз увлекаетесь криптовалютой, понимание того, что такое nonce в крипте, помогает понять, почему блокчейны с доказательством работы на самом деле безопасны на фундаментальном уровне. Это не магия — это просто дорогостоящая вычислительная работа, которая делает атаки экономически невыгодными. Следите за развитием этих механизмов, особенно если вы отслеживаете разные блокчейн-проекты на платформах вроде Gate.
BTC-2,08%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • комментарий
  • Репост
  • Поделиться
комментарий
Добавить комментарий
Добавить комментарий
Нет комментариев
  • Закрепить