El esquema Commit-Reveal
Cómo funciona
CommitProof utiliza un esquema commit-reveal para demostrar de forma verificable que tenías una idea en un momento determinado, sin revelar su contenido.
- Commit: introduces tu texto. Tu navegador calcula un hash SHA-256 combinándolo con un salt aleatorio. Solo este hash se almacena en la blockchain de Cardano.
- Reveal: más adelante, compartes tu texto original y el salt. Cualquiera puede recalcular el hash y compararlo con el registro en la blockchain, incluida la marca de tiempo.
Tu texto original nunca sale de tu navegador. No se envía a ningún servidor ni se guarda en la blockchain. On-chain solo se registra el hash criptográfico. Así puedes verificarlo tú mismo.
El salt es una cadena aleatoria de 16 caracteres generada con crypto.getRandomValues. Protege contra ataques de fuerza bruta: sin el salt, el texto original no puede deducirse del hash.
Prueba on-chain
Cada prueba es una transacción de Cardano con metadatos bajo la etiqueta 8413:
{
"ts": 1708000000000,
"app": "commitproof.com",
"algo": "sha256",
"hash": "a1b2c3…",
"version": "1"
} ts: marca de tiempo del cliente (milisegundos), solo como referencia. Lo que prueba la fecha es la marca de tiempo del bloque en la blockchain, no este campoapp: identifica la aplicación de origenalgo: el algoritmo de hash utilizado (SHA-256)hash: la huella unidireccional de tu original combinado con el saltversion: versión del formato de metadatos para compatibilidad futura
Cada transacción de prueba envía 3 ada a la dirección de servicio de CommitProof. Esta dirección sirve de índice público: al consultarla se obtienen todas las transacciones de CommitProof, y en eso se basa el explorador de pruebas.
Todas las pruebas se guardan de forma permanente en la blockchain de Cardano y cualquiera puede verificarlas por su cuenta. ¿Nuevo en Cardano? Empieza aquí.
Verificación
Cualquiera puede verificar una prueba si tiene estos tres datos:
- El hash de transacción (identifica la prueba en la blockchain)
- El texto original
- El salt utilizado al crear la prueba
La verificación calcula SHA-256(texto + ":" + salt) directamente en el navegador y lo compara con el hash en la blockchain. Si coinciden, la prueba es válida y la marca de tiempo del bloque confirma cuándo se creó.
CommitProof agrupa los tres elementos en un archivo de prueba descargable (PDF o JSON) que puedes compartir o archivar. Consulta las preguntas frecuentes para más detalles sobre los formatos.