Дерево Меркла — способ свернуть множество записей в одно короткое значение так, чтобы принадлежность любой записи можно было доказать, не показывая остальные.
Как устроено
Записи хешируются попарно, полученные хеши снова попарно, и так до единственного значения — корня. Чтобы доказать, что запись входит в набор, достаточно предъявить её и цепочку соседних хешей до корня: для миллиона записей это около двадцати значений вместо миллиона.
Где применяется
В блоке хранится корень дерева всех транзакций — так лёгкий клиент проверяет свою транзакцию, не скачивая блок целиком. В биржевых доказательствах резервов дерево позволяет каждому клиенту убедиться, что его баланс учтён в общей сумме, не раскрывая чужие. И в раздачах: список получателей сворачивается в корень, а контракт проверяет право по цепочке — так экономят комиссию за газ.
Что важно понимать
Дерево доказывает включение записи, но не полноту набора. В доказательстве резервов оно подтверждает, что ваш баланс учтён, и не подтверждает, что биржа не скрыла обязательства. Поэтому такие проверки всегда идут в паре с раскрытием активов — сами по себе данные на блокчейне тут недостаточно.
Обсуждение
Добавить комментарий