Як перевірити доказ Меркла: проходимо перевірку самостійно

2026-09-20

Як перевірити доказ Меркла: проходимо перевірку самостійно

Перевірити доказ Меркла — означає наново обчислити ланцюжок гешів від власного запису до опублікованого кореня і подивитися, чи приходите ви до того самого значення. Це забирає хвилину, не потребує нічиєї співпраці, а найчастіша причина невдачі — розбіжність у вхідних даних, а не нечесність. Розуміння того, з якою саме невдачею ви маєте справу, перетворює перевірку на інформацію, а не на тривогу.

Проходження перевірки доказу Меркла: зашифруйте власний запис, підніміться шляхом сусідів із дотриманням лівого й правого боку і порівняйте обчислений корінь з опублікованим

Що потрібно перед початком

Чотири речі, і кожна має належати до того самого звіту: ваш файл доказу, опублікований корінь за той період, версія алгоритму, названа у звіті, та час знімка, який звіт використав.

Змішування періодів — найчастіша помилка. Файл доказу з одного місяця, перевірений проти кореня іншого, не пройде, і не пройде цілком слушно; він не скаже нічого, крім того, що ви взяли не ту пару.

Сам файл доказу містить дані вашого листка й короткий список сусідніх гешів. Він невеликий, зазвичай кілька десятків значень, бо довжина шляху від листка до кореня зростає надзвичайно повільно, навіть коли в дереві мільйони рахунків. Структуру за цим описано в матеріалі дерева Меркла в доказі резервів.

Результати і що кожен означає

Результат Що це означає Що робити далі
Обчислений корінь дорівнює опублікованому Ваш рядок був у зафіксованій множині На цьому все; збережіть файл
Обчислений корінь інший Якийсь вхід не збігається з опублікованим деревом Завантажте знову і повторіть, тоді робіть висновки
Інструмент відхиляє файл Файл пошкоджений або з іншого періоду Перевірте період завантаженого файлу
Невідома версія алгоритму Ваш верифікатор старіший за розкриття Візьміть версію, названу у звіті
Геш листка не збігається з балансами Ви гешуєте інший запис Підтвердіть час знімка й список активів
За період немає опублікованого кореня Немає з чим порівнювати Спитайте, коли вийде той період

Третій стовпець читайте як послідовність, а не як меню: дешеві пояснення слід виключати першими, і зазвичай саме вони правильні. Серйозним може бути лише другий рядок, та й він частіше є проблемою вхідних даних.

Чотири кроки перевірки

Перший: побудуйте свій листок. Верифікатор складає рівно той текст, якого вимагає специфікація, гешує його, і цей геш — низ вашого шляху. Саме тут хибний час знімка або інший порядок активів дають листок, якого в дереві ніколи не було.

Другий: підіймайтеся вгору. На кожному рівні верифікатор поєднує ваш поточний геш із сусідом із файлу доказу й гешує пару, отримуючи геш рівнем вище, і повторює, доки список сусідів не вичерпається.

Третій: порівняйте. Значення, до якого ви прийшли, або точно збігається з опублікованим коренем, або ні; часткового заліку немає. Четвертий крок легко проминути: переконайтеся, що корінь, з яким ви порівнювали, справді опублікований біржею, а не скопійований із неофіційного джерела.

Чому важить порядок склеювання

На кожному рівні є лівий і правий бік, і гешування в хибному порядку дає геть інший результат. Це не тонкість математики; це найчастіша похибка в саморобних верифікаторах.

Тому файл доказу для кожного сусіда записує, до якого боку той належить. Ваш верифікатор мусить дотримуватися цієї вказівки, а не вирішувати сам; зокрема, він не повинен сортувати два значення перед гешуванням — цей прийом виглядає розумним і тихо ламає все.

Є простий спосіб перевірити, чи є така похибка у вашому інструменті: запустіть його двічі на тому самому доказі, вдруге навмисно помінявши боки, і переконайтеся, що опублікований корінь дає лише один із двох прогонів. Якщо перевірка не проходить, а вхідні дані виглядають правильними, у будь-якому інструменті, який ви писали чи правили самі, підозрювати треба насамперед це. Верифікатор, опублікований разом зі звітом, це вже враховує — практичний довід на користь того, щоб бодай раз скористатися саме ним.

Часті причини невдачі, коли все гаразд

Звичайний винуватець — час знімка. Ваш сьогоднішній баланс не дорівнює балансу на момент побудови дерева, і гешування сьогоднішніх чисел закономірно дає листок, якого там немає.

Далі йдуть відмінності формату. Баланси пишуться з фіксованою кількістю знаків після коми, активи йдуть у фіксованому порядку; запис, зібраний вручну, може бути правильним числово й відмінним текстово, а це змінює геш цілком. Суміжна пастка — списати баланс з екрана, де його округлено для показу: округлене й збережене числа лишаються різними рядками, навіть описуючи ту саму суму.

Нарешті, дрейф версій. Розкриття, що перейшло на новішу версію алгоритму, старим інструментом не перевіриться, а інструмент, оновлений раніше за розкриття, дає ту саму біду навпаки. Збіг із версією, названою у звіті, знімає цілий клас заплутаних невдач.

Що доводять успіх і невдача

Успіх доводить рівно одне: запис, який ви гешували, перебував у дереві, чий корінь опубліковано. Це ваша належність, і вона справді ваша, а не повідомлена вам.

Він не доводить, що включено всіх інших, що активи існують або що баланси покривають усе, що вам винні. Доказ Меркла відповідає на питання членства й мовчить про решту; цю межу викладено в матеріалі обмеження доказу резервів.

Про цю вузькість варто пам'ятати навмисно: перевірка, що доводить одне точно, корисніша за твердження, яке махає одразу на кілька. А невдача, коли нудні причини виключено, — це питання, яке варто підняти, а не вирок. Вона означає, що запис, який, на вашу думку, описує ваш рахунок, не з'являється під опублікованим коренем, і сторона, що виробила і те і те, може пояснити різницю.

Що робити, якщо невдача справжня

Повторіть перевірку зі щойно завантаженим файлом доказу й офіційним коренем, бо застарілий або недовантажений файл пояснює більшість випадків. Обидва файли збережіть, не перезаписуючи.

Далі зробіть те саме для попереднього періоду, якщо він доступний. Невдача, що з'являється в одному періоді й відсутня в інших, — інша ситуація, ніж стійка, і при описі ця різниця важлива.

Якщо не проходить і далі, підніміть питання перед біржею й додайте період, корінь, з яким порівнювали, і версію верифікатора. Цього досить, щоб хтось відтворив ваші дії, а відтворюваність і робить звернення придатним до роботи. Ширшу перевірку довкола цієї описано в матеріалі як перевірити доказ резервів.

Підсумок

Перевірка доказу Меркла — коротка механічна процедура: побудувати свій листок, пройти вгору шляхом сусідів із дотриманням боків і порівняти результат з опублікованим коренем. Більшість невдач народжуються з незбігу періодів, форматів чи версій, а не з того, що щось не так.

Успіх каже, що ваш власний рядок було зафіксовано, — факт, який ви встановили, а не прийняли. Це мале твердження, висловлене точно, і саме такі твердження роблять читабельною решту розкриття. Читайте далі матеріали Bitbase Academy.

Схожі матеріали

Інші матеріали Bitbase на цю тему:

Застереження: Ця стаття є освітнім матеріалом Bitbase Academy і надається лише для інформації. Вона не є інвестиційною, торговою, податковою чи фінансовою порадою. Криптоактиви волатильні — оцінюйте ризики самостійно. Написано станом на вересень 2026 року; орієнтуйтеся на найновішу офіційну інформацію.

Джерела

[1] Bitbase, «Доказ резервів» — щомісячне розкриття, корінь Меркла та відкритий верифікатор www.bitbase.com

Пов'язані статті

Більше
Токенізовані акції, акції та безстрокові контракти: власність, дивіденди й голос

Токенізовані акції, акції та безстрокові контракти: власність, дивіденди й голос

2026-09-21

Токенізовані акції в гаманці: переказ, самостійне зберігання, години торгів і погашення

Токенізовані акції в гаманці: переказ, самостійне зберігання, години торгів і погашення

2026-09-21

Ризики токенізованих акцій: емітент, ліквідність, відстеження ціни та погашення

Ризики токенізованих акцій: емітент, ліквідність, відстеження ціни та погашення

2026-09-21