Existenznachweis in Software: Ein Leitfaden für Einsteiger
Was bedeutet es eigentlich, nachzuweisen, dass eine Software zu einem bestimmten Zeitpunkt existiert hat? Wenn du jemals zeigen musstest: „Ich habe das vor dir gebaut“, ohne deinen Quellcode preiszugeben, liegt die Antwort in einem Konzept namens Existenznachweis (Proof of Existence). Dieser Leitfaden erklärt die Idee, räumt mit häufigen Missverständnissen auf und zeigt, wie Timestamp GIT daraus eine GitHub-App ohne Einrichtungsaufwand macht.
Was ist ein Existenznachweis in Software?
Ein Existenznachweis ist ein kryptografischer Beleg dafür, dass bestimmte digitale Daten zu einem bestimmten Zeitpunkt existiert haben. In der Softwareentwicklung sind diese Daten in der Regel ein Git-Commit-Hash. Der Prozess funktioniert so:
- Erstellen eines Einweg-Hashes der Daten – eines kryptografischen Fingerabdrucks.
- Verankern dieses Fingerabdrucks in einem unveränderlichen öffentlichen Register, der Bitcoin-Blockchain.
- Speichern einer Quittung, mit der jeder die Verankerung unabhängig überprüfen kann.
Anders als interne Logs, E-Mails oder gewöhnliche Versionskontroll-Zeitstempel hängt ein kryptografischer Nachweis nicht davon ab, dass eine einzelne Person oder ein einzelner Server ehrlich ist. Der Beleg lebt in der öffentlichen Bitcoin-Blockchain, wo die Mathematik von jedem überprüft werden kann.
Der Existenznachweis ist außerdem ein zentrales Werkzeug, um den Stand der Technik in Streitigkeiten um geistiges Eigentum zu belegen. Wenn ein Patent-Troll deine Technik beansprucht, kann ein in Bitcoin verankerter Zeitstempel zeigen, dass du die Implementierung bereits Monate oder Jahre früher hattest.
Eine einfache Analogie: Der Notar für deinen Code
Stell dir einen klassischen Notar vor. Du unterschreibst ein Dokument, der Notar schaut zu und versieht es dann mit einem offiziellen Siegel und Datum. Später kann jeder das Siegel ansehen und wissen, dass das Dokument an diesem Datum existiert hat.
Der Existenznachweis macht dasselbe für digitale Daten:
- Fingerabdruck – Dein Git-Commit-Hash ist ein eindeutiger Fingerabdruck des exakten Zustands deines Repositorys zu diesem Zeitpunkt.
- Verankerung – Der Fingerabdruck wird in der Bitcoin-Blockchain aufgezeichnet, wie das offizielle Register eines Notars.
- Nachweis – Du erhältst eine
.ots-Quittungsdatei, wie eine notariell beglaubigte Urkunde, die jeder überprüfen kann.
Der entscheidende Unterschied: Niemand muss dem Server oder der Datenbank des Notars vertrauen. Das öffentliche Bitcoin-Register macht den Eintrag unveränderlich.
Wie es technisch funktioniert (kurz erklärt)
Technisch folgt der Existenznachweis für Software drei Schritten:
- Fingerabdruck – Git erzeugt einen Einweg-Hash des exakten Repository-Zustands. Dieser Hash ist die Festlegung (Commitment).
- Verankerung – Timestamp GIT extrahiert nur die Commit-Hashes, bündelt sie täglich und erstellt einen Merkle-Baum. Die Merkle-Wurzel wird dann mithilfe des OpenTimestamps-Protokolls in einer Bitcoin-Transaktion verankert.
- Nachweis – Sobald der Bitcoin-Block bestätigt ist, erhältst du eine unveränderliche
.ots-Quittungsdatei. Jeder kann sie mit Standard-OpenTimestamps-Verifikationswerkzeugen gegen die Bitcoin-Blockchain überprüfen.
So sieht ein Commit-Hash lokal aus:
# Your Git commit hash is a one-way fingerprint of the full repository state
git rev-parse HEAD
# Example output: 7c2f0a9b3e8d4f1c6a5b9c0d1e2f3a4b5c6d7e8f
Timestamp GIT automatisiert diese gesamte Pipeline. Du installierst die GitHub-App einmal, und jeder Commit in einem überwachten Repository wird automatisch jede Nacht mit einem Fingerabdruck versehen und verankert. Keine CLI-Tools, keine manuellen OpenTimestamps-Befehle und keine Einrichtung einer Bitcoin-Wallet. Das Produkt ist ein verwalteter Dienst, der das Protokoll hinter einer GitHub-Integration verbirgt.
Zero-Knowledge ist eingebaut: Timestamp GIT sieht, kopiert oder speichert deinen Quellcode niemals. Es verarbeitet ausschließlich Commit-Hashes. Im Enterprise-ZK-Modus wird sogar der Commit-Hash von deiner eigenen Infrastruktur per GitHub Action übertragen, sodass kein Lesezugriff auf das Quell-Repository erforderlich ist.
Die Verifikation ist unabhängig. Du kannst die .ots-Quittung herunterladen und selbst gegen die Bitcoin-Blockchain überprüfen, selbst wenn Timestamp GIT verschwindet.
Warum Existenznachweise wichtig sind: Häufige Missverständnisse
Missverständnis 1: „Meine Git-Historie reicht aus.“
Die Git-Historie ist für die Entwicklung nützlich, aber sie lebt auf Servern, die du nicht vollständig kontrollierst. Git-Commits können umgeschrieben werden, Daten können geändert werden, und interne Logs werden bei rechtlichen Prüfungen oft als eigennützig oder manipulierbar abgetan. Der Existenznachweis verankert einen Hash in einer öffentlichen Blockchain und macht die Zeitachse mathematisch überprüfbar.
Missverständnis 2: „Ich muss meinen Code veröffentlichen, um den Stand der Technik zu belegen.“
Nein. Der Fingerabdruck ist ein Einweg-Hash. Timestamp GIT sieht deinen Quellcode nie, und der Nachweis gibt ihn nicht preis. Du kannst den Stand der Technik belegen, ohne deinen Code zu veröffentlichen oder öffentliche Dokumente einzureichen.
Missverständnis 3: „Blockchain-Zeitstempel sind nur für Kryptowährungen.“
Der primäre Wert von Bitcoin für Softwareentwickler ist keine Währung. Es ist ein unveränderliches, öffentliches Register. Dieselben Eigenschaften, die Doppelausgaben verhindern, machen Bitcoin auch ideal für die Zeitstempelung beliebiger digitaler Daten. Dein Nachweis ist in Bitcoin-Blockdaten eingebettet und damit global überprüfbar und dauerhaft.
Reale Szenarien, in denen Existenznachweise wichtig sind:
- Abwehr von Patent-Trollen, indem du zeigst, dass du eine Technik vor einer Patentanmeldung implementiert hast
- Nachweis, wann ein Feature in einem Mitarbeiterstreit konzipiert wurde
- Festlegung von Clean-Room-Entwicklungszeitplänen, wenn ein Wettbewerber unabhängige Erfindung behauptet
- Schutz von Geschäftsgeheimnissen, ohne sie zu veröffentlichen
So erhältst du einen Existenznachweis für deinen Code mit Timestamp GIT
Der primäre Arbeitsablauf:
- Installiere die Timestamp-GIT-GitHub-App in deinem Repository. Dies ist eine einmalige Einrichtung.
- Committe wie gewohnt weiter. Die GitHub-App erkennt neue Commits automatisch über Webhooks.
- Jede Nacht bündelt Timestamp GIT deine Commit-Hashes, erstellt einen Merkle-Baum und verankert die Merkle-Wurzel in der Bitcoin-Blockchain.
- Nachweise werden in einen dedizierten Branch oder ein Shadow-Repository geliefert. Du kannst ein Verifikations-Badge in deiner README anzeigen, um zu zeigen, dass deine Commits verankert sind.
# After installing the GitHub App, your normal workflow is unchanged
git add .
git commit -m "Add proof-of-existence example"
git push origin main
Wenn du maximale Isolation benötigst, führt der Enterprise-ZK-Modus eine GitHub Action in deiner Infrastruktur aus, die nur den Commit-Hash an die Timestamp-GIT-API überträgt. Null Code-Zugriff bedeutet, dass dein Quellcode deine Umgebung nie verlässt.
Für air-gapped oder regulierte Umgebungen ist Timestamp GIT auch als selbst gehostetes Docker-Image verfügbar. Damit kannst du dieselbe Automatisierung innerhalb deiner eigenen Infrastruktur ausführen.
FAQ
Was ist der Unterschied zwischen Existenznachweis und Urheberschaftsnachweis?
Der Existenznachweis belegt, dass ein bestimmtes digitales Artefakt, wie ein Git-Commit-Hash, zu einem bestimmten Zeitpunkt existiert hat. Der Urheberschaftsnachweis verknüpft dieses Artefakt zusätzlich mit einer bestimmten Person oder Organisation. Timestamp GIT liefert den Existenznachweis; die Urheberschaft kann aus den Repository- und Commit-Metadaten abgeleitet werden.
Kann der Existenznachweis überprüft werden, ohne Timestamp GIT zu vertrauen?
Ja. Der Nachweis basiert auf dem OpenTimestamps-Protokoll und der Bitcoin-Blockchain. Du kannst die .ots-Quittung herunterladen und unabhängig mit Standard-OpenTimestamps-Verifikationswerkzeugen gegen die Bitcoin-Blockchain überprüfen. Timestamp GIT muss an der Verifikation nicht beteiligt sein.
Erfordert der Existenznachweis die Preisgabe meines Quellcodes?
Nein. Timestamp GIT verarbeitet ausschließlich Git-Commit-Hashes, die Einweg-Fingerabdrücke sind. Dein Quellcode verlässt dein Repository nie. Im Enterprise-ZK-Modus wird sogar der Commit-Hash von deiner Infrastruktur übertragen, was null Code-Zugriff gewährleistet.
Wie lange dauert es, bis ich nach einem Commit einen Nachweis erhalte?
Timestamp GIT bündelt Commits täglich und verankert sie in der Bitcoin-Blockchain. Die Bestätigung dauert in der Regel einige Stunden nach der täglichen Bündelung. Du erhältst die .ots-Quittung, sobald die Verankerung bestätigt ist.
Wie viel kostet Timestamp GIT?
Timestamp GIT bietet einen Open-Source-Plan für öffentliche Repositorys, einen Pro-Agency-Plan für private Repositorys und einen Enterprise-ZK-Plan für den GitHub-Actions-basierten Zero-Knowledge-Modus. Eine selbst gehostete Docker-Lizenz ist ebenfalls für Teams verfügbar, die den Dienst in ihrer eigenen Infrastruktur betreiben müssen.
Was ist, wenn ich den Zeitstempel eines bestimmten Commits überprüfen möchte?
Timestamp GIT bietet ein öffentliches Dashboard für jedes überwachte Repository, einschließlich Langlebigkeit, Verankerungsdaten, Bitcoin-Blockdaten sowie herunterladbaren Audit-CSV- und PDF-Zertifikaten. Du kannst auch die API-Endpunkte für Status, Verifikation und Berichte nutzen. Für eine ausführlichere Anleitung siehe den verwandten Artikel zur Überprüfung von Git-Commit-Zeitstempeln.
Fazit
Der Existenznachweis in Software ist keine Magie. Er ist die Kombination aus einem Einweg-Fingerabdruck, einem unveränderlichen öffentlichen Register und einer unabhängig überprüfbaren Quittung. Die traditionellen Alternativen – Git-Logs, Server-Zeitstempel und E-Mail-Verläufe – sind im rechtlichen Kontext schwach. Ein in Bitcoin verankerter Nachweis ist mathematisch deutlich stärker.
Timestamp GIT macht aus diesem Konzept ein Produkt, das du einmal installierst und dann vergessen kannst. Die GitHub-App überwacht dein Repository, bündelt nachts Commit-Hashes und liefert .ots-Quittungen zurück, ohne jemals deinen Quellcode zu lesen. Wenn du nachweisen möchtest, wann dein Code existiert hat, installiere Timestamp GIT und verbinde dein Repository.
Verwandte Beiträge
- So überprüfst du deine Git-Commit-Zeitstempel
- Schütze deine Software mit Zeitstempeln vor Patent-Trollen
- OpenTimestamps vs. Timestamp GIT: Was ist das Richtige für deinen Code?