Для начала важно иметь общее представление о том, что такое хэш-функция и что она делает.

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

Алгоритм хэширования берет данные любого произвольного объема (числа, алфавиты, медиафайлы) и преобразует его в фиксированную буквенно-цифровую строку. Размер фиксированного бита может варьироваться (например, 64-битный или 128-битный или 256-битный) в зависимости от используемой хэш-функции.

Что такое хэш

И этот выход фиксированного размера — это то, что называется хэшем. Другими словами, хэш является криптографическим побочным продуктом хэш-алгоритма.

Хэш-алгоритм обладает определенными уникальными свойствами:

  • Он генерирует уникальный результат (хэш).
  • Это односторонняя функция.

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

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

Блокчейн биткоина в свои механизме использует свойства криптографической хэш-функции для достижения консенсуса.

Что такое хэш биткоина?

Блокчейн биткоина использует SHA-256 (Secure Hash Algorithm). В 2001 году этот алгоритм был разработан Агентством национальной безопасности США.

Лежащий в основе биткоина алгоритм proof of work основывается на SHA-256. Используя его, биткоин-майнеры решают сложные математические задачи, чтобы добавить блоки в блокчейн. Биткоин-блоки добавляются путем проверки хэшей на основе лотереи.

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

Майнеры стремятся найти конкретный хэш, изменяя небольшую часть заголовков блока, которая называется «nonce». «Nonce» всегда начинается с «0» и увеличивается каждый раз для получения требуемого хэша.

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

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

Таким образом, независимо от того, какой майнер первым получит правильный хэш биткоина, он выиграет в лотерею и получит вознаграждение в размере 12,5 BTC.