A Cadeia de Provas
Os domínios são registrados em lote. O tempo limite de espera de cada lote é de aproximadamente 10 minutos. Cada lote produz uma prova. Essas provas formam uma cadeia de transições de estado desde a gênese:
genesis_root (empty tree -- known constant)
| +-- "richard.pivx" registered at block 100,
| +-- "john.pivx" registered at block 110,
| ... (could be more registration/update commands)
| ! Proof 1 is generated
| old_root = genesis_root --> new_root_1
| +-- "richard.pivx" put his name on marketplace at block 200,
| +-- "sam.pivx" registered at block 250,
| ... (could be more registration/update commands)
| ! Proof 2 is generated
| old_root = new_root_1 --> new_root_2 (= current root)
O old_root de cada prova deve ser igual ao new_root da prova anterior. O old_root da primeira prova deve ser igual à raiz de gênese conhecida (uma Sparse Merkle Tree vazia).
Verificando a cadeia
Um verificador verifica todo o histórico de registro em cinco etapas:
- Obtenha a chave de verificação do SP1 – derivada deterministicamente do binário do programa convidado
- Busque todas as provas da API
- Verifique cada prova do SP1 usando a chave de verificação
- Verifique a corrente --
genesis == P1.old_root,P1.new_root == P2.old_root, ...,PN.new_root == current_root - Verificação pontual na cadeia – procure qualquer
txidconfirmado em um nó PIVX e confirme o memorando, o valor e a correspondência do bloco
Se todas as verificações forem aprovadas, todo o histórico de registro estará correto – não é necessária confiança no indexador.
Pipeline de prova
O scanner e o provador são executados de forma independente:
PIVX Blockchain
|
PiNS Registrar Scanner (validates, captures SMT state)
|
Database (status: "pending")
|
SP1 Prover (generates ZK proof, verifies it)
|
Database (status: "proved")
|
New checkpoint published
|
Indexer syncs to the checkpoint
|
API Server (GET /v1.0/resolve/{name})
O scanner nunca bloqueia a geração de provas. O daemon do provador pesquisa registros pendentes e pode ser executado em hardware separado.