Что Такое Криптографическая Хэш Функция?
Узнаем значение Криптографическая Хэш Функция, определение в крипто, Что Такое Криптографическая Хэш Функция и другие важные детали.
Криптографическая хэш функция является алгоритмом, используемым для получения произвольного ввода транзакции переменного размера и преобразования его в значение фиксированного размера, известное как хэш.
Простым примером работы хэш функции будет сложение значений многозначного числа пока не будет достигнуто однозначное. Если ввод 173, сложение 1, 7 и 3 будет равно 11. Суммой сложения 1 и 1 будет 2, что и является финальным результатом. Результат всегда должен быть однозначным числом, вне зависимости от количества цифр вводного числа.
Для хэш функций должно быть характерно несколько вещей:
- Вычисление результата для любого заданного ввода должно быть простым. Однако обратить процесс вспять должно быть почти невозможно;
- Детерминизм - если алгоритму дается определенный ввод, всегда должен быть получен один и тот же результат;
- Сопротивляемость совпадению - должно быть маловероятно, чтобы два разных ввода давали одинаковый результат;
- Эффект лавины - изменение одного бита вводных данных должно привести к совершенно другому результату.
Хэш функции можно применять в различных ситуациях, вроде случайных функций. Они также могут применяться в качестве контрольных сумм для проверки целостности компьютерных файлов после их передачи на длительное хранение.
Хэш функции играют важную роль в криптовалютном майнинге за счёт алгоритма консенсуса Proof-of-Work (PoW). Биткоин, одна из криптовалют с PoW, полагается на хэш функцию SHA-256. Майнерам работающим над добавлением новых блоков в цепочку необходимо произвести цель - хэш значение ниже определённого порога. Успешный результат предоставляет им награду.
Хэши псевдослучайны, а значит детерминированные. Невозможно угадать результат ввода любого значения до момент запуска хэш функции. Эта механика означает, что майнеры не могут случайно генерировать блоки Биткоина и их доказательство работы должно проверяться.