Die bisherigen Schritte haben die Beziehung zwischen Vertrauen, Integrität, rein verteilten Peer-to-Peer-Systemen und der Blockchain aufgezeigt. Sie haben damit inzwischen ein gutes Verständnis über das Wesen der Blockchain erhalten können und wissen, warum sie benötigt wird und welches Problem sie löst. Allerdings wissen Sie noch nichts über ihre internen Mechanismen, ihre Funktionsweise. Dieser Schritt verschafft Ihnen anhand eines allgemeinen Anwendungsszenarios, das auch die Richtschnur für die folgenden Schritte bildet, einen ersten Eindruck von der Funktionsweise der Blockchain. Darüber hinaus werden auch die Hauptaufgaben bei der Konzeption der Blockchain zur Verwaltung von Eigentum erörtert, und Sie erhalten einen Überblick über ihre wichtigsten Konzepte. Dieser Schritt dient als Ausgangspunkt für die nachfolgenden Schritte, in denen die Konzepte und Technologien, aus denen die Blockchain besteht, detailliert betrachtet werden.
Die Zielsetzung ist hier, ein Verständnis von den Konzepten zu erzeugen, die die Blockchain ausmachen. Aus didaktischen Gründen wird aufgezeigt, welche Herausforderungen überwunden werden müssen, wenn Sie Ihr eigenes System zur Verwaltung von Eigentum konzipieren. Sie müssen somit dieselben Schwierigkeiten bewältigen, denen auch der Erfinder der Blockchain damals gegenübergestanden hat – und die er gelöst hat: Wie entwirft man eine Software, die das Eigentum in einem rein verteilten Peer-to-Peer-System von Hauptbüchern verwaltet, das in einer vollständig offenen und nicht vertrauenswürdigen Umgebung betrieben wird?
Fassen wir zu Beginn die wichtigsten Fakten über das betrachtete System zusammen:
Es handelt sich um ein rein verteiltes Peer-to-Peer-System, das aus den Berechnungsressourcen besteht, die von seinen Anwendern bereitgestellt werden.
Das Peer-to-Peer-System verwendet das Internet als Netzwerk, über das die einzelnen Knoten verbunden sind.
Weder die Anzahl der Knoten noch deren Vertrauenswürdigkeit und Zuverlässigkeit sind bekannt.
Das Ziel des Peer-to-Peer-Systems ist die Verwaltung von Eigentum an einem digitalen Gut, zum Beispiel Sammelpunkte oder digitales Geld.
Es gibt sieben Hauptaufgaben, die bei der Konzeption und Entwicklung eines Softwaresystems zur Verwaltung von Eigentum mithilfe eines rein verteilten Peer-to-Peer-Systems von Hauptbüchern in einer offenen und nicht vertrauenswürdigen Umgebung berücksichtigt werden müssen:
Beschreiben von Eigentum
Schützen von Eigentum
Speichern von Transaktionsdaten
Vorbereiten von Hauptbüchern, die in einer nicht vertrauenswürdigen Umgebung verteilt werden sollen
Verteilen der Hauptbücher
Eintragen neuer Transaktionen in die Hauptbücher
Entscheiden, welche Hauptbücher der Wahrheit entsprechen
Bevor Sie die Blockchain entwickeln können, müssen Sie als Erstes wissen, was Sie damit bezwecken wollen bzw. wozu sie dienen soll. Da Sie ein Softwaresystem zur Verwaltung von Eigentum konzipieren, müssen Sie sich zunächst darüber klar sein, wie Eigentum beschrieben wird. Wie Sie feststellen werden, sind Transaktionen eine gute M��glichkeit, Eigentumsübertragungen zu beschreiben; die gesamte Transaktionshistorie wiederum ermöglicht es, die aktuellen Eigentümer zu ermitteln. In Schritt 9 werden Transaktionen behandelt: was sie sind, wie man sie beschreibt und wie man sie zum Abklären von Eigentum verwendet.
Das Beschreiben von Eigentum mithilfe von Transaktionen ist lediglich der Ausgangspunkt. Sie müssen auch verhindern, dass unbefugte Dritte auf das Eigentum anderer zugreifen. Im wahren Leben können Sie die Nutzung Ihres Fahrzeugs oder den Zutritt zu Ihrem Haus mittels Türen und Schlösser verhindern – und in ähnlicher Weise stellt die Kryptographie eine Möglichkeit zum Schützen von Transaktionen auf individueller Ebene dar.
Der Schutz des Eigentums umfasst in erster Linie drei Elemente: die Identifizierung und die Authentifizierung von Eigentümern sowie die Beschränkung des Zugriffs auf das Eigentum auf die Eigentümer selbst. In den Schritten 12 und 13 werden diese Konzepte genauer erklärt, allerdings kommen hierbei Hashwerte zum Einsatz. Falls Sie noch nie etwas von Hashwerten gehört haben, macht das gar nichts, denn in den Schritten 10 und 11 werden ebendiese ganz genau erklärt. Darüber hinaus bieten diese beiden Schritte aber auch interessante Einsichten für alle, die bereits über technisches Hintergrundwissen oder Wissen zu Hashwerten verfügen.
Das Beschreiben von Eigentum mithilfe von Transaktionen sowie der Einsatz von Sicherheitsmaßnahmen zum Schutz des Eigentums auf individueller Transaktionsebene sind wichtige Schritte auf dem Weg zu einem Softwaresystem für die Verwaltung von Eigentum. Allerdings benötigen Sie auch eine Möglichkeit, die gesamte Transaktionshistorie zu speichern, denn damit wird die Eigentümerschaft abgeklärt. Da die Transaktionshistorie das Kernelement zum Abklären des Eigentums ist, muss diese auf sichere Weise gespeichert werden. Und wie sich herausstellt, ist die Blockchain-Datenstruktur das digitale Gegenstück zu einem Hauptbuch. In den Schritten 14 und 15 erkläre ich die Anforderungen, die die Blockchain-Datenstruktur erfüllen muss, damit sie als digitales Hauptbuch dienen kann. Außerdem wird die Art der Implementierung vorgestellt.
Ein einzelnes und isoliertes Hauptbuch bzw. eine einzelne Blockchain-Datenstruktur der Transaktionsdaten ist zwar großartig, aber letztendlich soll das verteilte Peer-to-Peer-System von Hauptbüchern in einer nicht vertrauenswürdigen Umgebung arbeiten. Daher benötigen Sie Kopien des Hauptbuchs, die auf nicht vertrauenswürdigen Knoten in einem nicht vertrauenswürdigen Netzwerk geführt werden. Außerdem übergeben Sie die Kontrolle der Hauptbücher an das gesamte Netzwerk, ohne dass es einen zentralen Kontrollpunkt oder eine zentrale Koordinierungsstelle gibt. Doch wie können Sie verhindern, dass die Hauptbücher gefälscht oder manipuliert werden, zum Beispiel durch Löschen von Transaktionen aus der Historie oder durch Eintragen unzulässiger Transaktionen? Die beste Möglichkeit zum Unterbinden von Änderungen der Transaktionshistorie besteht darin, sie unveränderlich anzulegen. Das bedeutet, dass Inhalte der Hauptbücher und damit auch die Transaktionshistorie nach dem Schreiben nicht mehr geändert werden können. Auf diese Art müssen Sie nicht mehr fürchten, dass die Hauptbücher manipuliert oder gefälscht werden, denn Änderungen sind gar nicht mehr möglich. Allerdings ist ein verteiltes Peer-to-Peer-System von Hauptbüchern, die niemals geändert werden können, zwar sicher, aber gleichzeitig auch nutzlos – denn wie fügt man neue Transaktionen hinzu? Die Herausforderung der Blockchain-Datenstruktur besteht somit darin, einerseits unveränderlich zu sein, während andererseits neue Transaktionen hinzugefügt werden können. Das scheint auf den ersten Blick ein Widerspruch zu sein, der sich jedoch mit einem in Schritt 16 erklärten technischen Kniff auflösen lässt. Das Ergebnis ist eine Blockchain-Datenstruktur, die nur Hinzufügungen zulässt: Sie können neue Transaktionen eintragen, es ist aber nahezu unmöglich, in der Vergangenheit ergänzte Daten zu verändern.
Sobald die Hauptbücher nur Hinzufügungen zulassen, können Sie ein verteiltes Peer-to-Peer-System von Hauptbüchern erstellen, indem Sie allen, die Interesse daran haben, Kopien zur Verfügung stellen. Doch allein durch das Bereitstellen von Kopien der »Nur-Hinzufüge-Hauptbücher« haben Sie Ihr Ziel noch nicht erreicht. Ein verteiltes System zur Verwaltung von Eigentum erfordert Interaktionen zwischen den Peers bzw. Knoten. Daher wird in Schritt 17 erklärt, wie die Knoten im System miteinander interagieren und welche Daten zwischen ihnen ausgetauscht werden.
Das verteilte Peer-to-Peer-System besteht aus Mitgliedern, deren Computer individuelle Kopien einer Nur-Hinzufüge-Blockchain-Datenstruktur führen. Da die Datenstruktur das Hinzufügen neuer Transaktionsdaten ermöglicht, müssen Sie sicherstellen, dass nur gültige und autorisierte Transaktionen eingetragen werden. Das ist möglich, wenn man allen Mitgliedern des Peer-to-Peer-Systems erlaubt, neue Daten einzutragen und zusätzlich jedes Mitglied des Peer-to-Peer-Systems zum Kontrolleur seiner Peers macht. Damit überwachen sich die Mitglieder gegenseitig und weisen auf Fehler ihrer Peers hin. Schritt 18 erläutert diesen Ansatz detailliert und zeigt auch, welche Anreize die Peers für das Erfüllen ihrer Aufgabe erhalten.
Sobald neue Transaktionen zu den einzelnen Hauptbüchern im Peer-to-Peer-System hinzugefügt werden können, stoßen wir auf ein Problem, das typisch für jedes verteilte Peer-to-Peer-System ist: Unterschiedliche Peers können unterschiedliche Transaktionen erhalten haben, sodass die von ihnen geführten Transaktionshistorien schon bald voneinander abweichen. In einem Peer-to-Peer-System können also unterschiedliche Versionen der Transaktionshistorie existieren. Da die Transaktionshistorie allerdings die Grundlage zur Identifizierung der rechtmäßigen Eigentümer bildet, stellen im Widerspruch zueinander stehende Transaktionshistorien eine ernste Bedrohung für die Integrität des Systems dar. Insofern ist es wichtig, eine Möglichkeit zu finden, mit der die Bildung unterschiedlicher Transaktionshistorien von Beginn an verhindert werden kann oder aber mit der entschieden werden kann, welche Transaktionshistorie der Wahrheit entspricht. Aufgrund der Beschaffenheit eines rein verteilten Peer-to-Peer-Systems bleibt uns die erste Möglichkeit verwehrt. Sie müssen also ein Kriterium finden, anhand dessen Sie eine Transaktionshistorie aufspüren und auswählen können, die der Wahrheit entspricht. Doch es gibt noch ein Problem: In einem rein verteilten Peer-to-Peer-System gibt es keine zentrale Autorität, die verkünden kann, welche Transaktionshistorie zu verwenden ist. Dieses Problem kann dadurch gelöst werden, dass man jeden Knoten im Peer-to-Peer-System für sich entscheiden lässt, welche Transaktionshistorie die Wahrheit darstellt. Das geschieht auf eine Art und Weise, bei der die absolute Mehrheit der Peers unabhängig voneinander dieser Entscheidung zustimmt. Außerdem werden Sie feststellen, dass die Art, in der die Blockchain das Hinzufügen neuer Transaktionen zur Nur-Hinzufüge-Blockchain-Datenstruktur ermöglicht, bereits die Lösung für dieses Problem enthält. Schritt 19 erläutert diese Kriterien detailliert und zeigt deren Anwendung.
In diesem Schritt haben Sie die sieben Aufgaben kennengelernt, aus denen die gedankliche Entdeckungsreise durch die Konzepte, die die Blockchain ausmachen, besteht. Sobald Sie diese Aufgaben erfüllt haben, erreichen Sie den Gipfel: ein Verständnis der Blockchain. Schritt 21 ist der Punkt, in dem all diese Konzepte miteinander kombiniert werden. Sie können kurz innehalten und das Ergebnis Ihrer Lernbemühungen genießen. Schritt 21 ist ebenso wie dieses Kapitel ein Übersichtskapitel, dort kommt jedoch das technische Wissen zur Anwendung, das Sie in der Zwischenzeit erworben haben.
Bei der Konzeption eines rein verteilten Peer-to-Peer-Systems von Hauptbüchern zur Verwaltung von Eigentum müssen folgende Aufgaben erfüllt werden:
Beschreiben von Eigentum
Schützen von Eigentum vor unberechtigtem Zugriff
Speichern von Transaktionsdaten
Vorbereiten von Hauptbüchern, die in einer nicht vertrauenswürdigen Umgebung verteilt werden sollen
Bilden eines Systems zur Verteilung der Hauptbücher
Eintragen und Überprüfen neuer Transaktionen in den Hauptbüchern
Entscheiden, welche Hauptbücher der Wahrheit entsprechen
Die oben umrissenen Aufgaben werden in den nächsten 12 Schritten behandelt.