Skip to content
BlockchainSign
de

Merkle-Baum-Zeitstempel: Funktionsweise und Nachteile

Von Veröffentlicht am

Merkle-Baum-Zeitstempel: Funktionsweise und Nachteile
Photo: Nurullah Degri

Wenn Sie sich gefragt haben, wie ein Dienst Dateien kostenlos auf Bitcoin zeitstempeln kann, obwohl eine Bitcoin-Transaktion Geld kostet, lautet die Antwort: ein Merkle-Baum. Es lohnt sich, dies zu verstehen, denn der Kompromiss, den er eingeht, ist der Hauptunterschied zwischen den verfügbaren Zeitstempeldiensten.

Das Problem, das er löst

Das Schreiben eines Hashwerts in eine Blockchain kostet Geld — eine Transaktionsgebühr, die in der Währung der Chain gezahlt wird. Wenn jede Datei ihre eigene Transaktion benötigt, hat jeder Zeitstempel eine feste Mindestkostenbasis.

Das Bündeln vieler Hashwerte in einer einzigen Transaktion hebt diese Mindestgrenze auf. Die Schwierigkeit besteht darin, dies zu tun, ohne dabei die Möglichkeit zu verlieren, dass jeder beweisen kann, dass sein spezifischer Hashwert im Bündel enthalten war, ohne das gesamte Bündel zu veröffentlichen.

Wie ein Merkle-Baum funktioniert

Nehmen Sie eine Menge von Hashwerten. Paaren Sie sie und hashen Sie jedes Paar zusammen. Paaren Sie die Ergebnisse und hashen Sie auch diese. Wiederholen Sie dies, bis nur noch ein Hashwert übrig bleibt.

h(A)  h(B)   h(C)  h(D)
   \  /         \  /
  h(AB)         h(CD)
      \        /
       h(ABCD)   ← der Merkle-Wurzelhash

Dieser letzte Wert ist der Merkle-Wurzelhash (Merkle Root) und garantiert für alle Eingaben. Ändern Sie einen der ursprünglichen Hashwerte, ändert sich der Wurzelhash vollständig.

Nur der Wurzelhash kommt in die Chain. Eine Transaktion, egal wie viele Dateien im Bündel waren.

Nachweis, dass Ihre Datei enthalten ist

Um zu zeigen, dass h(A) unter dem Wurzelhash liegt, benötigen Sie nicht den gesamten Baum. Sie benötigen nur die Geschwisterknoten entlang des Pfades von Ihrem Blatt zur Spitze — hier h(B) und h(CD). Jeder kann neu berechnen:

h( h( h(A), h(B) ), h(CD) ) == der Wurzelhash in der Chain?

Diese kurze Liste von Geschwisterknoten ist der Merkle-Beweis oder Inklusionsnachweis. Bei einem Bündel aus einer Million Dateien umfasst er etwa zwanzig Hashwerte, da die Pfadlänge mit dem Logarithmus der Bündelgröße wächst, nicht mit der Bündelgröße selbst.

Dies ist wirklich elegant. Es ist der Mechanismus hinter OpenTimestamps und hinter den meisten kostenlosen Zeitstempeldiensten.

Was Sie dabei opfern

Drei Dinge, allesamt operativer Natur und nicht kryptografischer Art.

Sie müssen die Beweisdatei aufbewahren. Die Chain enthält nur den Wurzelhash, nicht Ihren Hashwert. Ohne den Pfad der Geschwisterknoten gibt es keine Möglichkeit, Ihre Datei mit der Transaktion zu verbinden. Verlieren Sie den Beweis, ist der Zeitstempel weg — die Transaktion allein hilft Ihnen nicht weiter.

Es gibt meist eine Verzögerung und einen zusätzlichen Schritt. Bündel werden nach einem Zeitplan geschlossen. Bis das Bündel festgeschrieben und bestätigt ist, ist Ihr Beweis unvollständig, und bei einigen Designs müssen Sie später zurückkehren, um ihn zu „aktualisieren“. Viele Menschen tun dies nie und finden es Jahre später heraus.

Die Überprüfung erfordert Erklärung. Das Neuberechnen eines Merkle-Pfades ist für Entwickler eine einfache Operation, für andere jedoch eine unerfreuliche Überraschung. Ein Nachweis, dessen Überprüfung ein Tutorial erfordert, wirkt vor einem nichttechnischen Publikum schwächer.

Die Alternative: eine Transaktion pro Datei

Der andere Ansatz besteht darin, jeden Hashwert in seine eigene Transaktion zu schreiben. Das tun wir: Ihr Payload-Hashwert geht in die Eingabedaten einer dedizierten Ethereum-Transaktion, wo ihn jeder mit „Als UTF-8 anzeigen“ auf Etherscan lesen kann.

Merkle-Bündelung Eine Transaktion pro Datei
Kosten pro Zeitstempel Nahezu null Die volle Transaktionsgebühr
Was Sie aufbewahren müssen Eine Beweisdatei Nichts — der Hashwert ist on-chain
Wenn Sie das Artefakt verlieren Zeitstempel nicht wiederherstellbar Aus öffentlichen Daten wiederherstellbar
Zusätzlicher Schritt nach Einreichung Oft ja Nein
Überprüfung Merkle-Pfad neu berechnen Transaktion lesen
Erklärung gegenüber einem Anwalt Erfordert ein Tutorial Link öffnen

Keine der Methoden ist kryptografisch stärker. Ein Merkle-Beweis ist genau so solide wie ein direkter Schreibvorgang. Der Unterschied betrifft ausschließlich das, was später passiert: eine Person, die nicht Sie ist, hält ein Artefakt in der Hand, das sie nicht versteht.

Welche Methode wählen?

Wenn Sie im großen Maßstab zeitstempeln, technisch versiert sind und zuverlässig Dateien aufbewahren, ist die Bündelung hervorragend und der Preis unschlagbar.

Wenn Sie eine kleine Anzahl wichtiger Dokumente zeitstempeln und das spätere Publikum ein Kunde, eine Versicherung oder ein Gericht ist, kaufen Sie mit der Bezahlung für einen direkten Schreibvorgang einen Beweis, bei dem Sie nichts verlieren und nichts erklären müssen.

Die Bündelung ist auch der sinnvolle Weg, um eine kostenlose Stufe anzubieten, was beim Preisvergleich wichtig ist: Ein Dienst, der Cent-Beträge pro Zertifikat berechnet, verwendet fast sicher Bündelung, während ein Dienst, der Dollar-Beträge verlangt, dies wahrscheinlich nicht tut.

Häufige Fragen

Wie kann Blockchain-Zeitstempeln kostenlos sein?
Durch Batching. Viele Hashwerte werden in einem Merkle-Baum zusammengefasst, und nur der einzelne Root-Hash wird in die Chain geschrieben. So wird eine Transaktionsgebühr auf alle Teilnehmer dieses Batches verteilt. Die Kosten, die Sie stattdessen tragen, sind operativer Natur: Sie müssen den Inclusion Proof (Aufnahmebeleg) aufbewahren und in einigen Designs später zurückkehren, um ihn abzuschließen.
Was passiert, wenn ich meine Merkle-Beweisdatei verliere?
Der Zeitstempel ist dann effektiv nicht wiederherstellbar. Die Blockchain-Transaktion enthält den Merkle-Root, nicht Ihren Hash. Ohne den Sibling-Pfad gibt es keine Möglichkeit, Ihre Datei damit zu verknüpfen. Dies ist die häufigste Ursache dafür, dass Menschen Zeitstempel verlieren, von denen sie dachten, sie hätten sie noch.
Ist ein Merkle-Beweis schwächerer Beweis als eine direkte Transaktion?
Kryptografisch nicht — ein korrekt konstruierter Merkle-Beweis ist genau so stichhaltig. Der praktische Unterschied liegt in der Darstellung: Zur Verifizierung muss ein Hash-Pfad neu berechnet werden, was ein Tool und eine Erklärung erfordert. Ein direkter Schreibvorgang kann hingegen von jedem direkt über einen öffentlichen Block Explorer abgelesen werden.

Beweisen Sie heute, dass Ihre Arbeit existiert

Versehen Sie jede beliebige Datei auf der Ethereum-Blockchain mit einem Zeitstempel und erhalten Sie ein fälschungssicheres Zertifikat, das lebenslang gilt. Ihre Datei verlässt niemals Ihren Browser.