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



Итак, вот в чем дело: хэш-функция — это в основном математический инструмент, который принимает любые данные и преобразует их в строку фиксированной длины. Волшебная часть? Это односторонняя функция. Обратное преобразование невозможно. Введите «давайте изучать блокчейн» и получите 77db72b12a7667ad73fd33544d1f397268dffe18ca3042e0a09af9f993a8f9c1. Добавьте всего одну точку, и результат сразу станет совершенно другим: 17368fcb5bab73c97aa60aa7ae9e54e6676d292743587b9a35ace927a626520a. Даже малейшие изменения — и результат полностью меняется. Вот в чем безопасность.

Почему это важно для криптовалют? Майнинг биткоинов буквально зависит от этого. Майнеры по сути соревнуются в поиске хэш-значения ниже определенного порога, объединяя данные блока с случайными числами (нонсами) и пропуская их через SHA-256. Кто первым найдет — тот и получает награду. И тут есть изящность — каждый блок связан с предыдущим через его хэш, создавая цепочку, которую невозможно подделать. Если кто-то попытается изменить старые данные, хэш изменится, и все сразу поймут, что что-то не так.

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

Следующим был SHA-1, разработанный NSA в 1995 году. Он генерирует 160-битные хэши, но с тех пор его взломали и заменили более надежными вариантами.

Затем появился SHA-2, который представляет собой семейство алгоритмов (SHA-224, SHA-256, SHA-384, SHA-512). SHA-256 — это то, что использует биткоин, и он по-прежнему считается очень надежным. Более длинные выходные размеры делают его гораздо более устойчивым к атакам перебором по сравнению с SHA-1.

Самый новый — SHA-3, опубликованный NIST в 2015 году. Он основан на алгоритме Keccak и использует так называемую «губку» — по сути, он поглощает входные данные, а затем выжимает из них хэш. Одно из преимуществ — он устойчив к атакам на расширение длины, когда кто-то пытается добавить данные без знания исходных. Ethereum фактически использует keccak-256, вариант SHA-3. Даже Nervos’ CKB запустили собственный алгоритм, вдохновленный SHA-3, под названием Eaglesong.

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

Тем не менее, современные алгоритмы, такие как SHA-256 и SHA-3, были специально разработаны с учетом этих уязвимостей. MD5 и SHA-1 — уязвимы. Но новые поколения считаются практически неуязвимыми при нынешних технологиях. Именно поэтому они лежат в основе безопасности блокчейна сегодня.
BTC-2,8%
ETH-2,66%
CKB-5,2%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • комментарий
  • Репост
  • Поделиться
комментарий
Добавить комментарий
Добавить комментарий
Нет комментариев
  • Закреплено