Qué contiene un certificado de sello de tiempo
Por BlockchainSignPublicado el

Un certificado de sello de tiempo es un archivo pequeño y cada uno de sus campos existe por una razón. Entender qué hace cada uno es lo que convierte el certificado de algo en lo que confías a algo que puedes comprobar.
Los campos
Un certificado de BlockchainSign es un archivo YAML con estos campos:
| Campo | Qué es |
|---|---|
version |
Versión del formato del certificado |
provider |
Quién lo emitió |
timestamp |
La hora del bloque de la transacción — la fecha que se prueba |
blockchain |
En qué cadena está registrado |
algorithm |
La función hash utilizada, SHA-256 |
payload_hash |
El hash del bloque de datos, y lo que aparece en la cadena |
tx_hash |
El identificador de la transacción |
tx_url |
Un enlace a esa transacción en un explorador de bloques público |
payload |
Tres líneas: el correo electrónico de entrega, el SHA-256 del archivo y cualquier metadato que hayas proporcionado |
La estructura es deliberadamente sencilla. No hay nada propietario, nada encriptado y nada que necesite nuestro software para interpretarlo.
Por qué los datos se hashan por separado
Esta es la parte que merece la pena entender, porque explica el diseño.
Los datos contienen tres cosas: una dirección de correo electrónico, el hash de tu archivo y metadatos de texto libre como un nombre de autor o una referencia de proyecto. No se escriben directamente en la cadena; lo que se escribe es su propio hash SHA-256.
Dos razones. Primero, mantener los datos en la cadena fijos a 64 caracteres mantiene el coste de la transacción predecible, independientemente de cuántos metadatos añadas. Segundo, los datos contienen una dirección de correo electrónico y no hay razón para publicar eso permanentemente en un registro público.
El efecto es una cadena de evidencia de dos pasos: el archivo genera un hash que forma parte de los datos, y los datos generan un hash que va a la cadena. Ambos pasos son reproducibles por cualquiera que tenga el certificado.
Verificarlo tú mismo, paso a paso
No nos necesitas para nada de esto.
1. Comprueba que la transacción existe. Abre tx_url. Se resuelve en una transacción real en un explorador público, con un número de bloque y una marca de tiempo.
2. Lee lo que hay en la cadena. Busca los datos de entrada en la página de la transacción y selecciona "Ver como UTF-8". Verás el hash de los datos como texto legible.
3. Compáralo con el certificado. Esa cadena debe coincidir exactamente con payload_hash.
4. Vuelve a generar el hash de los datos. Toma las tres líneas de los datos exactamente como aparecen y génereles el hash con SHA-256. El resultado debe ser igual a payload_hash. Una advertencia: la indentación YAML añade espacios al principio que no forman parte de los datos; elimínalos antes de generar el hash, o el valor no coincidirá.
5. Vuelve a generar el hash de tu archivo. shasum -a 256 yourfile.pdf en macOS o Linux, certutil -hashfile yourfile.pdf SHA256 en Windows, o usa la herramienta de hash gratuita en tu navegador. Compáralo con la línea File SHA-256 en los datos.
Si los cinco puntos coinciden, has establecido que este archivo exacto fue comprometido en un registro público en esa hora de bloque, y que nada ha cambiado desde entonces.
Lo que el certificado no te dice
Ser claro sobre los límites es lo que da credibilidad al resto:
- Quién creó el archivo. El certificado registra que alguien lo poseía. Véase prueba de existencia frente a prueba de autoría.
- Qué contiene el archivo. Solo se registra su hash. Cualquier persona que verifique la cobertura necesita el archivo en sí, que es la propiedad que hace que esto sea utilizable para documentos confidenciales.
- Que los metadatos sean ciertos. El campo de texto libre indica lo que escribiste. Está fijado en ese momento e inmutable después, lo cual es útil, pero el registro no lo verifica.
- Ningún estatus legal. Es una evidencia, no un registro ni un derecho.
Conserva el archivo, byte a byte
La forma más común en que la gente pierde el valor de un certificado es perdiendo el archivo exacto.
Un hash cubre una secuencia exacta de bytes. Re-guardar un documento, exportarlo de nuevo o permitir que una aplicación reescriba los metadatos produce un archivo diferente con un hash diferente, y el certificado ya no coincidirá. Archiva la versión certificada por separado y trabaja en una copia.
El propio certificado también merece la pena guardarlo, aunque menos críticamente: el hash de los datos está en la cadena, por lo que un certificado puede reconstruirse a partir de datos públicos siempre que sepas cuál fue la transacción.