Cómo verificar las marcas de tiempo de tus commits de Git
Cómo verificar las marcas de tiempo de tus commits de Git
Una marca de tiempo de un commit de Git es una afirmación. La verificación es la prueba. En Git, las fechas de los commits son metadatos mutables: git commit --date puede establecer fechas arbitrarias, el rebase reescribe el historial y el force-push puede reescribir un remoto compartido. Si dependes de las marcas de tiempo de los commits para demostrar el estado de la técnica anterior, necesitas algo más sólido que una cadena de fecha en tu registro.
Timestamp GIT cierra esa brecha anclando los hashes de tus commits de Git en la blockchain de Bitcoin mediante el protocolo OpenTimestamps. Es un SaaS gestionado y una GitHub App: instala la aplicación una vez, conecta un repositorio y cada commit se ancla automáticamente cada noche. Sin herramientas de CLI, sin pasos manuales de protocolo.
Este artículo se centra en el lado de la verificación: cómo es una prueba, cómo comprobarla con las herramientas integradas de Timestamp GIT y cómo interpretar el resultado. Si necesitas la motivación completa de por qué esto importa en disputas de patentes, consulta Defiende tu software contra los trolls de patentes con marcas de tiempo.
Por qué la verificación importa para el estado de la técnica de tu código
Una marca de tiempo solo es valiosa si puedes demostrarla más adelante. Los registros internos de Git normalmente fallan esa prueba porque viven en servidores que no controlas por completo o en bases de datos que pueden editarse. En una auditoría legal o una revisión de cumplimiento, esos registros suelen descartarse por considerarse interesados.
Timestamp GIT genera pruebas criptográficas ancladas en Bitcoin. Eso cambia la ecuación:
- Público: El ancla está incrustada en la blockchain de Bitcoin, donde cualquiera puede verificarla.
- Inmutable: Una vez que un bloque de Bitcoin está confirmado, ninguna entidad —incluida Timestamp GIT— puede alterar o falsificar el ancla.
- Conocimiento cero: La verificación ocurre sin revelar tu código fuente. El servicio lee solo los hashes de los commits, nunca los archivos subyacentes.
- Independiente: La prueba se basa en SHA-256 y en los datos de bloques de Bitcoin. No depende de que Timestamp GIT siga en línea.
Dado que la prueba solo involucra hashes de commits, cualquiera puede verificar que un commit dado existió en un momento dado sin acceso a tu código fuente. Eso convierte la verificación en un paso práctico que puedes delegar a un abogado, auditor u oficial de cumplimiento.
Cómo es una prueba de Timestamp GIT
Cuando conectas un repositorio a la GitHub App de Timestamp GIT, el servicio no lee tu código. Lee solo los hashes de los commits. Cada noche, un worker recopila los hashes pendientes en un archivo de manifiesto por repositorio, construye un árbol de Merkle, crea pruebas OpenTimestamps y ancla la raíz de Merkle en la blockchain de Bitcoin.
Los artefactos de prueba resultantes se envían a una rama de marcas de tiempo dedicada o a un repositorio espejo. Una rama de marcas de tiempo típica puede verse conceptualmente así:
timestamps/
└── 2026/
└── 08/
└── 22/
├── manifest.txt
└── manifest.txt.ots
Los dos archivos clave son:
manifest.txt: El archivo de manifiesto diario. Agrupa los hashes de los commits de ese repositorio y fecha.- Archivo de recibo
.ots: La prueba criptográfica. Contiene el digest, las atestaciones de calendario y los datos de la cabecera del bloque de Bitcoin necesarios para demostrar que el manifiesto fue anclado en un bloque y transacción específicos de Bitcoin.
La prueba es autocontenida. Puedes descargar el archivo .ots y verificarlo contra la blockchain de Bitcoin usando herramientas estándar de verificación OpenTimestamps, completamente sin conexión y sin la infraestructura de Timestamp GIT. Timestamp GIT te da el camino amigable; la prueba subyacente sigue siendo tuya.
Verificación paso a paso usando las herramientas de Timestamp GIT
Timestamp GIT proporciona varias superficies de verificación. Puedes usar la que mejor se adapte a tu flujo de trabajo.
1. Consulta la página de estado pública
Para cualquier repositorio conectado, navega a:
https://timestampgit.dev/status/{user}/{repo}
Reemplaza {user} con tu usuario u organización de GitHub y {repo} con el nombre del repositorio.
La página de estado muestra la longevidad de la prueba, la fecha de anclaje más temprana, la regularidad diaria, los datos de bloques y transacciones de Bitcoin, y un mapa de calor de calendario. Desde allí también puedes descargar un CSV de auditoría o un certificado PDF para una fecha específica.
Para repositorios públicos, cualquiera puede visitar esta página. Para repositorios privados, el acceso está restringido por un HMAC cifrado, de modo que solo los usuarios autorizados pueden ver el estado.
2. Inserta una insignia de verificación en tu README
Las marcas de tiempo en un repositorio se vuelven más útiles cuando tus colaboradores, clientes o auditores pueden verlas de un vistazo. Timestamp GIT proporciona insignias de Shields.io integrables.
Primero, obtén el fragmento de la insignia desde el endpoint autenticado:
curl https://timestampgit.dev/api/badgeLink/your-org/your-repo
La respuesta incluye una URL de insignia y un fragmento de markdown listo para pegar:
{
"badgeUrl": "https://img.shields.io/endpoint?url=https://timestampgit.dev/api/statusSummary/your-org/your-repo",
"markdown": "[](https://timestampgit.dev/status/your-org/your-repo)"
}
Pega el markdown en tu README.md. La insignia enlaza a la página de estado pública, de modo que cualquiera puede hacer clic y verificar la última marca de tiempo.
3. Ejecuta la página de verificación criptográfica
La página de verificación te da una vista paso a paso de la cadena de Merkle para un día específico:
https://timestampgit.dev/verification/{user}/{repo}/{date}
Por ejemplo, para verificar un repositorio con marca de tiempo del 22 de agosto de 2026:
https://timestampgit.dev/verification/your-org/your-repo/2026-08-22
Esta página muestra la verificación de la cadena de Merkle de varios niveles. Todo el cálculo criptográfico ocurre localmente en tu navegador: Timestamp GIT no ve lo que verificas.
Si prefieres trabajar con los datos crudos de la cadena de Merkle de forma programática, usa el endpoint público de verificación:
curl https://timestampgit.dev/api/verify/your-org/your-repo/2026-08-22
4. Descarga un certificado PDF
Para reuniones, disputas legales o archivos de cumplimiento, a menudo necesitas un documento portátil. Timestamp GIT puede generar un certificado PDF para una fecha específica.
Desde la página de estado, usa la opción de descarga. O llama directamente al endpoint de informe:
curl -o timestamp-proof-2026-08-22.pdf \
https://timestampgit.dev/api/report/your-org/your-repo/2026-08-22
El PDF incluye los detalles de la prueba para esa fecha y está formateado para revisión humana.
5. Usa la API pública para automatización
Si quieres integrar la verificación en comprobaciones de CI/CD, paneles internos o scripts de cumplimiento, Timestamp GIT expone endpoints de estado públicos.
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
Comprueba un resumen combinado que puede ser consumido por Shields.io:
curl https://timestampgit.dev/api/statusSummary/your-org/your-repo
Una respuesta típica de statusSummary se ve así:
{
"schemaVersion": 1,
"label": "timestamped",
"message": "42 commits",
"color": "brightgreen"
}
Interpretación de los resultados de verificación y casos límite
Una verificación exitosa significa que se mantuvo la siguiente cadena:
- Tu hash de commit fue incluido en el manifiesto diario del repositorio.
- El manifiesto fue incluido en un árbol de Merkle.
- La raíz de Merkle fue anclada en una transacción de Bitcoin.
- Esa transacción fue confirmada en un bloque de Bitcoin.
En lenguaje sencillo: el hash del commit existía antes del tiempo del bloque de Bitcoin. Ese tiempo de bloque se convierte en el límite superior para tu reclamación de estado de la técnica anterior.
Pruebas pendientes y retraso de confirmación
Timestamp GIT agrupa los commits cada noche. Después de crear el lote, la red de Bitcoin debe confirmar la transacción de anclaje. Esto normalmente tarda unas horas. Un commit hecho hoy puede no aparecer como completamente verificado hasta el día siguiente.
La página de estado es tu amiga aquí: muestra la fecha de anclaje más temprana y la regularidad diaria, de modo que puedes ver si un repositorio está en calendario o si un día específico sigue pendiente.
Repositorios privados y acceso HMAC
Los enlaces de verificación para repositorios privados incluyen un HMAC cifrado. Este HMAC es específico de la instancia del servidor de Timestamp GIT y evita que usuarios no autorizados vean información de estado privada.
La GitHub App en sí requiere permisos apropiados para acceder a repositorios privados. Sin esos permisos, Timestamp GIT no puede leer el hash del commit en primer lugar.
Independencia de Timestamp GIT
Los archivos de recibo .ots no están vinculados a los servidores de Timestamp GIT. Son pruebas construidas sobre el protocolo OpenTimestamps y ancladas en Bitcoin. Incluso si Timestamp GIT desaparece, aún puedes verificar los recibos usando herramientas estándar de OpenTimestamps contra la blockchain de Bitcoin.
Para un libro mayor completo de todas las marcas de tiempo de un repositorio, descarga el CSV de auditoría:
curl -o audit-ledger.csv https://timestampgit.dev/api/audit/your-org/your-repo
Este CSV es útil para descubrimiento legal, auditorías internas o para mostrar un historial continuo de marcas de tiempo.
Preguntas frecuentes
¿Puedo verificar una marca de tiempo de un commit de Git sin instalar ningún software?
Sí. Timestamp GIT proporciona una página de verificación basada en web donde todas las comprobaciones criptográficas se ejecutan localmente en tu navegador. También puedes usar la página de estado pública o la insignia integrable para ver el estado de verificación sin ninguna instalación.
¿Qué pasa si Timestamp GIT quiebra? ¿Puedo seguir verificando mis marcas de tiempo?
Absolutamente. Las pruebas se basan en el protocolo OpenTimestamps y están ancladas en la blockchain de Bitcoin. Puedes descargar el archivo de recibo .ots y verificarlo usando herramientas estándar de OpenTimestamps contra la blockchain de Bitcoin, independientemente de Timestamp GIT.
¿Cuánto tarda un commit en ser verificable?
Timestamp GIT agrupa los commits diariamente y los ancla en la blockchain de Bitcoin. La confirmación normalmente tarda unas horas después de que se procesa el lote diario. La página de estado muestra la fecha de anclaje más temprana y la regularidad diaria.
¿Puedo verificar marcas de tiempo para repositorios privados?
Sí, pero el acceso está restringido. Los enlaces de verificación para repositorios privados incluyen un HMAC cifrado, de modo que solo los usuarios autorizados pueden ver el estado. La GitHub App requiere permisos apropiados para acceder a repositorios privados.
¿Qué pasa si elimino la GitHub App?
Los recibos .ots y manifiestos ya generados permanecen en tu repositorio y aún pueden verificarse de forma independiente. Los nuevos commits no se sellarán automáticamente hasta que reinstales la GitHub App.
Conclusión: Confía pero verifica
La verificación es donde una marca de tiempo se convierte en una prueba. Timestamp GIT elimina la carga operativa de crear esas pruebas mientras te da formas simples y amigables para desarrolladores de comprobarlas: una página de estado pública, insignias de README, un visor de cadena de Merkle basado en navegador, certificados PDF, CSVs de auditoría y APIs públicas.
No tienes que aprender comandos crudos de OpenTimestamps, ejecutar un nodo de Bitcoin ni gestionar recibos manualmente. La GitHub App maneja el pipeline; las páginas de verificación manejan el resto. Pero como la prueba subyacente es estándar y está anclada en Bitcoin, nunca estás atrapado.
Si aún no has empezado a sellar con marcas de tiempo, el camino más rápido es instalar la GitHub App de Timestamp GIT, conectar un repositorio y ver aparecer el primer anclaje nocturno. Si necesitas una configuración aislada o autohospedada, Timestamp GIT también está disponible como imagen de Docker con una licencia de demostración limitada en el tiempo.
Empieza en https://timestampgit.dev.
Publicaciones relacionadas
- Defiende tu software contra los trolls de patentes con marcas de tiempo
- OpenTimestamps vs Timestamp GIT: ¿Cuál es el adecuado para tu código?
- Configura el sellado automático de marcas de tiempo de commits de Git en minutos