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



Представьте, что вы скачиваете огромный файл, скажем, 50 гигабайт. Обычно разработчики дают вам хеш этого файла, чтобы вы могли проверить, что загрузили именно то, что нужно. Но если файл повреждается при загрузке, вам приходится начинать всё заново. Вот здесь на помощь приходит дерево меркла - система, которая разбивает большой объём данных на куски и создаёт компактное представление всего файла.

Как это работает? Возьмём файл из восьми частей (назовём их A, B, C, D, E, F, G, H). Каждую часть пропускаем через хеш-функцию, получаем восемь хешей. Потом берём каждую пару хешей, объединяем и хешируем снова. Получается четыре хеша. Повторяем процесс - остаётся два хеша. Хешируем их вместе и получаем финальный корень меркла. Получается структура, похожая на перевёрнутое дерево с листьями внизу и одним корнем вверху.

Что в этом крутого? Если хоть один бит данных изменится, корень меркла станет совершенно другим. Это даёт нам мощный способ проверки - один единственный хеш представляет все данные. Причём если что-то пошло не так, мы можем быстро найти, какой именно фрагмент испорчен, не проверяя всё подряд.

Теперь о блокчейне. Биткойн и другие криптовалюты используют дерево меркла в каждом блоке. Представьте блок как контейнер с тысячами транзакций. Вместо того чтобы каждый раз хешировать все транзакции, майнеры вычисляют корень меркла один раз и помещают его в заголовок блока. При майнинге нужно хешировать только компактный заголовок, а не весь блок с тысячами транзакций. Это экономит огромное количество вычислительных ресурсов.

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

В общем, дерево меркла - это одна из тех технологий, которые делают блокчейн практически применимым. Без неё блоки были бы намного больше, сеть была бы медленнее, а лёгким клиентам было бы невозможно проверять транзакции. Вот такая вот простая, но гениальная структура данных, которая лежит в основе криптографии блокчейна.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • комментарий
  • Репост
  • Поделиться
комментарий
Добавить комментарий
Добавить комментарий
Нет комментариев
  • Закреплено