Перейти до основного вмісту

Докази Меркла

Коли ви розпізнаєте ім’я, 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