Докази Меркла
Коли ви розпізнаєте ім’я, API повертає підтвердження членства в Merkle – 128 однорідних хешів із розрідженого дерева Merkle. Це дає змогу перевірити роздільність, не довіряючи серверу.
Як працює перевірка
leaf = SHA-256(address)
key = SHA-256("richard.zcash")
current_root
|
/ \
/ \
... ...
/ \
sibling[127] leaf(richard.zcash)
Хешуйте аркуш на 128 рівнів, використовуючи хеші-сестри. Якщо ви прибули до рекламованого smt_root, то роздільна здатність правильна.
Розріджене дерево Меркла
ZCashNames використовує розріджене дерево Меркла (SMT) SHA-256 глибини 128:
- Глибина 128 - 2^128 можливих слотів, без зіткнень
- SHA-256 на кожному рівні для детермінованого хешування
- Докази нечленства - переконайтеся, що ім'я не використано (необхідно під час реєстрації)
- Докази членства - перевірте, чи зареєстровано ім’я (повертається після вирішення)
Детермінований стан
Два незалежні індексатори, що обробляють однакові блоки, мають створювати однаковий корінь SMT. Невідповідність означає, що один неправильний.
Перевірте поточний корінь: GET /v1.0/info