Skip to content
BlockchainSign
es

Qué contiene un certificado de sello de tiempo

Por Publicado el

Qué contiene un certificado de sello de tiempo
Photo: RDNE Stock project

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.

Preguntas frecuentes

¿Necesito tu sitio web para verificar un certificado?
No. Cada comprobación se puede hacer con un explorador de bloques público y cualquier herramienta SHA-256. Abre la URL de la transacción, lee los datos de entrada como UTF-8, compáralos con el hash de los datos y luego vuelve a generar el hash de los datos y del archivo. Nada en esa secuencia implica nuestro software, y eso es intencionado.
¿Por qué mi reintegración del hash de los datos no coincide?
Casi siempre es la indentación YAML. Los datos aparecen en el certificado con espacios al principio que forman parte del formato del archivo, no del contenido que se está hashando. Elimina los espacios iniciales de cada línea antes de generar el hash y el valor coincidirá.
¿Qué ocurre si pierdo el archivo del certificado?
Menos de lo que podrías temer, siempre que sepas cuál fue la transacción: el hash de los datos está en la cadena, por lo que el certificado puede reconstruirse. Lo que no debes perder es el archivo original, byte a byte: sin él no hay nada que hashar y comparar, y guardar de nuevo un documento cambia sus bytes.

Demuestra hoy que tu trabajo ya existía

Sella en el tiempo cualquier archivo en la blockchain de Ethereum y consigue un certificado inalterable y para siempre. Tu archivo nunca sale de tu navegador.