Дерево Меркла (Merkle Tree)
16.04.2026
Дерево Меркла (Merkle tree) — иерархическая структура данных, в которой данные попарно хешируются до получения единственного хеша — корня Меркла (Merkle root). Блокчейны используют деревья Меркла для компактного и верифицируемого представления всех транзакций в блоке.
Как это работает
- Каждая транзакция в блоке хешируется отдельно:
Hash(Tx1),Hash(Tx2)и т.д. - Соседние хеши объединяются и хешируются вместе:
Hash(Hash(Tx1) + Hash(Tx2)) - Процесс повторяется, объединяя пары уровень за уровнем, до получения единственного хеша
- Этот финальный хеш — корень Меркла, хранящийся в заголовке блока
Корень Меркла
/ \
H(1+2) H(3+4)
/ \ / \
H1 H2 H3 H4
| | | |
Tx1 Tx2 Tx3 Tx4
Почему это важно
Эффективность: для верификации наличия конкретной транзакции в блоке достаточно небольшого набора хешей вдоль пути до корня (доказательство Меркла, Merkle proof) — без загрузки всего блока. Это критически важно для лёгких клиентов (SPV-кошельков), не загружающих полные блоки.
Целостность: любое изменение транзакции меняет её хеш, что влечёт изменение родительского хеша и так далее вплоть до корня Меркла. Это делает любую подмену данных мгновенно обнаруживаемой.
