So weisen Sie Prior Art für Software nach: Ein Leitfaden für Entwickler
Der Nachweis von Prior Art für Software läuft auf eine präzise Frage hinaus: Können Sie zeigen, dass ein bestimmter Git-Commit an einem bestimmten Datum existierte – mit dem Nachweis, dass kein interner Server, Repository-Administrator oder Dritter ihn verändern kann? Dieser Leitfaden erklärt Schritt für Schritt, wie Sie diesen Nachweis erstellen, ohne Ihren Quellcode offenzulegen.
Sie verwenden Timestamp GIT, einen verwalteten Dienst und eine GitHub-App, die Ihre Git-Commit-Hashes über das OpenTimestamps-Protokoll in der Bitcoin-Blockchain verankert. Der Workflow: einmal installieren, normal committen und die automatische nächtliche Verankerung unveränderliche .ots-Belegdateien erzeugen lassen.
Am Ende dieses Leitfadens haben Sie:
- Die GitHub-App auf den Repositories installiert, die Sie schützen möchten.
- Konfiguriert, wohin die kryptografischen Nachweise geliefert werden.
- Einen Bitcoin-verankerten Zeitstempel für einen echten Commit ausgelöst und bestätigt.
- Den Nachweis über ein öffentliches Dashboard und ein Badge verifiziert.
- Die häufigsten Berechtigungs- und Zustellungsprobleme behoben.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:
- Ein GitHub-Konto und mindestens ein Repository, das Sie schützen möchten.
- Grundlegende Vertrautheit mit Git-Commits und -Hashes. Sie benötigen keine Kryptografie- oder Blockchain-Erfahrung.
- Ein Timestamp-GIT-Konto. Öffentliche Repositories nutzen den kostenlosen Plan; private Repositories erfordern den Pro-Agency-Plan für 49 $/Monat oder Enterprise ZK für 199 $/Monat.
- Optional: Docker, falls Sie Timestamp GIT in einer luftdichten oder Unternehmensumgebung selbst hosten möchten.
Schritt für Schritt: Einrichtung von Timestamp GIT
Der verwaltete Weg erfordert nichts auf Ihren Entwickler-Rechnern. Sie installieren die GitHub-App einmal, wählen Repositories aus, und jeder Commit wird dann automatisch jede Nacht in der Bitcoin-Blockchain verankert.
Schritt 1: Registrieren und GitHub verbinden
Gehen Sie zu Timestamp GIT und melden Sie sich mit Ihrem GitHub-Konto an. Der verwaltete SaaS-Ablauf ist der Standardweg.
Wenn Sie selbst hosten, beginnen Sie mit dem Docker-Compose-Schnellstart:
services:
timestampgit:
image: rue1401/timestampgit:prod
ports:
- "8080:8080"
volumes:
- ./data:/app/data
restart: unless-stopped
valkey:
image: valkey/valkey:8
restart: unless-stopped
Führen Sie dann Folgendes aus:
docker compose pull
docker compose up -d
docker compose logs -f timestampgit
Die selbst gehostete App ist unter http://localhost:8080 verfügbar. Beim ersten Start führt Sie ein Einrichtungsassistent durch die Verbindung Ihrer GitHub-App und das Anwenden einer Lizenzdatei.
Schritt 2: Die Timestamp-GIT-GitHub-App installieren
Installieren Sie die GitHub-App auf den Repositories, die Sie schützen möchten.
Im Standardmodus benötigt Timestamp GIT Lesezugriff auf das Quell-Repository. Das liegt nicht daran, dass es Ihren Code liest – es liest nur den HEAD-Commit-Hash –, sondern daran, dass das Berechtigungssystem von GitHub keine reine Hash-Zugriffsebene bietet.
Wenn Nachweise in ein separates Ziel-Repository geliefert werden, benötigt die App außerdem Lese-Schreib-Zugriff auf dieses Ziel-Repository.
Schritt 3: Zu überwachende Repositories auswählen
Öffnen Sie im Timestamp-GIT-Dashboard die Seite Your Repositories und wählen Sie die Repositories aus, die Sie überwachen möchten.
Jedes ausgewählte Repository wird der nächtlichen Nachweis-Pipeline hinzugefügt. Timestamp GIT prüft keine Dateiinhalte, keinen Quellcode und keine Branch-Inhalte über die für die Verankerung benötigten Commit-Hashes hinaus.
Schritt 4: Nachweis-Zustellung konfigurieren
Wählen Sie für jedes überwachte Repository, wohin die kryptografischen Nachweise geschrieben werden sollen:
- Ein dedizierter Timestamp-Branch innerhalb desselben Repositories.
- Ein separates Schatten-Repository, das privat sein kann, selbst wenn das Quell-Repository öffentlich ist.
Timestamp GIT schreibt Manifestdateien und .ots-Belege nach Bestätigung der täglichen Verankerung an diesen Ort.
Schritt 5: Optional: Enterprise-ZK-Modus aktivieren
Für Teams, die keinerlei Quellcode-Zugriff benötigen, ist der Enterprise-ZK-Modus ein stärkeres Bereitstellungsmodell.
Während der Einrichtung generiert Timestamp GIT einen 12-zeiligen GitHub-Action-Workflow. Sie fügen diese generierte Datei zu Ihrem Repository hinzu unter:
.github/workflows/timestampgit.yml
Die Action läuft auf Ihrer eigenen Infrastruktur, nicht auf den Systemen von Timestamp GIT. Sie überträgt nur den Commit-Hash an die Timestamp-GIT-API. In diesem Modus benötigt Timestamp GIT überhaupt keinen Lesezugriff auf das Quell-Repository – nur Lese-Schreib-Zugriff auf das Ziel-Repository, in dem die Nachweise zugestellt werden.
Schritt 6: Einen Commit erstellen, um den Prozess auszulösen
Sobald die Überwachung konfiguriert ist, committen und pushen Sie wie gewohnt:
git add .
git commit -m "feat: add payment webhook handler"
git push origin main
Im Standardmodus erkennt die GitHub-App den neuen HEAD-Commit-Hash automatisch. Im Enterprise-ZK-Modus sendet die GitHub Action den Hash aus Ihrer CI-Umgebung.
Schritt 7: Auf die nächtliche Bitcoin-Verankerung warten
Timestamp GIT sammelt ausstehende Commit-Hashes in einer In-Memory-Warteschlange. Jede Nacht führt ein Worker Folgendes aus:
- Gruppiert ausstehende Hashes pro Repository.
- Erstellt tägliche Manifestdateien.
- Baut einen Merkle-Baum aus den Commit-Hashes.
- Erstellt OpenTimestamps-Nachweise unter Verwendung öffentlicher OTS-Kalender.
- Verankert die Merkle-Wurzel in der Bitcoin-Blockchain.
Die Bitcoin-Bestätigung dauert normalerweise etwa 3 Stunden. Nach der Bestätigung werden die Manifest- und .ots-Belegdateien an Ihren konfigurierten Timestamp-Branch oder das Schatten-Repository übertragen.
So bestätigen Sie, dass es funktioniert hat
Sobald der nächtliche Lauf abgeschlossen ist, können Sie den Nachweis auf verschiedene Weise verifizieren.
1. Den Timestamp-Branch prüfen
Holen Sie den Timestamp-Branch und bestätigen Sie, dass Manifestdateien und .ots-Belege vorhanden sind:
git fetch origin timestamps
git ls-tree -r --name-only origin/timestamps | head
Der genaue Branch-Name hängt von Ihrer Konfiguration ab, aber das wichtige Signal ist das Vorhandensein von .ots-Dateien in Verbindung mit täglichen Manifestdaten.
2. Die öffentliche Verifikationsseite verwenden
Timestamp GIT bietet eine browserbasierte Verifikationsseite, auf der die gesamte Merkle-Chain-Berechnung lokal in Ihrem Browser stattfindet:
https://timestampgit.dev/verification/{user}/{repo}/{date}
Ersetzen Sie {user}, {repo} und {date} durch Ihr Repository und das Datum, das Sie verifizieren möchten.
3. Die Status-API prüfen
Sie können den zuletzt verankerten Bitcoin-Block über den öffentlichen Status-Endpunkt bestätigen:
curl https://timestampgit.dev/api/statusLast/acme/widget-api
Die Antwort enthält die Informationen zum zuletzt verankerten Bitcoin-Block für das Repository.
4. Ein PDF-Zertifikat herunterladen
Laden Sie für einen bestimmten Tag ein PDF-Zertifikat herunter von:
https://timestampgit.dev/api/report/{user}/{repo}/{date}
Das Audit-Ledger für das Repository ist ebenfalls als CSV verfügbar:
https://timestampgit.dev/api/audit/{user}/{repo}
5. Ein Verifikations-Badge einbetten
Das Timestamp-GIT-Dashboard bietet Badge-URLs und Copy-and-paste-Markdown-Snippets für Ihre README. Private Repositories hängen eine verschlüsselte HMAC an Badge-URLs an, sodass nur autorisierte Betrachter Statusinformationen sehen können.
Das Badge verlinkt auf eine öffentliche Verifikationsseite, auf der jeder den Nachweis prüfen kann. Die .ots-Datei selbst bleibt ein Standard-OpenTimestamps-Beleg, sodass technische Prüfer sie auch herunterladen und unabhängig gegen die Bitcoin-Blockchain mit Standard-OpenTimestamps-Tools verifizieren können.
Fehlerbehebung bei häufigen Problemen
Keine Nachweise nach 24 Stunden
Überprüfen Sie die GitHub-App-Berechtigungen. Der Standardmodus benötigt mindestens Lesezugriff auf das Quell-Repository. Bestätigen Sie außerdem, dass das Repository im Timestamp-GIT-Dashboard weiterhin ausgewählt ist.
Status eines privaten Repositories ist nicht sichtbar
Private Repositories verwenden HMAC-signierte URLs. Stellen Sie sicher, dass der Badge- oder Statuslink aus dem Timestamp-GIT-Dashboard stammt und den HMAC-Parameter enthält. Die HMAC ist spezifisch für die Serverinstanz, die sie generiert hat.
Enterprise-ZK-Action liefert keine Nachweise
Überprüfen Sie, dass die generierte Workflow-Datei unter .github/workflows/timestampgit.yml vorhanden ist und dass die GitHub Action im Repository installiert ist. Das Ziel-Repository, in dem Nachweise zugestellt werden, muss über Lese-Schreib-Zugriff aus Ihrer Action-Konfiguration verfügen.
Selbst gehostete Docker-Instanz erzeugt keine Zeitstempel
Bestätigen Sie, dass die Lizenzdatei während des Einrichtungsassistenten hochgeladen wurde. Überprüfen Sie außerdem, dass die Instanz über die erforderliche Netzwerkkonnektivität für GitHub-App-OAuth und Zeitstempel-Verankerung verfügt.
Nachweis-Verifikation schlägt fehl
Stellen Sie sicher, dass Sie die richtige .ots-Datei und das richtige Datum verifizieren. Ein Beleg für ein Repository und ein Datum validiert keinen Commit von einem anderen Tag oder Repository.
FAQ
F: Was ist Prior Art in der Software?
A: Prior Art ist der Nachweis, dass Ihre Erfindung – etwa Code, ein Algorithmus oder ein Design – vor einem bestimmten Datum existierte. Sie wird typischerweise verwendet, um Patentansprüche zu entkräften oder die Urheberschaft zu belegen.
F: Wie beweist Bitcoin-Verankerung Prior Art?
A: Ihr Git-Commit-Hash wird über das OpenTimestamps-Protokoll in eine Bitcoin-Transaktion eingebettet. Sobald er in einem Block bestätigt ist, ist der Zeitstempel unveränderlich und von jedem verifizierbar, was beweist, dass der Hash zu diesem Zeitpunkt existierte.
F: Ist Timestamp GIT für Open-Source-Projekte kostenlos?
A: Ja. Timestamp GIT bietet einen kostenlosen Plan für öffentliche Repositories. Private Repositories erfordern einen kostenpflichtigen Plan, entweder Pro Agency oder Enterprise ZK.
F: Kann ich Timestamp GIT nutzen, ohne meinen Quellcode offenzulegen?
A: Ja. Im Standardmodus werden nur Commit-Hashes gelesen – kein Quellcode. Im Enterprise-ZK-Modus überträgt eine GitHub Action nur Hashes aus Ihrer eigenen Infrastruktur, sodass der Quellcode Ihre Umgebung nie verlässt.
F: Wie lange dauert es, bis ein Zeitstempel bestätigt ist?
A: Der nächtliche Worker gruppiert und verankert Hashes nach Mitternacht. Die Bitcoin-Bestätigung dauert normalerweise etwa 3 Stunden nach der Verankerungstransaktion – erwarten Sie also, dass die .ots-Nachweisdateien kurz danach erscheinen.
Fazit
Die Git-Historie allein ist kein starker Prior-Art-Nachweis, da sie bearbeitet, gelöscht oder als eigennützig abgetan werden kann. Ein Bitcoin-verankerter OpenTimestamps-Beleg ist mathematisch schwerer zu ignorieren.
Timestamp GIT macht dies für arbeitende Entwickler praktikabel: Installieren Sie die GitHub-App einmal, wählen Sie ein Repository aus und committen Sie weiter wie gewohnt. Nächtliche Verankerung, Nachweis-Zustellung, Badges, PDF-Zertifikate und Audit-CSVs werden automatisch erledigt. Sie müssen nie OpenTimestamps-Befehle ausführen oder manuell mit der Bitcoin-Blockchain interagieren.
Starten Sie kostenlos mit öffentlichen Repositories unter Timestamp GIT.
Verwandte Beiträge
- So schützen Sie Ihre Software vor Patent-Trollen
- Skip the CLI: A Better Way to Timestamp Git Commits
- Self-Hosted Git Timestamping with Docker: A Guide