


Вступ до серії
Ласкаво просимо до нової серії: Zero to Zero Knowledge!
У цій серії ми вивчатимемо основи широкого спектра технологій, які лежать в основі наших протоколів збереження приватності.
Сьогодні ми починаємо з Хеш-функцій — ключового елемента криптографії, що використовується в блокчейнах. Пізніше в цій серії ми розглянемо деякі теми, які спираються на їхні властивості.
Хеш-функції беруть вхідні дані будь-якої довжини та створюють вихід фіксованої довжини.

Давайте отримаємо практичне розуміння за допомогою цього інструмента!
Введіть будь-який довільний текст, щоб отримати вихід фіксованої довжини. Зверніть увагу, як змінюється вихід залежно від різного алгоритму хешування.
Спробуйте тут: https://cryptii.com/pipes/hash-function
Криптографічні хеш-функції повинні мати ці 3 властивості:
Існує кілька класів хеш-функцій. Ось деякі приклади:
Вступ до BLAKE2: https://www.blake2.net
Перевірки цілісності даних є прикладом «Хешування цілісності». Вони використовуються для створення контрольних сум файлів даних і забезпечують користувача впевненістю в правильності.

Хеш-дерево або дерево Merkle складається з гілок і листових вузлів, які позначені криптографічним хешем блока даних.

Дерева Merkle є прикладом схеми криптографічного комітування. Корінь дерева розглядається як комітмент, а листові вузли доводяться як частина початкового комітменту.
Вони перевіряють дані, що зберігаються або передаються в P2P-мережах, гарантуючи, що дані, отримані від вузлів мережі, не були змінені.
У захищених пулах Zcash Sapling і Orchard Дерево комітментів нотаток використовується для перевірки того, що транзакції є дійсними відповідно до консенсусу, водночас повністю приховуючи відправника, одержувача та використані суми.
SHA256 є прикладом «Хешу підпису», який використовується для забезпечення незмінності кожного блока в ланцюгу Bitcoin. Майнери використовують хеш попереднього блока + хеш усіх транзакцій у поточному блоці (hashMerkleRoot) + часову мітку + випадкове значення / складність мережі для нових блоків.

Equihash — це алгоритм хешування, який використовується для майнінгу Zcash. Він також використовується такими мережами, як Komodo і Horizen.
Equihash: асиметричне підтвердження роботи на основі узагальненої задачі про дні народження (Бірюков і Ховратович): https://eprint.iacr.org/2015/946
Щоб краще зрозуміти різні типи хеш-функцій та пов’язані з ними способи використання, ось чудовий ресурс:
https://en.wikipedia.org/wiki/Hash_function
Тред від ZecHub (@ZecHub)
Оригінальний тред у X: https://x.com/ZecHub/status/1621240109663227906
Цю сторінку було укладено на основі оригінального треду Zero to Zero Knowledge для вікі ZecHub.