Pular para o conteúdo principal

Provas Merkle

Quando você resolve um nome, a API retorna uma prova de associação ao Merkle – 128 hashes irmãos da Sparse Merkle Tree. Isso permite verificar a resolução sem confiar no servidor.

Como funciona a verificação

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

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

Hash a folha através dos 128 níveis usando os hashes irmãos. Se você chegar ao smt_root anunciado, a resolução está correta.

A Árvore Merkle Esparsa

PIVX Names usa uma árvore Merkle esparsa (SMT) de profundidade 128 SHA-256:

  • Profundidade 128 -- 2^128 slots possíveis, sem colisões
  • SHA-256 em todos os níveis para hashing determinístico
  • Provas de não adesão - verifique se um nome não está em uso (necessário durante o registro)
  • Provas de adesão - verifique se um nome está registrado (devolvido na resolução)

Estado Determinístico

Dois indexadores independentes que processam os mesmos blocos devem produzir a mesma raiz SMT. Uma incompatibilidade significa que alguém está errado.

Verifique a raiz atual: GET /v1.0/info