Was ist ein Existenznachweis für Software-Code?
Für Entwickler und Compliance-Teams geht es beim „Existenznachweis“ nicht darum, Eigentum oder Urheberschaft zu beweisen. Er beantwortet eine einzige, eng gefasste Frage: Hat genau dieser Code zu genau diesem Zeitpunkt existiert? In einer Welt, in der Git-Verläufe umgeschrieben, Dateizeitstempel geändert und interne Protokolle oft als eigennützig abgetan werden können, bedeutet ein Existenznachweis für Software-Code, einen kryptografischen Fingerabdruck Ihrer Arbeit in einem unveränderlichen öffentlichen Ledger zu verankern.
Dieser Artikel erklärt, was ein Existenznachweis bedeutet, wie er technisch funktioniert und wie Timestamp GIT daraus einen GitHub-Workflow ohne Einrichtungsaufwand macht.
Was bedeutet „Existenznachweis“ für Code?
Ein Existenznachweis für Software-Code ist die Fähigkeit zu demonstrieren, dass ein bestimmter Code – genauer gesagt ein kryptografischer Hash dieses Codes – zu einem bestimmten Zeitpunkt existiert hat.
Dieser letzte Punkt ist entscheidend. Sie müssen Ihren Quellcode nicht veröffentlichen und ihn auch nicht an einen Drittanbieter hochladen. Stattdessen erstellen Sie einen Einweg-Fingerabdruck des Repository-Zustands und zeichnen diesen Fingerabdruck an einem öffentlichen, manipulationssicheren Ort auf.
Zum besseren Verständnis der Unterschiede:
- Existenznachweis zeigt, dass ein bestimmter Code-Zustand an einem bestimmten Datum existiert hat.
- Urheberschaftsnachweis zeigt, wer diesen Code erstellt oder committet hat.
- Eigentumsnachweis ist eine rechtliche Schlussfolgerung, die auf Urheberschaft, Arbeitsverträgen, Abtretungen oder anderen Beweisen basiert.
Ein in der Blockchain verankerter Zeitstempel beweist nicht, dass Sie den Code geschrieben haben. Er beweist, dass der Code zu diesem Zeitpunkt existiert hat. In vielen Streitfällen reicht dieser Unterschied aus – denn wenn Ihre Implementierung vor der Patentanmeldung oder dem Anspruch eines anderen existierte, wird die Zeitlinie mathematisch verankert.
So sieht der Fingerabdruck in Git aus:
# Git erstellt einen eindeutigen Fingerabdruck für den exakten Repository-Zustand
git rev-parse HEAD
# 6f1ed002ab5595859012f3f9b6b4c2b1e1c9a2e5
Dieser Hash repräsentiert den vollständigen Repository-Zustand zum Zeitpunkt des Commits. Ändern Sie ein einziges Byte, und der Hash ändert sich vollständig. Der Hash selbst kann nicht umgekehrt werden, um Ihren Quellcode offenzulegen.
Eine einfache Analogie: Der Notar und der Tresor
Stellen Sie sich vor, Sie gehen mit einem versiegelten Umschlag zu einem Notar. Der Notar öffnet ihn nicht. Stattdessen notiert er das Datum, bringt außen einen Stempel an und unterschreibt einen Eintrag im Register. Jahre später können Sie den Umschlag vor Gericht öffnen und zeigen, dass der Inhalt an diesem Datum existiert hat, weil die Aufzeichnung des Notars unabhängig und manipulationssicher ist.
Der Existenznachweis für Software funktioniert genauso, nur dass der „Umschlag“ ein kryptografischer Hash und der „Notar“ die Bitcoin-Blockchain ist.
- Sie halten den Code privat. Der Notar – in diesem Fall der Zeitstempeldienst und das öffentliche Ledger – sieht nur den Fingerabdruck.
- Die Aufzeichnung ist unabhängig. Die Bitcoin-Blockchain ist ein öffentliches Ledger, das kein einzelner Anbieter kontrolliert. Sobald eine Transaktion in einem Block bestätigt ist, ist die Änderung dieser Aufzeichnung rechnerisch praktisch unmöglich.
- Der Beweis überdauert den Anbieter. Da der Beweis in Bitcoin verankert ist, können Sie ihn auch dann verifizieren, wenn der Zeitstempeldienst verschwindet.
Diese Analogie hilft nicht-technischen Beteiligten zu verstehen, warum ein Blockchain-Zeitstempel sich von einem internen Git-Protokoll unterscheidet. Ein internes Protokoll liegt auf Infrastruktur, die Sie kontrollieren oder mieten. Ein in Bitcoin verankerter Beweis ist öffentlich, unveränderlich und unabhängig verifizierbar.
Wie der Existenznachweis technisch funktioniert
Der Prozess lässt sich in drei Schritte unterteilen.
Schritt 1: Fingerabdruck
Git übernimmt den ersten Schritt bereits für Sie. Jeder Commit erhält einen eindeutigen Hash – SHA-1 in älteren Git-Versionen, mit SHA-256-Unterstützung in neueren Repositories – der den vollständigen Repository-Zustand zu diesem Zeitpunkt abdeckt.
Dieser Hash ist nicht Ihr Code. Er ist ein mathematischer Digest mit fester Größe. Sie können den Quellcode daraus nicht rekonstruieren, und derselbe Code-Zustand erzeugt immer denselben Hash.
Schritt 2: Verankerung
Der nächste Schritt besteht darin, den Hash in einem öffentlichen Ledger zu verankern. Timestamp GIT sammelt Commit-Hashes und gruppiert sie in tägliche Manifest-Dateien. Es baut einen Merkle-Baum aus diesen Hashes auf und erstellt OpenTimestamps-Proofs. Die Merkle-Wurzel wird dann in einer Bitcoin-Transaktion verankert.
Sobald diese Transaktion in einem Bitcoin-Block bestätigt ist, wird der Zeitstempel unveränderlich. Es gibt keinen Löschknopf, kein administratives Überschreiben und keine proprietäre Datenbank, die später bearbeitet werden kann.
Der Ablauf sieht so aus:
Commit-Hash -> Tägliches Manifest -> Merkle-Baum -> Bitcoin-Transaktion -> .ots-Beleg
Schritt 3: Beweis
Das Ergebnis ist ein kryptografischer Beleg, typischerweise eine .ots-Datei. Dieser Beleg ermöglicht es jedem, den Zeitstempel mithilfe der Standard-OpenTimestamps-Werkzeuge gegen die Bitcoin-Blockchain zu verifizieren.
Das ist wichtig: Der Beweis basiert auf SHA-256 und Bitcoin-Blockdaten. Es gibt keine Bindung an das Format oder die Infrastruktur eines einzelnen Anbieters. Selbst wenn der SaaS-Anbieter nicht mehr existiert, bleibt der Beweis verifizierbar.
Dies manuell mit den rohen OpenTimestamps-Werkzeugen zu tun, ist möglich, bedeutet aber, sich selbst um Kalender, Merkle-Bäume und die Überwachung von Bitcoin-Bestätigungen zu kümmern. Genau diese manuelle Komplexität entfernt Timestamp GIT, indem es die Pipeline hinter einer GitHub-App automatisiert.
Warum der Existenznachweis für Entwickler und Compliance wichtig ist
Der Existenznachweis ist wichtig, weil der Zeitpunkt oft die zentrale Frage in IP-Streitigkeiten ist.
- Patent-Trolle: Eine häufige Verteidigung gegen ein breit gefasstes Software-Patent ist der Stand der Technik. Wenn Sie zeigen können, dass Ihr Code vor dem Anmeldedatum existierte, kann der Patentanspruch ungültig sein. Der Existenznachweis verwandelt Ihr privates Repository in eine datierte, verifizierbare Aufzeichnung des Stands der Technik. Weitere Details finden Sie unter How to Prove Your Code Existed Before a Patent Filing.
- Mitarbeiter- und Kundenstreitigkeiten: Wenn ein Entwickler das Unternehmen verlässt oder ein Kunde infrage stellt, wann ein Meilenstein abgeschlossen wurde, ist ein mit Zeitstempel versehener Commit-Hash stärker als ein exportierter Chat-Verlauf oder ein bearbeiteter Git-Verlauf.
- Compliance und Governance: Teams, die Audit-Trails für Sicherheitsprüfungen, Due Diligence oder interne Governance benötigen, können eine regelmäßige, verifizierbare Aufzeichnung darüber vorweisen, wann Code-Zustände existierten.
Es gibt auch häufige Missverständnisse, die geklärt werden sollten.
- Es ist keine Urheberrechtsregistrierung. Ein Blockchain-Zeitstempel ersetzt keine Urheberrechtsregistrierung und beweist für sich genommen keine Urheberschaft.
- Er beweist nicht, wer den Code geschrieben hat. Er beweist, dass ein bestimmter Hash zu einem bestimmten Zeitpunkt existierte. Für die Urheberschaft sind weiterhin Beschäftigungsunterlagen, Commit-Metadaten oder andere Beweise erforderlich.
- Es ist nicht „nur ein internes Protokoll". Der Git-Verlauf kann umgeschrieben, per Force-Push überschrieben oder verloren gehen. Ein in Bitcoin verankerter Beweis ist extern, öffentlich und mathematisch verifizierbar.
Wie Timestamp GIT den Existenznachweis mühelos macht
Timestamp GIT ist eine verwaltete SaaS- und GitHub-App, die die gesamte Existenznachweis-Pipeline automatisiert. Sie müssen keine OpenTimestamps-Befehle ausführen, keine Kalender verwalten und nicht direkt mit Bitcoin interagieren.
Der primäre Workflow ist:
- Installieren Sie die GitHub-App einmal.
- Wählen Sie die Repositories aus, die Sie überwachen möchten.
- Committen Sie Code wie gewohnt weiter.
Jede Nacht gruppiert Timestamp GIT automatisch die ausstehenden Commit-Hashes, baut einen Merkle-Baum auf, erstellt OpenTimestamps-Proofs und verankert die Merkle-Wurzel in der Bitcoin-Blockchain. Nach der Bitcoin-Bestätigung – normalerweise nach etwa drei Stunden – werden die Manifest- und .ots-Belegdateien zurück in einen dedizierten Timestamps-Branch oder ein Shadow-Repository gepusht.
Wesentliche Merkmale:
- Zero-Knowledge by Design. Timestamp GIT sieht, kopiert oder speichert Ihren Quellcode niemals. Es verarbeitet ausschließlich Commit-Hashes.
- Keine manuellen Schritte. Es müssen keine CLI-Tools auf Entwickler-Rechnern installiert und keine rohen Bitcoin-Transaktionen erstellt werden.
- Flexible Bereitstellung. Der Standard-Modus nutzt die GitHub-App und benötigt Lesezugriff auf das Quell-Repository sowie Lese-/Schreibzugriff auf das Ziel-Repository. Der Enterprise-ZK-Modus verwendet eine GitHub Action in Ihrer Infrastruktur, um nur den Commit-Hash an die Timestamp-GIT-API zu senden, sodass der Dienst überhaupt keinen Lesezugriff auf das Quell-Repository benötigt.
- Öffentliche Verifizierung. Sie können Status-Badges in Ihre README einbetten, die öffentliche Statusseite einsehen, Audit-CSVs herunterladen oder PDF-Zertifikate erstellen.
- Anbieterunabhängigkeit. Der
.ots-Beleg kann mit Standard-OpenTimestamps-Werkzeugen offline verifiziert werden, selbst wenn Timestamp GIT den Betrieb einstellt.
Für selbst gehostete oder isolierte Umgebungen ist ein Docker-Image verfügbar:
services:
timestampgit:
image: rue1401/timestampgit:prod
ports:
- "8080:8080"
volumes:
- ./data:/app/data
restart: unless-stopped
valkey:
image: valkey/valkey:8
restart: unless-stopped
Sie können öffentliche Status-Endpunkte auch direkt abfragen, zum Beispiel:
curl https://timestampgit.dev/api/statusLast/your-org/your-repo
Dieser Endpunkt liefert Informationen über den zuletzt verankerten Bitcoin-Block für ein überwachtes Repository.
FAQ
Ist der Existenznachweis rechtlich anerkannt?
Kryptografische Zeitstempel werden vor Gericht zunehmend als Beweis für den Stand der Technik akzeptiert. Sie liefern eine starke, manipulationssichere Aufzeichnung, die unabhängig verifiziert werden kann. Die rechtliche Anerkennung variiert jedoch je nach Rechtsordnung, und es ist ratsam, für konkrete Fälle einen Anwalt zu konsultieren.
Gibt der Existenznachweis meinen Quellcode preis?
Nein. Der Existenznachweis verwendet kryptografische Hashes, also Einwegfunktionen. Der eigentliche Quellcode wird niemals übertragen oder gespeichert. Nur der Hash wird in der Blockchain verankert, sodass Ihr Code privat bleibt.
Wie viel kostet es, meinen Code mit einem Zeitstempel zu versehen?
Timestamp GIT bietet eine kostenlose Stufe für öffentliche Repositories. Kostenpflichtige Pläne beginnen bei 49 $/Monat für private Repositories, mit einem Enterprise-ZK-Plan für 199 $/Monat. Selbst gehostete Docker-Lizenzen sind ebenfalls erhältlich.
Kann ich den Zeitstempel verifizieren, ohne mich auf Timestamp GIT zu verlassen?
Ja. Die Beweise basieren auf dem OpenTimestamps-Protokoll und der Bitcoin-Blockchain. Sie können den .ots-Beleg herunterladen und mit Standard-OpenTimestamps-Werkzeugen verifizieren, selbst wenn Timestamp GIT nicht mehr existiert.
Fazit
Der Existenznachweis für Software-Code ist eines der wenigen Entwickler-Werkzeuge, das gleichzeitig kostengünstig, mathematisch präzise und sowohl in rechtlichen als auch in Compliance-Kontexten nützlich ist. Er beweist keine Urheberschaft oder Eigentum, aber er schafft einen festen Zeitpunkt, der äußerst schwer zu bestreiten ist.
Der schwierige Weg ist, das OpenTimestamps-Protokoll manuell auszuführen. Der praktische Weg ist, die Timestamp-GIT-GitHub-App zu installieren, Ihre Repositories zu verbinden und die nächtliche Verankerungs-Pipeline den Rest erledigen zu lassen. Beginnen Sie noch heute damit, Ihre Commits mit Zeitstempeln zu versehen – bei Timestamp GIT.
Verwandte Beiträge
- How to Prove Your Code Existed Before a Patent Filing
- Timestamp Git Commits to Defend Against Patent Trolls
- Automate Code Timestamping with a GitHub App