Вы молодцы! 60% верно ответили. Хеш-функции критично важны, без них ни чего бы не было. Мира блокчейн не существовало бы. Децентрализация никогда бы не появилась. А мы бы по прежнему теряли жизненные силы, энергию, деньги на взаимодействие с посредниками. Централизация бы процветала и мы бы вязли в ней, как пчелы в патоке.
Это самая важная и самая первая тема, что нужно понять. На этом строится и базируется любой блокчейн.
Давайте простыми словами. Что такое хеш-функция? Это процесс, в ходе которого можно преобразовать данные любого размера в битовый массив фиксированного размера.
Что такое битовый массив? Это набор 0 и 1 заданной длинны. Например в блокчейне часто применяется алгоритм хеширования SHA256, это значит, что данные произвольного размера (например оцифрованный UHD фильм) можно отразить (сделать уникальный слепок) состоящий из 256 нулей и единиц (бит).
Пример использования:
1. Вы доверяете некому человеку/компании А.
2. А публикует нужные вам данные (программу/документ/медиа) и вычисленный от этих данных хеш.
3. Вы загружаете/получаете данные по каналам связи которым НЕ доверяете (кто то может данные изменить/подменить, поставить запятую в договре итд).
4. Вы вычисляете хеш по полученным данным и сравнивайте с тем что опубликовал A (хеш которому вы доверяете).
Хеш должен совпадать, если в данные были внесены даже незначительные изменения, то хеш будет абсолютно другим.
☝️Посмотрите как меняется хеш если дорисовать один пиксель в фото звездного неба. Битовый массив представлен в 16-ти ричном представлении (0123456789ABCDEF), для краткости строчного вывода.
Свойства хешей:
- Хеш однозначно идентифицирует данные;
- Работает быстро (можно снять хеш с всего жесткого диска за вменяемое время);
- Детерминирован в одну сторону (по одним и тем же данным получается всегда один и тот же хеш, по хешу не возможно получить данные);
- Подобрать данные по хешу невозможно.
- Хеш краткий, его можно передать даже азбукой Морзе.