Por que provas?
Um indexador verifica o blockchain ZCash e constrói um registro de nomes. Mas por que alguém deveria confiar nisso? E se:
- Fabrica um cadastro que nunca aconteceu on-chain?
- Cobra a taxa errada?
- Registra um nome duas vezes?
- Altera o estado do registro?
As provas ZK eliminam essas questões. Cada prova é um certificado criptográfico de que o registro foi processado corretamente. Qualquer pessoa pode verificar a prova de forma independente.
O que cada prova verifica
O ZCash Prover usa SP1 - uma máquina virtual de conhecimento zero RISC-V. Para cada transação com domínio, o provador realiza as seguintes verificações dentro do zkVM:
- Validade do nome - 1-64 caracteres, letras minúsculas + hifens
- Suficiência de taxa - a transação pagou o suficiente ZEC para Comprimento do nome
- Integridade do comando do protocolo - todas as condições do protocolo são atendidas
- Assinatura Ed25519 – a assinatura sobre
memo commandé válida - Inserção da árvore Merkle – o nome ainda não existia e a nova raiz do estado está correta
Se alguma verificação falhar, a prova não poderá ser gerada.
Resultados públicos
Cada prova compromete 3 valores que estão permanentemente vinculados a ela:
| Saída | Descrição |
|---|---|
old_root | Raiz da árvore Merkle antes deste registro |
new_root | Raiz da árvore Merkle após este registro |
end_block_height | O último bloco ZCash do lote de registro |
O block_height fixa a prova em um bloco ZCash específico (como um ponto de verificação). Qualquer pessoa pode procurar transações em um nó ZCash e confirmar o memorando e a correspondência de valor.