Dieser Schritt betrachtet die Aufgabe des Beschreibens von Eigentum auf eine Weise, die für ein rein verteiltes Peer-to-Peer-System von Hauptbüchern nützlich ist. Er erläutert, wie die Blockchain das Eigentum dokumentiert und Eigentumsübertragungen handhabt. Außerdem unterstreichen die folgenden Ausführungen die Wichtigkeit der Reihenfolge oder Sortierung beim Dokumentieren von Eigentumsübertragungen. Und schließlich wird auch auf die Bedeutung der Integrität von Transaktionsdaten für die Integrität des Gesamtsystems eingegangen.
In einem Staffellauf treten mehrere Läufer einer Läufergruppe, der sogenannten Stafette, gegeneinander an, wobei jedes Teammitglied nur einen Teil der Gesamtstrecke absolviert. Während des Laufs muss jeder Läufer einen bestimmten Gegenstand, den Staffelstab, in einem bestimmten, auf der Strecke markierten Bereich an den nächsten Läufer übergeben. Im gesamten Wettbewerb trägt daher nur ein Mitglied in jeder Stafette einen Stab. Um zu bestimmen, welcher Läufer einer Stafette den Stab gerade hält, reicht es aus zu wissen, wem im Team der Stab zuletzt übergeben wurde.
Um festzustellen, wer den Stab zu einem beliebigen Zeitpunkt gehalten hat, muss der Zeitpunkt jeder Übergabe samt der daran beteiligten Läufer notiert werden. Dieser Schritt erklärt, wie die Blockchain das Eigentum einem Staffellauf vergleichbar behandelt.
Das Ziel besteht darin, Eigentum auf transparente und nachvollziehbare Weise zu dokumentieren. Jeder, der die Dokumentation liest, muss in der Lage sein, eine eindeutige Aussage bezüglich der Zuordnung von Gütern zu ihren Eigentümern zu treffen.
Die Herausforderung besteht darin, eine Dokumentation des Eigentums zu finden, die nicht nur behauptet, jemand sei der Eigentümer von etwas, sondern Beweise für die Eigentümerschaft liefert und somit als Eigentumsnachweis dient.
Anstatt den aktuellen Eigentumszustand mithilfe von Bestandsdaten (zum Beispiel eine Liste des aktuellen Besitzes aller Eigentümer) zu beschreiben, wird fortlaufend eine Liste sämtlicher Eigentumsübertragungen in einem Hauptbuch geführt. Jede Eigentumsübertragung wird anhand von Transaktionsdaten beschrieben, die klar angeben, welcher Eigentümer das Eigentum an welchem Objekt zu welchem Zeitpunkt an wen übertragen hat. Die gesamte Historie der Transaktionsdaten ist im Hauptbuch verzeichnet und wird somit zum Prüfpfad oder Nachweis dafür, wie jemand einen Besitz erlangt hat.[1] Das entspricht dem Notieren jeder Stabübergabe im Staffellauf, wodurch sich der gesamte Lauf zu einem späteren Zeitpunkt nachvollziehen lässt.
Es gibt zwei konkurrierende Wege zur Beschreibung von Eigentum, nämlich Bestandsdaten und Transaktionsdaten. Bestandsdaten beschreiben den aktuellen Eigentumszustand. Sie ähneln einer Saldomitteilung, die lediglich anzeigt, wie viel Geld gerade auf dem Konto ist. Transaktionsdaten beschreiben Eigentumsübertragungen. Sie ähneln einem Kontoauszug, der jede Abhebung, Einzahlung und Überweisung aufführt. Bestandsdaten können durch das Aufsummieren von Transaktionsdaten gewonnen werden. Obschon sowohl Bestandsdaten als auch Transaktionsdaten das Eigentum beschreiben, gibt es doch gewaltige Unterschiede in der zugrunde liegenden Philosophie. Bestandsdaten benennen oder behaupten das Eigentum lediglich, während Transaktionsdaten das Eigentum erklären und dadurch begründen. Allerdings gelten Bestandsdaten häufig als praktischer, da sie auf einen Blick zeigen, was den meisten Menschen wichtig ist, nämlich den aktuellen Eigentumszustand.
Das Dokumentieren von Eigentum mit der Blockchain umfasst die folgenden Aspekte:
Beschreiben der Eigentumsübertragung
Bewahren der Übertragungshistorie
Eine Transaktion ist der Akt der Eigentumsübertragung von einem Eigentümer auf eine andere Person. Dieser Akt beruht auf Daten, die die beabsichtigte Übertragung beschreiben und alle für die Eigentumsübertragung erforderlichen Informationen enthalten. Ein Beispiel für Daten, die eine beabsichtigte Eigentumsübertragung beschreiben, ist ein Überweisungsträger, mit dem Sie Ihre Bank anweisen, Geld auf ein anderes Konto zu überweisen. Auf dem Überweisungsträger müssen Sie alle für die Überweisung notwendigen Angaben machen. Auch in der Blockchain sind Angaben zur Beschreibung einer Transaktion erforderlich, nämlich:
eine Kennung für das Konto, das einen Besitz (Eigentum) auf ein anderes Konto überträgt
eine Kennung für das Konto, das diesen Besitz (Eigentum) empfängt
die Menge der zu übertragenden Güter
der Zeitpunkt, zu dem die Transaktion erfolgen soll
eine Gebühr, die für das Ausführen der Transaktion an das System entrichtet wird
ein Nachweis, dass der Eigentümer des Kontos, von dem der Besitz (Eigentum) übertragen wird, der Übertragung tatsächlich zustimmt
Die meisten dieser Angaben sind uns von Banküberweisungen vertraut. Allerdings endet die Analogie zur Banküberweisung bei den Gebühren. Da Banken zentralisierte Einrichtungen sind, gibt es eine zentrale Gebührenordnung für alle Kunden. Im Gegensatz dazu ist die Blockchain ein verteiltes System ohne zentrale Kontrollinstanz – deshalb gibt es bei der Blockchain auch keine zentrale Gebührenordnung. Beim Verwenden der Blockchain teilt jeder Anwender dem System im Voraus mit, welche Gebühr er für die anstehende Transaktion zu zahlen bereit ist. Das Konto, das ein Eigentum überträgt, zahlt auch die Transaktionsgebühr.
Transaktionsdaten stellen alle für eine beabsichtigte Eigentumsübertragung erforderlichen Informationen zur Verfügung. Das Ausführen einer Transaktion bedeutet, dass die Eigentumsübertragung wie in den Transaktionsdaten beschrieben erfolgt. Und es bedeutet auch, dass die Transaktionsdaten in ein Hauptbuch eingetragen werden. Dadurch wird die Transaktion Teil der Transaktionshistorie, die zum Abklären von Eigentum verwendet wird. Wird das Hauptbuch dann beim nächsten Mal zum Abklären von Eigentum durch Aufsummieren der darin verzeichneten Transaktionsdaten benutzt, ist die neu eingetragene Transaktion in der Summe enthalten und wirkt sich somit auf den entstehenden Eigentumszustand aus.
Die Blockchain bewahrt die gesamte Historie aller jemals ausgeführten Transaktionen, indem die zugehörigen Transaktionsdaten in der Reihenfolge ihres Auftretens in der Blockchain-Datenstruktur gespeichert werden. Jede Transaktion, die nicht Teil dieser Historie ist, wird als niemals durchgeführt betrachtet. Das Eintragen von Transaktionsdaten in die Blockchain-Datenstruktur bedeutet also, dass diese Transaktion geschieht und das Ergebnis bei der Verwendung der Historie zum Bestimmen des aktuellen Eigentümers beeinflussen kann.
Da Transaktionsdaten sämtliche Informationen über das Konto, das einen Besitz (Eigentum) überträgt, das Konto, das den Besitz (Eigentum) empfängt sowie das zu übertragende Objekt und dessen Menge enthalten, lässt sich die Eigentümerschaft für jedes Konto nachvollziehen, sofern die gesamte Transaktionshistorie zur Verfügung steht. Deshalb reicht die Gesamthistorie aller Transaktionsdaten aus, um das Eigentum zu dokumentieren.
Das Aufsummieren von Transaktionsdaten erfolgt, um so den aktuellen Eigentumszustand zu ermitteln und das Eigentum abzuklären. Es ist wichtig zu erkennen, dass die Reihenfolge, in der die Transaktionen stattgefunden haben, erhalten bleiben muss, damit bei jedem Aufsummieren der Daten dasselbe Ergebnis herauskommt. Eine Änderung der Reihenfolge der Transaktionsdaten verändert das Ergebnis der Aufsummierung. Auf den ersten Blick scheint das Ergebnis nicht sonderlich abzuweichen: Ist es nicht egal, ob ich zuerst 50 Euro von einem Bekannten erhalte und diese dann zum Bezahlen einer Rechnung verwende oder umgekehrt? Doch was, wenn mein Bankkonto kein Guthaben aufweist und ich es nicht überziehen darf? In diesem Fall kann ich die Rechnung nur dann bezahlen, wenn ich das Geld von meinem Bekannten vorher erhalten habe – ansonsten verweigert die Bank die Überweisung, weil nicht mehr genügend Geld auf dem Konto ist. Tatsächlich ist die Reihenfolge der Transaktionen also sehr wichtig.
Ohne zu übertreiben lässt sich behaupten, dass die Historie der Transaktionsdaten das Herz jeder Blockchain bildet, die zur Verwaltung von Eigentum verwendet wird, denn sie stellt ja die Basis zum Nachvollziehen des Eigentumszustands dar. Es ist daher notwendig, diese Datenhistorie sicher, vollständig, korrekt und konsistent aufzubewahren, um die Integrität des Gesamtsystems beizubehalten und somit in der Lage zu sein, wahre Aussagen über den aktuellen Eigentumszustand zu machen. Die Blockchain muss also Sicherheitsmaßnahmen aufweisen, durch die gewährleistet wird, dass nur gültige Transaktionsdaten zur Blockchain-Datenstruktur hinzugefügt werden. Das Untersuchen der Gültigkeit von Transaktionsdaten umfasst drei Aspekte:
Formale Korrektheit bedeutet, dass die Beschreibung einer Transaktion alle erforderlichen Daten enthält und dass die Daten im korrekten Format bereitgestellt werden.
Die semantische Korrektheit bezieht sich auf die Bedeutung der Transaktionsdaten und den beabsichtigten Zweck. Die Überprüfung der semantischen Korrektheit bedingt also die Kenntnis von der Geschäftsdomäne. Zur Überprüfung der semantischen Korrektheit werden häufig Geschäftsregeln eingesetzt, zum Beispiel:
Sicherstellen, dass nicht mehr von einem Konto abgegeben wird, als sich darauf befindet (keine Überziehungen)
Verhindern von Double-Spending
Beschränken der Anzahl der Objekte, die in einer einzelnen Transaktion übertragen werden können
Beschränken der Anzahl der Transaktionen pro Anwender
Beschränken der Gesamtmenge von Objekten, die in einem bestimmten Zeitraum ausgegeben werden können
Durchsetzen, dass ein Konto ein Objekt für einen Mindestzeitraum behält, bevor es erneut übertragen werden kann
Nur der Eigentümer des Kontos, von dem ein Besitz (Eigentum) übertragen wird, darf die Blockchain anweisen, eine Transaktion in seinem Namen auszuführen. Dementsprechend benötigt die Blockchain für jede Transaktion Daten, die nachweisen, dass der Eigentümer des Kontos, von dem der Besitz (Eigentum) übertragen wird, der Übertragung tatsächlich zustimmt.
Dieser Schritt hat Transaktionen und ihre Rolle beim Abklären des Eigentums vorgestellt. Die folgenden Schritte beschäftigen sich hauptsächlich damit, wie die Blockchain sicherstellt, dass nur gültige Transaktionsdaten zur Historie hinzugefügt werden und wie die Historie vor Manipulationen oder Fälschungen geschützt wird.
Transaktionsdaten stellen die folgenden Informationen zur Beschreibung einer Eigentumsübertragung zur Verfügung:
eine Kennung für das Konto, das die Transaktion einleitet und von dem ein Besitz (Eigentum) auf ein anderes Konto übertragen wird
eine Kennung für das Konto, das diesen Besitz (Eigentum) empfängt
die Menge der zu übertragenden Güter
den Zeitpunkt, an dem die Transaktion erfolgen soll
eine Gebühr, die für das Ausführen der Transaktion an das System gezahlt wird
einen Nachweis, dass der Eigentümer des Kontos, von dem der Besitz (Eigentum) übertragen wird, der Übertragung zustimmt
Die Gesamthistorie der Transaktionsdaten ist ein Prüfpfad oder Nachweis dafür, wie jemand einen Besitz erlangt oder abgegeben hat.
Jede Transaktion, die nicht Teil dieser Historie ist, wird als niemals durchgeführt betrachtet.
Eine Transaktion wird ausgeführt, indem sie zur Historie der Transaktionsdaten hinzufügt wird und dadurch das Ergebnis der Aufsummierung der Transaktionen beeinflussen kann.
Die Reihenfolge, in der Transaktionsdaten zur Historie hinzugefügt werden, muss erhalten bleiben, damit beim Aufsummieren dieser Daten stets dasselbe Ergebnis geliefert wird.
Zum Erhalten von Integrität werden nur jene Transaktionsdaten zur Blockchain-Datenstruktur hinzugefügt, die folgende Kriterien einhalten:
Formale Korrektheit
Semantische Korrektheit
Autorisierung
[1] Nakamoto, Satoshi. Bitcoin: A peer-to-peer electronic cash system (2008).