7 октября, 2022
Что такое хэш

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

Любой, кто имеет дело с криптовалютами, рано или поздно столкнется с такими терминами, как хэш или хэшрейт (иногда в русском встречается написание через «Е»: «хеш», «хешрейт» и т.д.). «Хэш» — это результат математической функции, которая создает совершенно другой выходной набор фиксированного размера из любого входного набора. Очень легко вычислить результат на входе, но очень сложно вычислить обратно от результата к входу. Одним из самых известных методов хэширования, который используется в биткоине, среди прочего, является «Алгоритм безопасного хэширования — 256» (SHA-256).

Что такое хэш и как он создается

«Хэш» или «хэш-функция» происходит от английского глагола «to hash» и означает «измельчить». Вы берете кучу данных, измельчаете и меняете их местами, чтобы придать им другую форму. Цель хэш-функции — сопоставить большой входной набор с меньшим целевым набором. Строка, представляющая результат этой функции, называется «хэш».

Что такое хэш

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

Пример.

Берем простой текст и хэшируем его с помощью SHA-256. Посмотрите, как небольшие различия меняют весь хэш.

1) Вот слово «привет», хэшированное с помощью SHA-256.

d3751d33f9cd5049c4af2b462735457e4d3baf130bcbb87f389e349fbaeb20b9

2) Вот слово «Привет», хэшированное с помощью SHA-256.

753692ec36adb4c794c973945eb2a99c1649703ea6f76bf259abb4fb838e013e

3) Здесь слово «привет!», которое было хэшировано с помощью SHA-256.

f4facd09fc865aa866b1390e02911b27f599bd52793d3835429862f900b76d6c

Независимо от того, что мы вводим, будь то длинные или короткие тексты, пишем ли мы слово в нижнем или верхнем регистре, добавляем или опускаем символы, всегда будет генерироваться новый индивидуальный хэш, который, по-видимому, не содержит никакой системы и имеет предопределенное значение, длину (здесь 64 символа).

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

Хэш-коллизии

Что такое хэш

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

Какие алгоритмы хэширования наиболее распространены

Наиболее распространенными алгоритмами хэширования на сегодняшний день являются группа семейства SHA-2 (Secure Hash Algorithm). Группа SHA-1 сейчас считается небезопасной, так как в прошлом несколько раз обнаруживались коллизии.

SHA-256 является наиболее широко используемым алгоритмом хэширования. Существуют также SHA-224, SHA-384 и SHA-512, все они относятся к семейству SHA-2. Число, добавляемое после SHA, указывает длину хэш-значения в битах.

На сегодняшний день SHA-256 считается безопасным. Это связано с тем, что так называемая атака грубой силы на эту функцию потребует в среднем 40*38 попыток угадать входное значение для заданного результата. (Атака грубой силой или полным перебором — это не что иное, как перебор всех вариантов взлома пароля один за другим.) Поскольку эта вычислительная мощность не может быть собрана в настоящее время, SHA-256 изначально считается защищенным от коллизий.

Хэши при Proof-Of-Work

Что такое хэш

Криптовалюты, такие как биткоин, требуют хэш-функций, особенно в процессе майнинга. Так называемые майнеры пытаются найти хэш, соответствующий заданным требованиям или правилам.

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

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

Эти задачи могут выполняться с помощью процессоров и GPU. Но есть и специальное оборудование для майнинга (ASIC), которое может выполнять эту задачу особенно эффективно.

Добавить комментарий

Ваш адрес email не будет опубликован.