Нещодавно занурювався у технології блокчейн і зрозумів, що більшість людей насправді не розуміють, що робить її такою. Хеш-функції — це своєрідні непомітні герої — вони всюди, від ваших месенджерів до майнінгу Біткоїна, але більшість просто їх ігнорує.



Отже, ось у чому справа: хеш-функція — це в основному математичний інструмент, який приймає будь-яку кількість даних і перетворює їх у ряд фіксованої довжини. Магія полягає в тому, що це односторонній процес. Його не можна повернути назад. Введіть «давайте вивчати блокчейн» і отримаєте 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 blockchain запустив власний алгоритм, натхненний SHA-3, під назвою Eaglesong.

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

Однак сучасні алгоритми, такі як SHA-256 і SHA-3, були створені саме з урахуванням цих векторів атак. MD5 і SHA-1 — так, вони вразливі. Але новіші покоління вважаються практично нерозбиваємими за сучасних технологій. Саме тому вони є основою безпеки блокчейну сьогодні.
BTC-2,76%
ETH-3,16%
CKB-5,7%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • Прокоментувати
  • Репост
  • Поділіться
Прокоментувати
Додати коментар
Додати коментар
Немає коментарів
  • Закріплено