Skip to main content

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

Калі вы вызначаеце імя, API вяртае доказ членства ў Merkle - 128 хэшаў-братоў з Sparse Merkle Tree. Гэта дазваляе праверыць дазвол, не давяраючы серверу.

Як працуе праверка

leaf = SHA-256(address)
key = SHA-256("richard.zcash")

current_root
|
/ \
/ \
... ...
/ \
sibling[127] leaf(richard.zcash)

Хэшуйце ліст праз 128 узроўняў, выкарыстоўваючы хэшы-браткі. Калі вы прыедзеце ў рэкламуемы smt_root, рашэнне правільнае.

Разрэджанае дрэва Меркла

ZCashNames выкарыстоўвае разрэджанае дрэва Меркла (SMT) глыбінёй 128 SHA-256:

  • Глыбіня 128 - 2^128 магчымых слотаў, без сутыкненняў
  • SHA-256 на кожным узроўні для дэтэрмінаванага хэшавання
  • Доказы нечленства - пераканайцеся, што імя не выкарыстана (неабходна падчас рэгістрацыі)
  • Доказы членства - праверце імя зарэгістраванае (вяртаецца пры дазволе)

Дэтэрмінаваны стан

Два незалежныя індэксатары, якія апрацоўваюць адны і тыя ж блокі, павінны ствараць адзін і той жа корань SMT. Неадпаведнасць азначае, што адзін памылковы.

Праверце бягучы корань: GET /v1.0/info