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