Хэш — это отпечаток данных. Если подать любой входной параметр в хэш-функцию, вы получите строку символов фиксированной длины. Один и тот же входной параметр всегда выдаёт один и тот же хэш. Измените один символ во входном параметре, и хэш изменится полностью. Это свойство делает хэши полезными для проверки. Вы можете проверить, не был ли файл изменён, сравнив его хэш с известным корректным значением. Биткойн использует SHA-256. Эфириум использует Keccak-256. Каждый блок содержит хэш предыдущего блока, который связывает цепочку воедино.
Хэши — это односторонние вычисления. Нельзя вернуться от хэша к исходному значению. Именно поэтому они используются для паролей и доказательств. Майнеры соревнуются, чтобы найти хэш ниже определённого целевого значения. Они меняют nonce, хэшируют заголовок блока и проверяют результат. В больших масштабах этот процесс основан на методе проб и ошибок. Нахождение корректного хэша доказывает, что работа была выполнена. Проверка этого практически не требует усилий. Эта асимметрия лежит в основе доказательства работы. Хэш-функции также используются для генерации адресов кошельков и проверки целостности транзакций.
Свойства хэш-функции
- Детерминированный подход — один и тот же входной сигнал всегда дает один и тот же выходной сигнал.
- Быстрое вычисление — верификация недорога
- Устойчивость к прообразу — хеширование невозможно обратить.
- Эффект лавины — небольшое изменение входных данных приводит к совершенно иному результату.
Хэш — это не шифрование. Это односторонний дайджест. Нет ключа и нет способа расшифровать.
Comments
No comments yet. Be the first to share a thought.
Leave a comment