Дерево Меркла
Дерево Меркла (Merkle Tree) — как тысячи транзакций сворачиваются в один корневой хэш. Простое объяснение схемы и Merkle proof.
Обновлено: 2026-10-09
Дерево Меркла (Merkle Tree) — как тысячи транзакций сворачиваются в один корневой хэш. Простое объяснение схемы и Merkle proof.
Обновлено: 2026-10-09
Вы отправляете перевод и в обозревателе видите, что в блок попали 3 200 транзакций. Как кошелёк за долю секунды убеждается, что ваша сделка внутри, и при этом не качает весь блок целиком? Ответ прячется в дереве Меркла. Я разбиралась с ним, когда сама проверяла свой лист в отчёте биржи, — и поняла, почему это одна из самых изящных идей в блокчейне.
Дерево Меркла (Merkle Tree, хэш-дерево) — способ свернуть много данных в один короткий отпечаток. Строят его снизу вверх из хэшей. Внизу лежат листья: хэш каждой отдельной транзакции. Дальше соседние хэши попарно склеивают и хэшируют заново — получаются родители. Так слой за слоем, пока наверху не останется одна строка — корень Меркла (Merkle Root). У блока Bitcoin в дереве тысячи листьев, а корень всё равно один.
Возьмём четыре транзакции. Считаем хэши h1, h2, h3, h4 — это листья. Пары склеиваем: из h1 и h2 получаем h12, из h3 и h4 выходит h34. Затем соединяем h12 и h34 — готов корень. Если транзакций нечётное число, последний хэш дублируют, чтобы пара нашлась.
Любая правка внизу мгновенно меняет корень: сдвинулся один символ — поехали все родители наверх. Дерево высотой 20 уровней покрывает больше миллиона листьев, а корень по-прежнему короткий.
Корень кладут в заголовок блока. Одна короткая строка подтверждает сразу весь список транзакций: изменить что-то внутри незаметно нельзя. Полные узлы сети хранят блок целиком, а лёгкие кошельки и мосты обходятся одним корнем. Проверка не требует доверия к посреднику — только к математике. Без дерева Меркла лёгкий клиент тянул бы тысячи транзакций вместо нескольких хэшей.
Это самое практичное. Чтобы доказать, что ваша транзакция вошла в блок, весь блок показывать не нужно. Достаточно отдать несколько хэшей-соседей по пути от листа к корню — их называют Merkle proof. Кошелёк пересчитывает корень из этих кусочков и сверяет с тем, что стоит в заголовке. Совпало — транзакция на месте. Так же работает Proof of Reserves: вы проверяете свой баланс в дереве биржи, не раскрывая чужих. И так же устроены доказательства с нулевым разглашением в ZK-роллапах.
Остались вопросы? Спросите ИИ-ассистента — объяснит другими словами.
Спросить