Timestamp GIT Secure your prior art without exposing code

← Todos los artículos

2026-09-20

Cómo verificar la marca de tiempo de un commit de Git

Cómo verificar la marca de tiempo de un commit de Git
timestamp git blockchain proof

Cómo verificar una marca de tiempo de un commit de Git

Una marca de tiempo de un commit de Git es sorprendentemente fácil de falsificar. Puedes configurar GIT_AUTHOR_DATE, GIT_COMMITTER_DATE, hacer rebase de una rama o simplemente editar los metadatos del commit antes de hacer push. En una disputa legal o una auditoría de cumplimiento, un log de Git ordinario suele demostrar muy poco.

Por eso la verificación importa más que el anclaje en sí. El anclaje coloca un hash de commit en la blockchain de Bitcoin. La verificación es el paso que te permite a ti, a un auditor o a un tribunal confirmar que un hash de commit específico realmente fue incluido en un bloque de Bitcoin específico en un momento específico. Este artículo se centra en ese flujo de verificación usando Timestamp GIT, una GitHub App gestionada que automatiza todo el proceso y te ofrece herramientas basadas en navegador, insignias y una API pública.

Por qué la verificación importa para las marcas de tiempo de commits de Git

Un historial de Git estándar vive en servidores que no controlas por completo. Las plataformas de alojamiento de repositorios, los paneles de administración y los repositorios locales pueden ser modificados. Incluso cuando nadie actúa con malicia, las marcas de tiempo pueden moverse accidentalmente durante merges, squashes o migraciones de datos.

El anclaje criptográfico cambia las reglas del juego. Cuando Timestamp GIT procesa un repositorio, no depende de la marca de tiempo del commit de Git. Toma el hash del commit — una huella criptográficamente segura del estado exacto del repositorio — e incluye ese hash en un manifiesto diario. El hash del manifiesto se incorpora a un árbol de Merkle, y la raíz de Merkle se ancla en un bloque de Bitcoin usando el protocolo OpenTimestamps.

La verificación responde entonces a tres preguntas:

  1. ¿Está presente este hash de commit en el manifiesto diario?
  2. ¿Conecta la prueba de Merkle ese hash del manifiesto con la raíz de Merkle anclada?
  3. ¿Está incluida esa raíz de Merkle en un bloque de Bitcoin confirmado?

Si las tres comprobaciones pasan, tienes evidencia matemática de que el commit existía en esa fecha. Si te resulta útil un contexto más profundo sobre por qué esto importa para la propiedad intelectual del software, consulta ¿Qué es el estado de la técnica criptográfico y por qué importa para el software?.

Timestamp GIT oculta el flujo de trabajo crudo de OpenTimestamps. No necesitas instalar una CLI, ejecutar comandos de sellado manuales ni crear transacciones de Bitcoin. La GitHub App detecta los commits, los agrupa cada noche y escribe archivos de prueba estandarizados de vuelta en tu repositorio.

Cómo se ve una prueba de Timestamp GIT

Una prueba de Timestamp GIT no es un único archivo. Es una pequeña colección de artefactos que juntos permiten la verificación independiente.

Los componentes principales son:

  • Hash del commit: el hash SHA-1 o SHA-256 que identifica un commit específico.
  • Archivo de manifiesto diario: un archivo de texto plano que contiene todos los hashes de commits pendientes de un repositorio en esa fecha.
  • Árbol de Merkle: un árbol de Merkle nativo construido a partir de los hashes de los manifiestos diarios de todos los repositorios.
  • Recibo de OpenTimestamps: un archivo .ots que vincula criptográficamente el hash del manifiesto con un bloque de Bitcoin.
  • Información del bloque de Bitcoin: altura del bloque, datos de la transacción y estado de confirmación del ancla.

La prueba se escribe en una rama dedicada de timestamps o en un repositorio espejo, según tu configuración. Un directorio de prueba típico para un día determinado podría verse así:

timestamps/
  2026-09-20/
    manifest.txt
    receipt.ots

El recibo .ots es autocontenido en el sentido de que cualquiera puede verificarlo más tarde usando solo matemáticas SHA-256 y datos del bloque de Bitcoin. No hay tecnología propietaria ni dependencia de un proveedor. Si Timestamp GIT desapareciera mañana, los archivos de prueba seguirían existiendo y serían verificables contra la blockchain de Bitcoin.

Como solo se ancla el hash del commit, la prueba no contiene tu código fuente. El flujo de verificación opera sobre el hash, no sobre el contenido del repositorio.

Verificación paso a paso usando las herramientas de Timestamp GIT

Timestamp GIT ofrece varias vías de verificación. Puedes usar el panel visual para comprobaciones rápidas, descargar informes para cumplimiento o consultar la API para automatización.

Paso 1: Abre la página de estado del repositorio

Cada repositorio conectado tiene una página de estado pública o autenticada en:

https://timestampgit.dev/status/{user}/{repo}

Esta página muestra la fecha de anclaje más temprana, la longevidad de la prueba, la regularidad diaria, los datos del bloque y la transacción de Bitcoin, y un mapa de calor en forma de calendario. Desde la misma página puedes descargar un CSV de auditoría o un certificado PDF.

Para una comprobación rápida de estado, este suele ser el lugar más rápido para empezar. Si el repositorio es privado, la URL incluye un HMAC cifrado para que solo los espectadores autorizados puedan acceder a ella.

Paso 2: Usa la insignia de verificación en tu README

Después de conectar un repositorio, Timestamp GIT puede generar una insignia de verificación incrustable. La insignia muestra el estado de verificación más reciente directamente en el README, y al hacer clic en ella se accede a la página de verificación o al panel de estado.

El marcado de la insignia se genera automáticamente en la página del repositorio conectado o a través de la API de insignias. No debes escribir manualmente la URL del escudo; en su lugar, copia el fragmento de Markdown generado por Timestamp GIT. Esto evita errores con las URL firmadas con HMAC de los repositorios privados.

Paso 3: Inspecciona la cadena de Merkle en el navegador

Para una fecha específica, abre:

https://timestampgit.dev/verification/{user}/{repo}/{date}

Esta página recorre la verificación de la cadena de Merkle de varios niveles. Muestra el hash del commit, el hash del manifiesto diario, los nodos intermedios de Merkle y el ancla del bloque de Bitcoin.

Todo el cálculo ocurre localmente en el navegador. Timestamp GIT no ve qué hash estás verificando y no envías código fuente a ningún lugar. La página confirma si el hash del commit pertenece al manifiesto y si el manifiesto se conecta con la raíz anclada.

Paso 4: Descarga el certificado PDF o el CSV de auditoría

Para registros de cumplimiento, auditorías legales o documentación interna, Timestamp GIT proporciona dos artefactos descargables:

  • Certificado PDF: un certificado de un solo día que muestra la fecha anclada y el estado de verificación.
  • CSV de auditoría: un libro de registro completo de todos los commits anclados y sus fechas para el repositorio.

Estos son útiles cuando necesitas adjuntar evidencia a una presentación, enviar una prueba a un cliente o almacenar un registro sin conexión.

Paso 5: Verifica programáticamente con la API pública

Timestamp GIT expone endpoints de API pública para automatización. Para repositorios públicos, puedes consultar la información de estado directamente con curl.

Comprueba el último bloque de Bitcoin anclado:

curl https://timestampgit.dev/api/statusLast/your-org/your-repo

Comprueba el número total de commits confirmados y sellados:

curl https://timestampgit.dev/api/statusCount/your-org/your-repo

Obtén un resumen de estado combinado, que también se usa para las insignias de Shields.io:

curl https://timestampgit.dev/api/statusSummary/your-org/your-repo

Obtén los datos completos de la cadena de Merkle para una fecha específica:

curl https://timestampgit.dev/api/verify/your-org/your-repo/2026-09-20

Para repositorios privados, los endpoints requieren un HMAC cifrado en la URL. El HMAC se genera por instancia de servidor y solo los usuarios autorizados pueden acceder al estado de esos repositorios.

Interpretación de los resultados de verificación y casos límite

Una verificación exitosa significa que la siguiente cadena está intacta:

  • El hash del commit está presente en el manifiesto.
  • El hash del manifiesto está correctamente incluido en el árbol de Merkle.
  • La raíz de Merkle está anclada en un bloque de Bitcoin mediante OpenTimestamps.
  • Ese bloque de Bitcoin está confirmado en la blockchain.

Una vez que se cumplen esas condiciones, la marca de tiempo del commit está respaldada por la inmutabilidad de Bitcoin.

Hay algunos casos límite de tiempos y acceso que conviene entender.

Corte del lote diario. Los commits se recopilan y anclan cada noche. Un commit realizado después del corte de un día determinado aparece en el ancla del día siguiente. Si no ves un commit el día que esperabas, consulta la página de verificación del día siguiente.

Retraso de confirmación de Bitcoin. El anclaje ocurre una vez al día, pero confirmar el ancla en Bitcoin normalmente tarda alrededor de 3 horas. Los archivos de prueba se escriben después de la confirmación, por lo que la verificación está disponible unas horas después del lote nocturno.

Repositorios privados. Las URL de estado y verificación de los repositorios privados usan rutas firmadas con HMAC. Si un colega no puede abrir la página de estado, probablemente necesite acceso al enlace cifrado o al repositorio a través de la GitHub App.

Verificación de conocimiento cero. La verificación nunca revela el código fuente. Demuestra que un hash existía en ese momento, no lo que contenía el código. Esto es intencional: la prueba trata sobre la existencia, no sobre la divulgación.

¿Qué pasa si la verificación falla? Una verificación fallida podría significar que el commit no fue incluido en el lote diario, que el archivo de prueba está incompleto o que los datos han sido manipulados. Empieza comprobando la página de estado del repositorio para la fecha correcta. Si el ancla falta o está corrupta, contacta con el soporte de Timestamp GIT.

Preguntas frecuentes

¿Cómo verifico una marca de tiempo de un commit de Git con Timestamp GIT?

Puedes verificar una marca de tiempo de un commit visitando la página de estado del repositorio en Timestamp GIT, haciendo clic en la insignia de verificación de tu README o usando los endpoints de la API pública. La página de verificación muestra la cadena de Merkle y permite la verificación local en tu navegador.

¿Puedo verificar una marca de tiempo de un commit sin revelar mi código fuente?

Sí. Timestamp GIT solo usa el hash del commit, no el código fuente. La verificación se realiza contra el hash y la blockchain de Bitcoin, por lo que tu código permanece privado.

¿Cuánto tarda una marca de tiempo de un commit en ser verificable?

Las marcas de tiempo se anclan cada noche, y la confirmación de Bitcoin normalmente tarda alrededor de 3 horas. Después de eso, la prueba está disponible y es verificable.

¿Qué pasa si la verificación falla?

Si la verificación falla, puede indicar que el commit no fue incluido en el lote diario o que la prueba está corrupta. Consulta la página de estado del repositorio para obtener detalles o contacta con el soporte de Timestamp GIT.

Conclusión: confía pero verifica tu historial de Git

Un hash de commit anclado en Bitcoin solo es útil si puedes verificarlo más tarde. Las marcas de tiempo de Git por sí solas son evidencia débil. Las pruebas criptográficas son sólidas — pero solo cuando la vía de verificación es clara, repetible e independiente.

Timestamp GIT convierte esa vía de verificación en un flujo de trabajo práctico. Instala la GitHub App una vez, conecta un repositorio y cada commit se ancla automáticamente cada noche. Cuando necesites una prueba, puedes abrir el panel de estado, hacer clic en una insignia, inspeccionar la cadena de Merkle en el navegador, descargar un certificado PDF o llamar a un endpoint de la API.

Para desarrolladores, startups, agencias y equipos de cumplimiento, eso elimina el trabajo manual sin sacrificar las garantías matemáticas del anclaje en Bitcoin. Si tu siguiente paso es asegurar tu propio historial de commits, instala la GitHub App o consulta la página de precios.

Publicaciones relacionadas

EU label: AI-generated content