Перевірити доказ Меркла — означає наново обчислити ланцюжок гешів від власного запису до опублікованого кореня і подивитися, чи приходите ви до того самого значення. Це забирає хвилину, не потребує нічиєї співпраці, а найчастіша причина невдачі — розбіжність у вхідних даних, а не нечесність. Розуміння того, з якою саме невдачею ви маєте справу, перетворює перевірку на інформацію, а не на тривогу.
Що потрібно перед початком
Чотири речі, і кожна має належати до того самого звіту: ваш файл доказу, опублікований корінь за той період, версія алгоритму, названа у звіті, та час знімка, який звіт використав.
Змішування періодів — найчастіша помилка. Файл доказу з одного місяця, перевірений проти кореня іншого, не пройде, і не пройде цілком слушно; він не скаже нічого, крім того, що ви взяли не ту пару.
Сам файл доказу містить дані вашого листка й короткий список сусідніх гешів. Він невеликий, зазвичай кілька десятків значень, бо довжина шляху від листка до кореня зростає надзвичайно повільно, навіть коли в дереві мільйони рахунків. Структуру за цим описано в матеріалі дерева Меркла в доказі резервів.
Результати і що кожен означає
| Результат | Що це означає | Що робити далі |
|---|---|---|
| Обчислений корінь дорівнює опублікованому | Ваш рядок був у зафіксованій множині | На цьому все; збережіть файл |
| Обчислений корінь інший | Якийсь вхід не збігається з опублікованим деревом | Завантажте знову і повторіть, тоді робіть висновки |
| Інструмент відхиляє файл | Файл пошкоджений або з іншого періоду | Перевірте період завантаженого файлу |
| Невідома версія алгоритму | Ваш верифікатор старіший за розкриття | Візьміть версію, названу у звіті |
| Геш листка не збігається з балансами | Ви гешуєте інший запис | Підтвердіть час знімка й список активів |
| За період немає опублікованого кореня | Немає з чим порівнювати | Спитайте, коли вийде той період |
Третій стовпець читайте як послідовність, а не як меню: дешеві пояснення слід виключати першими, і зазвичай саме вони правильні. Серйозним може бути лише другий рядок, та й він частіше є проблемою вхідних даних.
Чотири кроки перевірки
Перший: побудуйте свій листок. Верифікатор складає рівно той текст, якого вимагає специфікація, гешує його, і цей геш — низ вашого шляху. Саме тут хибний час знімка або інший порядок активів дають листок, якого в дереві ніколи не було.
Другий: підіймайтеся вгору. На кожному рівні верифікатор поєднує ваш поточний геш із сусідом із файлу доказу й гешує пару, отримуючи геш рівнем вище, і повторює, доки список сусідів не вичерпається.
Третій: порівняйте. Значення, до якого ви прийшли, або точно збігається з опублікованим коренем, або ні; часткового заліку немає. Четвертий крок легко проминути: переконайтеся, що корінь, з яким ви порівнювали, справді опублікований біржею, а не скопійований із неофіційного джерела.
Чому важить порядок склеювання
На кожному рівні є лівий і правий бік, і гешування в хибному порядку дає геть інший результат. Це не тонкість математики; це найчастіша похибка в саморобних верифікаторах.
Тому файл доказу для кожного сусіда записує, до якого боку той належить. Ваш верифікатор мусить дотримуватися цієї вказівки, а не вирішувати сам; зокрема, він не повинен сортувати два значення перед гешуванням — цей прийом виглядає розумним і тихо ламає все.
Є простий спосіб перевірити, чи є така похибка у вашому інструменті: запустіть його двічі на тому самому доказі, вдруге навмисно помінявши боки, і переконайтеся, що опублікований корінь дає лише один із двох прогонів. Якщо перевірка не проходить, а вхідні дані виглядають правильними, у будь-якому інструменті, який ви писали чи правили самі, підозрювати треба насамперед це. Верифікатор, опублікований разом зі звітом, це вже враховує — практичний довід на користь того, щоб бодай раз скористатися саме ним.
Часті причини невдачі, коли все гаразд
Звичайний винуватець — час знімка. Ваш сьогоднішній баланс не дорівнює балансу на момент побудови дерева, і гешування сьогоднішніх чисел закономірно дає листок, якого там немає.
Далі йдуть відмінності формату. Баланси пишуться з фіксованою кількістю знаків після коми, активи йдуть у фіксованому порядку; запис, зібраний вручну, може бути правильним числово й відмінним текстово, а це змінює геш цілком. Суміжна пастка — списати баланс з екрана, де його округлено для показу: округлене й збережене числа лишаються різними рядками, навіть описуючи ту саму суму.
Нарешті, дрейф версій. Розкриття, що перейшло на новішу версію алгоритму, старим інструментом не перевіриться, а інструмент, оновлений раніше за розкриття, дає ту саму біду навпаки. Збіг із версією, названою у звіті, знімає цілий клас заплутаних невдач.
Що доводять успіх і невдача
Успіх доводить рівно одне: запис, який ви гешували, перебував у дереві, чий корінь опубліковано. Це ваша належність, і вона справді ваша, а не повідомлена вам.
Він не доводить, що включено всіх інших, що активи існують або що баланси покривають усе, що вам винні. Доказ Меркла відповідає на питання членства й мовчить про решту; цю межу викладено в матеріалі обмеження доказу резервів.
Про цю вузькість варто пам'ятати навмисно: перевірка, що доводить одне точно, корисніша за твердження, яке махає одразу на кілька. А невдача, коли нудні причини виключено, — це питання, яке варто підняти, а не вирок. Вона означає, що запис, який, на вашу думку, описує ваш рахунок, не з'являється під опублікованим коренем, і сторона, що виробила і те і те, може пояснити різницю.
Що робити, якщо невдача справжня
Повторіть перевірку зі щойно завантаженим файлом доказу й офіційним коренем, бо застарілий або недовантажений файл пояснює більшість випадків. Обидва файли збережіть, не перезаписуючи.
Далі зробіть те саме для попереднього періоду, якщо він доступний. Невдача, що з'являється в одному періоді й відсутня в інших, — інша ситуація, ніж стійка, і при описі ця різниця важлива.
Якщо не проходить і далі, підніміть питання перед біржею й додайте період, корінь, з яким порівнювали, і версію верифікатора. Цього досить, щоб хтось відтворив ваші дії, а відтворюваність і робить звернення придатним до роботи. Ширшу перевірку довкола цієї описано в матеріалі як перевірити доказ резервів.
Підсумок
Перевірка доказу Меркла — коротка механічна процедура: побудувати свій листок, пройти вгору шляхом сусідів із дотриманням боків і порівняти результат з опублікованим коренем. Більшість невдач народжуються з незбігу періодів, форматів чи версій, а не з того, що щось не так.
Успіх каже, що ваш власний рядок було зафіксовано, — факт, який ви встановили, а не прийняли. Це мале твердження, висловлене точно, і саме такі твердження роблять читабельною решту розкриття. Читайте далі матеріали Bitbase Academy.
Схожі матеріали
Інші матеріали Bitbase на цю тему:
- Дерева Меркла проти доказів резервів із нульовим розголошенням: компроміс приватності
- Чому фіатне поповнення або виведення коштів перебуває в очікуванні
- Засоби контролю ризику акаунта на біржі
- Що таке блокчейн-міст?
- Як убезпечити свою криптовалюту
Застереження: Ця стаття є освітнім матеріалом Bitbase Academy і надається лише для інформації. Вона не є інвестиційною, торговою, податковою чи фінансовою порадою. Криптоактиви волатильні — оцінюйте ризики самостійно. Написано станом на вересень 2026 року; орієнтуйтеся на найновішу офіційну інформацію.
Джерела
[1] Bitbase, «Доказ резервів» — щомісячне розкриття, корінь Меркла та відкритий верифікатор www.bitbase.com






