Хэш содержит безопасно скрытые или криптографически зашифрованные данные транзакций в блокчейне и является ключом к технологии блокчейн. Понимание хэша и процесса его создания важно для того, чтобы по-настоящему понять, почему блокчейны являются безопасными и что представляет собой майнинг цифровой валюты.
Что такое хэш?
В экосистеме цифровой валюты хэш – это строка символов, представляющая и защищающая информацию в блокчейне цифровой монеты.
Цифровые данные существуют в виде строк двоичных чисел. Хэш-функция, описанная далее, принимает любые цифровые данные в двоичном виде и применяет математический алгоритм для создания новой строки чисел в виде уникального и зашифрованного хэша. Хэш, иногда называемый хэш-дайджестом, является цифровым выходом (output) из хэш-функции в виде буквенно-цифровой строки символов.
Что такое хэш-функция?
Хэш-функция – это компьютерный алгоритм или математический процесс, который при применении к цифровым данным создает хэш. Хэш-функция превращает данные транзакций и пользователей в зашифрованные хэши, которые составляют блокчейн.
В блокчейне входящие данные (input) представляют всё состояние блокчейна. Хэш – это новое состояние блокчейна, содержащее любую новую информацию о транзакции.
Хэш-функции применяются к данным любого размера и изменяют их на данные фиксированного размера, помогая защищать, хранить и передавать данные. Созданный хэш часто намного меньше по размеру, чем исходные данные, и имеет фиксированный размер: 64 бита, 128 бит или 256 бит.
Хэши превращают огромные объемы данных в гораздо более мелкие записи в блокчейне, которые являются уникальными и обеспечивают безопасность. Если хэш изменён, можно легко определить взлом или фальсификацию. Изменение даже одной небольшой части исходных данных приведет к созданию совершенно другого хэша при повторном применении хэш-функции. Хэш-функция является односторонней: невозможно получить исходные данные из полученного хэша. Именно такое поведение обеспечивает безопасность блокчейна.
Хэш и его роль в майнинге криптовалют
Для майнинга блока майнер должен хэшировать (применить хэш-функцию) к заголовку блока, чтобы сделать его меньше или равным заданному целевому хэшу.
Заголовок блока содержит строки данных, включающие детали транзакции. С помощью программного обеспечения майнеры применяют математический алгоритм (хэш-функцию) для изменения данных и создания хэша. Если они достигнут целевого хэша, они добывают (майнят) блок, проверяют блок в блокчейне и получают награду в виде цифровой монеты.
Очень маловероятно, что заданный заголовок блока и заданная хэш-функция сгенерируют требуемый хэш. Чтобы майнеры могли изменять хэш, заголовок блокчейна содержит “nonce”. “Nonce” – это значение, которое майнер может постепенно изменять для создания новых хэшей в попытке найти тот, который соответствует цели.
Прежде, чем целевой хэш будет достигнут, для этого нужно предпринять множество попыток, и именно для этого требуются ресурсы компьютера или майнинговых устройств, центральный процессор (CPU) или графический процессор (GPU), а также электричество.
Майнинг-операции запускает множество устройств, и все они используют вычислительную мощность и электричество для непрерывного запуска хэш-функции, чтобы превратить заголовки блоков блокчейна в целевые хэши. Каждый раз, когда создаётся целевой хэш, майнится блок, и майнер получает вознаграждение в виде биткоина или другой криптовалюты.
В то же время новые транзакции проверяются и записываются в блокчейн. Работа, которая проводится во время майнинга цифровой валюты – это причина того, почему некоторые блокчейны называются блокчейнами с “доказательством работы” (Proof-of-Work – POW).
Заключение
При традиционном шифровании зашифрованные данные могут быть расшифрованы при использовании определённого ключа. Это означает, что криптографически защищенные блокчейны с криптографическими алгоритмами хэширования намного безопаснее, чем традиционное шифрование данных. Хэш фиксированной длины, который создаётся при запуске хэш-функции, защищает данные транзакций и пользователей в блокчейне, поскольку исходные данные не могут быть идентифицированы из хэша.
Благодаря тому, что создание хэша является односторонним процессом, хакер, получающий доступ к хэшу, получит от него мало пользы.