Saltar al contenido principal

¿Por qué pruebas?

Un indexador escanea la cadena de bloques PIVX y crea un registro de nombres. Pero ¿por qué alguien debería confiar en él? ¿Qué pasa si:

  • ¿Fabrica un registro que nunca ocurrió en la cadena?
  • ¿Cobra la tarifa equivocada?
  • ¿Registra un nombre dos veces?
  • ¿Altera el estado del registro?

Las pruebas ZK eliminan estas preguntas. Cada prueba es un certificado criptográfico de que el registro se tramitó correctamente. Cualquiera puede verificar la prueba de forma independiente.

Lo que verifica cada prueba

El probador PIVX utiliza SP1, una máquina virtual de conocimiento cero RISC-V. Para cada transacción con dominio, el prover realiza las siguientes comprobaciones dentro del zkVM:

  1. Validez del nombre: 1 a 64 caracteres, alfanuméricos en minúsculas + guiones
  2. Suficiencia de tarifa: la transacción pagó suficiente PIVX para la longitud del nombre
  3. Integridad del comando de protocolo: la transacción pagó suficiente PIVX por la longitud del nombre
  4. Firma Ed25519: la firma sobre memo command es válida
  5. Inserción del árbol Merkle: el nombre aún no existía y la nueva raíz del estado es correcta

Si alguna verificación falla, no se podrá generar la prueba.

Salidas públicas

Cada prueba compromete 3 valores que están permanentemente vinculados a ella:

SalidaDescripción
old_rootRaíz del árbol Merkle antes de este registro
new_rootRaíz del árbol Merkle después de este registro
end_block_heightEl último bloque PIVX del lote de registro

El block_height fija la prueba a un bloque PIVX específico (como un punto de control). Cualquiera puede buscar transacciones en un nodo PIVX y confirmar la nota y la coincidencia del valor.