Нещодавно перечитував основи блокчейна і зрозумів, що багато хто не зовсім розуміє, як саме працює перевірка цілісності даних у криптовалютах. Все зводиться до однієї елегантної структури, яку придумав Ральф Меркл ще на початку 80-х.



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

Як це працює? Візьмемо файл із восьми частин (назвемо їх A, B, C, D, E, F, G, H). Кожну частину пропускаємо через хеш-функцію, отримуємо вісім хешів. Потім беремо кожну пару хешів, об’єднуємо і знову хешуємо. Отримуємо чотири хеші. Повторюємо процес — залишається два хеші. Хешуємо їх разом і отримуємо фінальний корінь Меркла. Виходить структура, схожа на перевернуте дерево з листями внизу і одним коренем зверху.

Що в цьому круто? Якщо хоч один біт даних зміниться, корінь Меркла стане зовсім іншим. Це дає нам потужний спосіб перевірки — один єдиний хеш уявляє всі дані. Причому якщо щось пішло не так, ми можемо швидко знайти, який саме фрагмент пошкоджений, не перевіряючи все підряд.

Тепер про блокчейн. Біткойн і інші криптовалюти використовують дерево Меркла у кожному блоці. Уявіть блок як контейнер із тисячами транзакцій. Замість того щоб кожного разу хешувати всі транзакції, майнери обчислюють корінь Меркла один раз і поміщають його в заголовок блоку. При майнінгу потрібно хешувати лише компактний заголовок, а не весь блок із тисячами транзакцій. Це економить величезну кількість обчислювальних ресурсів.

Ще одна фішка — спрощена перевірка платежів. Якщо у вас легкий клієнт на смартфоні, вам не потрібно завантажувати весь блокчейн. Ви можете запитати доказ Меркла — спеціальне підтвердження, яке показує, що ваша транзакція дійсно у блоці. Для цього потрібні лише кілька хешів, а не всі дані.

Загалом, дерево Меркла — це одна з тих технологій, які роблять блокчейн практично застосовним. Без неї блоки були б набагато більшими, мережа — повільнішою, а легким клієнтам було б неможливо перевіряти транзакції. Ось така проста, але геніальна структура даних, яка лежить в основі криптографії блокчейна.
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • Прокоментувати
  • Репост
  • Поділіться
Прокоментувати
Додати коментар
Додати коментар
Немає коментарів
  • Закріплено