So beweisen Sie, dass Ihr Code an einem bestimmten Datum existierte (ohne ihn preiszugeben)
Die Aufgabe ist einfach formuliert, aber schwer gut zu lösen: Beweisen Sie, dass ein bestimmter Commit – oder eine gesamte Codebasis – an einem bestimmten Datum existierte, ohne Ihren Quellcode zu veröffentlichen oder sich auf Protokolle zu verlassen, die ein Gericht als eigennützig abtun könnte. Dieser Leitfaden erklärt Schritt für Schritt, wie Sie genau das mit Timestamp GIT erreichen, einer verwalteten GitHub-App, die Git-Commit-Hashes mithilfe des OpenTimestamps-Protokolls in der Bitcoin-Blockchain verankert.
Am Ende verfügen Sie über eine automatisierte Zero-Knowledge-Zeitstempelung für Ihre Git-Historie. Jeder überwachte Commit erhält eine kryptografische .ots-Quittung, eine öffentliche Verifizierungsseite und einen Weg zu gerichtsfesten Prior-Art-Beweisen – ganz ohne Installation von OpenTimestamps-Tools oder direkte Interaktion mit Bitcoin-Transaktionen.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:
- Ein GitHub-Konto.
- Ein Repository, das Sie mit Zeitstempeln versehen möchten – öffentlich oder privat.
- Zugriff zur Installation der Timestamp GIT GitHub App von timestampgit.dev.
- Grundlegende Vertrautheit mit
git commitundgit push. Keine Kryptografie- oder Blockchain-Kenntnisse erforderlich. - Für den Enterprise-ZK-Modus: eine von Timestamp GIT bereitgestellte GitHub-Actions-Workflow-Datei sowie ein Ziel-Repository, in das die Nachweise geschrieben werden.
- Optional: Wenn Sie eine Air-Gap- oder selbst gehostete Einrichtung benötigen, eine Timestamp-GIT-Docker-Lizenz.
Die Preisgestaltung passt sich dem Anwendungsfall an: Öffentliche Repositories können die kostenlose Stufe nutzen, private Repositories sind über Pro Agency für 49 $/Monat abgedeckt, und der Enterprise-ZK-Modus mit GitHub Actions beginnt bei 199 $/Monat.
Schritt für Schritt: Automatische Zeitstempelung einrichten
Schritt 1: Installieren Sie die Timestamp GIT GitHub App
Gehen Sie zu timestampgit.dev und installieren Sie die Timestamp GIT GitHub App aus dem GitHub Marketplace.
Die Berechtigungen, die Sie erteilen, hängen von Ihrem Modus ab:
- Standardmodus: Timestamp GIT benötigt Lesezugriff auf das Quell-Repository, da GitHub keine Berechtigung „nur Commit-Hash“ anbietet. Es liest ausschließlich den HEAD-Commit-Hash, niemals Dateiinhalte.
- Enterprise-ZK-Modus: Timestamp GIT benötigt überhaupt keinen Lesezugriff auf das Quell-Repository. Sie benötigen lediglich Schreibzugriff auf ein separates Ziel-Repository, in dem die Nachweisdateien abgelegt werden.
In beiden Modi erhält das Ziel-Repository einen dedizierten Branch oder ein Shadow-Repository mit den Nachweisen.
Schritt 2: Wählen Sie die zu überwachenden Repositories aus
Öffnen Sie nach der Installation das Repository-Dashboard unter timestampgit.dev/repos. Dort sehen Sie die Repositories, die Sie überwachen können.
Wählen Sie die Quell-Repositories aus, die automatisch mit Zeitstempeln versehen werden sollen. Wenn Sie ein separates Shadow-Repository für Nachweise verwenden, wählen Sie dieses als Ziel aus.
Schritt 3: Wählen Sie Ihren Bereitstellungsmodus
Timestamp GIT bietet zwei Modi:
- Standardmodus: Die GitHub-App erkennt neue Commits automatisch über Webhooks und liest nur den Commit-Hash.
- Enterprise-ZK-Modus: Eine kurze GitHub Action läuft auf Ihrer eigenen Infrastruktur und übermittelt nur den Commit-Hash an die Timestamp-GIT-API. Ihr Quellcode verlässt niemals Ihre Umgebung.
Für die meisten Teams ist der Standardmodus der schnellste Weg. Für strenge Compliance-Anforderungen oder private Quellcode-Umgebungen ist der Enterprise-ZK-Modus die stärkere Zero-Knowledge-Option.
Schritt 4: Fügen Sie im Enterprise-ZK-Modus den GitHub-Actions-Workflow hinzu
Wenn Sie den Enterprise-ZK-Modus wählen, stellt Timestamp GIT eine 12-zeilige Workflow-Datei bereit. Eine vereinfachte Version sieht so aus:
# .github/workflows/timestamp-git.yml
name: timestamp-git
on:
push:
branches: ["**"]
jobs:
timestamp:
runs-on: ubuntu-latest
steps:
- name: Send commit hash to Timestamp GIT
env:
TIMESTAMP_GIT_SIGNED_URL: ${{ secrets.TIMESTAMP_GIT_SIGNED_URL }}
run: |
curl -f -X POST "$TIMESTAMP_GIT_SIGNED_URL"
Der echte Workflow verwendet eine signierte URL, die im Timestamp-GIT-Dashboard generiert wird. Diese URL enthält den HMAC-Wert und die Commit-Kennung, sodass die Action niemals Quellcode verarbeitet – nur den Hash.
Schritt 5: Erstellen Sie einen Commit
Erstellen Sie nun einen normalen Commit und pushen Sie ihn in das überwachte Repository:
git add .
git commit -m "feat: add rate limiter"
git push origin main
Im Standardmodus erkennt die GitHub-App den neuen Commit über einen Webhook. Im Enterprise-ZK-Modus übermittelt die GitHub Action den Commit-Hash an die Timestamp-GIT-API, sobald der Push erfolgt.
Schritt 6: Warten Sie auf den nächtlichen Batch-Prozess
Timestamp GIT verankert nicht jeden Commit einzeln in Echtzeit. Stattdessen läuft ein nächtlicher Cron-Worker um Mitternacht:
- Er sammelt alle ausstehenden Commit-Hashes.
- Er gruppiert sie in tägliche Manifest-Dateien.
- Er baut einen Merkle-Baum auf.
- Er erstellt OpenTimestamps-Nachweise mithilfe öffentlicher OTS-Kalender.
- Er verankert die Merkle-Wurzel in der Bitcoin-Blockchain.
Die Bitcoin-Bestätigung dauert normalerweise etwa drei Stunden. Danach ist der Nachweis unveränderlich – keine Instanz, einschließlich Timestamp GIT oder Sie selbst, kann ihn verändern.
Schritt 7: Rufen Sie Ihren Nachweis ab
Sobald der nächtliche Prozess abgeschlossen ist, pusht Timestamp GIT die Manifest- und .ots-Quittungsdateien zurück in Ihren dedizierten Timestamps-Branch oder Ihr Shadow-Repository.
Sie können die Nachweisdateien auch direkt aus dem Timestamp-GIT-Dashboard herunterladen. Die wichtigsten Artefakte sind:
- Die tägliche Manifest-Datei, die die Commit-Hashes enthält.
- Die
.ots-Quittungsdatei für jede verankerte Charge. - Audit-Metadaten mit den Bitcoin-Block- und Transaktionsinformationen.
So bestätigen Sie, dass es funktioniert hat (Verifizierung)
Die Verifizierung ist der Punkt, an dem Timestamp GIT einen Git-Hash in etwas verwandelt, das Sie einem Anwalt, Prüfer oder Gericht vorlegen können.
Prüfen Sie die Repository-Statusseite
Öffnen Sie https://timestampgit.dev/status/{user}/{repo}. Dieses öffentliche Dashboard zeigt:
- Die neuesten verankerten Bitcoin-Block- und Transaktionsdetails.
- Das früheste Verankerungsdatum für das Repository.
- Die tägliche Regelmäßigkeit der Zeitstempelung.
- Eine Kalender-Heatmap der verankerten Commits.
- Herunterladbares Audit-CSV und PDF-Zertifikat.
Führen Sie die browserbasierte Merkle-Verifizierung durch
Öffnen Sie für einen bestimmten Tag https://timestampgit.dev/verification/{user}/{repo}/{date}. Diese Seite führt die Merkle-Ketten-Verifizierung Schritt für Schritt durch.
Die gesamte Berechnung erfolgt lokal in Ihrem Browser. Timestamp GIT sieht nie, was Sie verifizieren – es handelt sich um einen Zero-Knowledge-Verifizierungsablauf.
Laden Sie formelle Aufzeichnungen herunter
Verwenden Sie das Dashboard oder die API, um Folgendes herunterzuladen:
- Ein PDF-Zertifikat für ein bestimmtes Datum.
- Ein vollständiges Audit-Protokoll als CSV.
Diese sind nützlich für Vertragsstreitigkeiten, IP-Due-Diligence und juristische Beweissicherung.
Fügen Sie ein Verifizierungs-Badge zu Ihrer README hinzu
Timestamp GIT stellt einbettbare Shields.io-Badge-Snippets von https://timestampgit.dev/connected/{user}/{repo} bereit. Platzieren Sie das generierte Markdown in Ihrer README, um den Verifizierungsstatus öffentlich anzuzeigen.
Beachten Sie, dass private Repositories ein verschlüsseltes HMAC verwenden, das an die Badge-URL angehängt wird. Nur autorisierte Benutzer können den Status für private Repositories sehen.
Unabhängige Verifizierung
Wenn Sie jemals außerhalb der Timestamp-GIT-Oberfläche verifizieren möchten, können Sie die .ots-Quittungsdatei herunterladen und standardmäßige OpenTimestamps-Verifizierungstools gegen die Bitcoin-Blockchain ausführen. Die browserbasierte Verifizierungsseite des Produkts übernimmt dies bereits für Sie, aber die Quittung bleibt für immer unabhängig verifizierbar.
Fehlerbehebung bei häufigen Problemen
Keine Commits erkannt
Überprüfen Sie, ob die GitHub-App im richtigen Repository installiert ist und über die für Ihren Modus erforderlichen Berechtigungen verfügt. Sehen Sie sich in den GitHub-Einstellungen die Webhook-Zustellungen an, um festzustellen, ob Timestamp GIT das Push-Ereignis empfangen hat.
Nachweis erscheint nach einem Tag nicht
Denken Sie daran, dass die Bitcoin-Verankerung mehrere Stunden dauert – normalerweise etwa drei Stunden. Bestätigen Sie, dass der nächtliche Cron-Job ausgeführt wurde und dass der Ziel-Branch neue Dateien erhalten hat. Wenn Sie sich im Standardmodus befinden, prüfen Sie, ob das Ziel-Repository beschreibbar ist.
Badge zeigt „Unverifiziert“ an
Wenn das Repository privat ist, funktioniert das öffentliche Badge nicht, es sei denn, Sie verwenden die HMAC-signierte URL aus dem Badge-Widget. Stellen Sie bei öffentlichen Repositories sicher, dass Sie das exakte Snippet verwenden, das von Timestamp GIT generiert wurde.
Enterprise-ZK-Modus sendet keine Hashes
Öffnen Sie die GitHub-Actions-Workflow-Protokolle und suchen Sie nach Fehlern. Bestätigen Sie Folgendes:
- Die signierte URL im Repository-Secret ist noch gültig.
- Das Ziel-Repository ist erreichbar.
- Der Workflow wird bei den richtigen Push-Ereignissen ausgeführt.
Probleme mit der selbst gehosteten Docker-Instanz
Wenn Sie das Docker-Image ausführen, überprüfen Sie die Compose-Einrichtung und die Protokolle:
docker compose pull
docker compose up -d
docker compose logs -f timestampgit
Überprüfen Sie außerdem, ob die Lizenzdatei gültig ist und am erwarteten Ort eingebunden wird. Die App ist nach dem Start unter http://localhost:8080 verfügbar.
FAQ
Wie beweist Timestamp GIT, dass mein Code an einem Datum existierte, ohne meinen Code zu sehen?
Timestamp GIT extrahiert nur den Git-Commit-Hash – einen kryptografischen Einweg-Fingerabdruck – und verankert diesen Hash in der Bitcoin-Blockchain. Der eigentliche Quellcode verlässt niemals Ihr Repository. Da der Hash nicht umgekehrt werden kann, um den Code preiszugeben, beweist der Zeitstempel, dass der Hash zu diesem Zeitpunkt existierte, was wiederum beweist, dass der Code existierte.
Kann ich Timestamp GIT für private Repositories verwenden?
Ja. Timestamp GIT bietet Tarife für private Repositories. Im Standardmodus benötigt die GitHub-App Lesezugriff auf das Quell-Repository, um Commit-Hashes zu erkennen, liest aber niemals Dateiinhalte. Im Enterprise-ZK-Modus sendet eine GitHub Action nur den Commit-Hash an die API, sodass die App überhaupt keinen Zugriff auf das Quell-Repository hat.
Was passiert, wenn Timestamp GIT sein Geschäft aufgibt? Kann ich meine Zeitstempel trotzdem verifizieren?
Ihre Zeitstempel bleiben für immer verifizierbar. Die Nachweise basieren auf der Bitcoin-Blockchain und dem OpenTimestamps-Protokoll, die beide unabhängig von Timestamp GIT sind. Sie können die .ots-Quittungsdateien herunterladen und lokal mit standardmäßigen OpenTimestamps-Tools gegen die Bitcoin-Blockchain verifizieren, ohne auf die Server von Timestamp GIT angewiesen zu sein.
Ist der Zeitstempel vor Gericht rechtsverbindlich?
Kein Zeitstempel kann ein bestimmtes rechtliches Ergebnis garantieren. Kryptografische Zeitstempel, die in der Bitcoin-Blockchain verankert sind, werden jedoch zunehmend als starke Beweise für die Existenz zu einem bestimmten Zeitpunkt anerkannt. Sie bieten eine manipulationssichere, mathematisch verifizierbare Aufzeichnung, die in Gerichtsverfahren vorgelegt werden kann, um Ansprüche auf Prior Art oder Urheberschaft zu untermauern. Sie sollten Rechtsberatung zur Zulässigkeit in Ihrem Rechtsraum einholen.
Fazit
Sie haben nun die automatische Zero-Knowledge-Zeitstempelung für Ihre Git-Commits mit Timestamp GIT eingerichtet. Statt fragiler interner Protokolle oder des manuellen Erlernens eines kryptografischen Protokolls haben Sie einmalig eine GitHub-App installiert, ein Repository verbunden und nächtliche Prozesse Commit-Hashes in Bitcoin verankern lassen.
Das Ergebnis ist ein unveränderlicher Nachweis von Prior Art, unabhängig von jedem Anbieter, erzeugt ohne Preisgabe des Quellcodes. Beginnen Sie mit der kostenlosen Stufe für öffentliche Repositories oder erkunden Sie die selbst gehostete Docker-Option, wenn Sie Air-Gap-Infrastruktur benötigen.
Für tiefergehende Einblicke sehen Sie sich die folgenden verwandten Beiträge an.
Verwandte Beiträge
- Protect Your Startup from Patent Trolls with Git Timestamping
- How Dev Shops Can Prove Work Delivery with Timestamp GIT
- Proof of Existence for Code: What It Is and Why It Matters