
Доказательство Меркла даёт способ проверить включение TXID в блок по короткому набору соседних хешей. Итоговый корень сравнивают с корнем в заголовке блока.
Пример с четырьмя листьями
Пусть в блоке четыре условных хеша A, B, C и D. Сначала из пар A и B, C и D получают AB и CD, затем из AB и CD получают корень. Для проверки C достаточно его хеша, соседа D и уже рассчитанного хеша AB. Направление каждой пары имеет значение: C и D нельзя произвольно менять местами.
Буквы в примере обозначают данные, а не реальные хеши. В Bitcoin шаги строятся по правилам протокола, включая порядок байтов и двойное SHA-256. В ветви для корня заголовка используются идентификаторы транзакций TXID.
Что именно доказано
Совпадение корня связывает транзакцию с указанным заголовком. Оно само по себе не подтверждает, что заголовок относится к текущей цепочке с наибольшей работой. Для этого нужно проверить цепочку заголовков и работу, а для полной проверки блока — дополнительные правила и содержимое.
Где искать причину ошибки
Сначала сверяйте сеть, хеш блока и порядок элементов ветви. Затем убедитесь, что инструмент использует нужный тип идентификатора. Если задача лишь в том, чтобы проверить получателя и сумму, начните с поиска по TXID. Если спорят о том, в какой ветви находится запись, сравните высоту и хеш блока.