Что такое хеш
Хеш (или хэш) представляет собой короткий цифровой отпечаток любых данных: текста, файла, пароля или блока транзакций. Его считает хеш-функция, и одинаковые данные всегда дают одинаковый хеш, а любое изменение даёт совсем другой. Разберём, как устроены хеш-функции, где они используются и что такое хеш транзакции.
Хеш простыми словами
Представьте, что у каждого текста есть отпечаток пальца фиксированной длины. По отпечатку нельзя восстановить человека, но можно точно проверить, тот ли это человек. Хеш работает так же: по нему нельзя восстановить данные, но можно мгновенно проверить, что данные не изменились.
Хеш-функция SHA-256, которую использует биткоин, превращает любой текст в строку из 64 символов. Неважно, одно это слово или целая книга.
Свойства хеш-функции
- Детерминированность. Одинаковый вход всегда даёт одинаковый хеш.
- Фиксированная длина. SHA-256 всегда выдаёт 256 бит.
- Лавинный эффект. Изменение одного символа меняет примерно половину битов результата.
- Необратимость. По хешу нельзя вычислить исходные данные, можно только перебирать варианты.
- Стойкость к коллизиям. Найти два разных входа с одинаковым хешем практически невозможно.
Попробуйте сами
Напишите что-нибудь и поменяйте одну букву: хеш изменится полностью.
SHA-256 этого текста
Нужны другие алгоритмы или копирование результата? Есть отдельный инструмент SHA-256 онлайн с SHA-1, SHA-384 и SHA-512.
Где используются хеши
- Пароли. Сайты хранят не сами пароли, а их хеши. При входе считается хеш введённого пароля и сравнивается с сохранённым.
- Контрольные суммы. Рядом с файлом публикуют его хеш, чтобы можно было проверить, что файл не подменили и не повредили при скачивании.
- Электронная подпись. Подписывают не весь документ, а его хеш.
- Блокчейн. Каждый блок содержит хеш предыдущего, поэтому старые записи нельзя незаметно изменить.
- Майнинг. Майнеры ищут такой хеш блока, который меньше целевого числа. Подробно в статье «Что такое майнинг простыми словами».
- Хеш-таблицы в программировании: быстрый поиск данных по ключу.
Хеш транзакции
Хеш транзакции, или TXID, служит уникальным идентификатором перевода в блокчейне. Это хеш данных самой транзакции. По нему перевод можно найти в обозревателе блоков: для биткоина это, например, mempool.space, для TON подойдёт tonviewer.com. Если вам говорят, что деньги отправлены, попросите хеш транзакции: по нему видно сумму, адреса и статус подтверждения.
В майнинг-игре TotalHash выводы GRAM и USD₮ уходят обычными транзакциями сети TON, и каждую можно проверить по её хешу.
Популярные алгоритмы
| Алгоритм | Длина | Где используется |
|---|---|---|
| MD5 | 128 бит | Устарел, только контрольные суммы |
| SHA-1 | 160 бит | Устарел, найдены коллизии |
| SHA-256 | 256 бит | Биткоин, TLS, подписи |
| Keccak-256 | 256 бит | Ethereum |
| Scrypt | 256 бит | Litecoin, хранение паролей |
| RandomX | 256 бит | Monero, оптимизирован под процессоры |
Короткие ответы
Что такое хеш простыми словами?
Короткий отпечаток данных фиксированной длины. Одинаковые данные дают одинаковый хеш, любое изменение даёт совсем другой, а по хешу нельзя восстановить исходные данные.
Что такое хеш транзакции?
Уникальный идентификатор перевода в блокчейне, хеш данных транзакции. По нему перевод находят в обозревателе блоков и проверяют сумму, адреса и статус.
Что такое хеш-функция?
Алгоритм, который превращает данные любой длины в строку фиксированной длины, например SHA-256 в 64 шестнадцатеричных символа.
Можно ли расшифровать хеш?
Нет, хеширование необратимо. Можно только перебирать варианты исходных данных и сравнивать хеши.