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 almacena en la blockchain. Solo el hash criptográfico se registra on-chain. 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. La prueba temporal real proviene de la marca de tiempo del bloque en la blockchain, no de 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 funciona como índice público: permite consultar todas las transacciones de CommitProof, y así es como funciona el explorador de pruebas.
Todas las pruebas se almacenan de forma permanente en la blockchain de Cardano y pueden ser verificadas independientemente por cualquiera. ¿Nuevo en Cardano? Empieza aquí.
Verificación
Para verificar una prueba se necesitan tres cosas:
- 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 fue creada.
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.