Хеш


Что такое хеш?

Хеш – это функция, которая преобразует ввод букв и цифр в зашифрованный вывод фиксированной длины. Хэш создается с использованием алгоритма и необходим для управления цепочкой блоков в криптовалюте.


Ключевые выводы

  • Хэш – это функция, которая удовлетворяет требования к шифрованию, необходимые для вычисления вычислений в цепочке блоков.
  • Хеш, как одноразовый номер или решение, является основой сети блокчейн.
  • Хеши имеют фиксированную длину, так как почти невозможно угадать длину хеша, если кто-то пытался взломать блокчейн.
  • Хеш создается на основе информации, содержащейся в заголовке блока.

Как работает хеш

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

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

Решение хэша начинается с данных, имеющихся в заголовке блока, и, по сути, решает сложную математическую задачу. Заголовок каждого блока содержит номер версии, временную метку, хэш, использованный в предыдущем блоке, хэш корня Меркла, одноразовый номер и целевой хеш.

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

Краткий обзор

Процесс проверки транзакций блокчейна основан на шифровании данных с использованием алгоритмического хеширования.

Решение хэша требует, чтобы майнер определил, какую строку использовать в качестве одноразового номера, что само по себе требует значительного количества проб и ошибок. Это потому, что одноразовый номер – это случайная строка. Маловероятно, что майнер успешно найдет правильный одноразовый номер с первой попытки, а это означает, что майнер потенциально может протестировать большое количество вариантов одноразового номера, прежде чем сделать его правильным. Чем выше сложность – мера того, насколько сложно создать хэш, отвечающий требованиям целевого хэша, – тем больше, вероятно, потребуется для генерации решения.

Пример хеша

Хеширование слова «привет» даст результат той же длины, что и хэш для «Я иду в магазин». Функция, используемая для генерации хэша, является детерминированной, что означает, что она будет давать один и тот же результат каждый раз, когда используется один и тот же вход. Он может эффективно генерировать хешированный ввод; это также затрудняет определение ввода (что приводит к майнингу), а также вносит небольшие изменения в результат ввода в неузнаваемый, совершенно другой хэш.

Обработка хеш-функций, необходимых для шифрования новых блоков, требует значительной вычислительной мощности компьютера, что может быть дорогостоящим. Чтобы побудить людей и компании, называемые майнерами, инвестировать в необходимую технологию, сети криптовалюты вознаграждают их как новыми токенами криптовалюты, так и комиссией за транзакцию. Майнеры получают вознаграждение только в том случае, если они первыми создают хеш, который соответствует требованиям, изложенным в целевом хеш-коде.