Unsere gedankliche Entdeckungsreise zu einem Verständnis der Blockchain gipfelt nun in diesem Schritt. Die einzelnen Konzepte, aus denen die Blockchain besteht, haben Sie in den Schritten 9 bis 20 bereits kennengelernt. Jetzt fügen wir alles zu einem Gesamtbild zusammen. So erlangen Sie nicht nur ein Verständnis von der Blockchain in ihrer Gesamtheit, sondern können auch nachvollziehen, wie die Konzepte ineinandergreifen. Dieser Lernschritt beginnt mit einer Vertiefung der wesentlichen Konzepte und Technologien der Blockchain, um dann auf der Grundlage des bisher erlangten technischen Wissens eine Erklärung für die Blockchain bereitzustellen. Abschließend bietet er zudem eine Betrachtung der Definition des Blockchain-Technologiepakets, das die Blockchain für ein weites Anwendungsfeld öffnet.
Die gedankliche Entdeckungsreise zum Verständnis der Blockchain begann in Schritt 8. Darin haben wir das Konzept eines rein verteilten Peer-to-Peer-Systems zur Verwaltung von Eigentum geplant. Tabelle 21.1 stellt diese Aufgaben, ihre Ziele, die zugehörigen Schritte und die jeweiligen Konzepte der Blockchain dar.
Aufgabe Nr. |
Ziel |
Schritt Nr. |
Wesentliches Konzept |
---|---|---|---|
1 |
Beschreiben von Eigentum |
Transaktionsdatenhistorie |
|
2 |
Schützen von Eigentum |
Digitale Signatur |
|
3 |
Speichern von Transaktionsdaten |
Blockchain-Datenstruktur |
|
4 |
Vorbereiten von Hauptbüchern für die Verteilung |
Unveränderlichkeit |
|
5 |
Verteilen von Hauptbüchern |
Informationsweitergabe in Netzen |
|
6 |
Eintragen neuer Transaktionen |
Blockchain-Algorithmus |
|
7 |
Entscheiden, welches Hauptbuch der Wahrheit entspricht |
Verteilte Konsensentscheidungen |
Tabelle 21.1: Übersicht der Aufgaben bei der Konzeption eines verteilten Peer-to-Peer-Systems zur Verwaltung von Eigentum
Beachten Sie bitte, dass die hier aufgeführten wesentlichen Konzepte, aus denen die Blockchain besteht, wiederum auf anderen Konzepten und Technologien fußen. Für das Verständnis der Blockchain ist zumindest ein entsprechende Basiswissen erforderlich und deshalb sind in Tabelle 21.2 die Technologien, aus denen die Blockchain besteht, detaillierter dargestellt. Im weiteren Verlauf dieses Schritts betrachten wir die Konzepte aus diesen beiden Tabellen.
Konzept |
Zielsetzung |
Verwendete Metapher |
---|---|---|
Transaktionsdaten |
Beschreiben der Eigentumsübertragung |
Überweisungsträger |
Transaktionshistorie |
Beweisen des aktuellen Eigentumszustands |
Verlauf eines Staffellaufs |
Kryptographischer Hashwert |
Eindeutiges Identifizieren beliebiger Datenarten |
Menschliche Fingerabdrücke |
Asymmetrische Kryptographie |
Ver- und Entschlüsseln von Daten |
Öffentlicher Briefkasten mit Schloss |
Digitale Signatur |
Einverständniserklärung mit dem Inhalt von Transaktionsdaten |
Eigenhändige Unterschrift |
Hashreferenz |
Verweis, der ungültig wird, sobald die referenzierten Daten geändert werden |
Garderobenmarken mit Hashwerten zum Identifizieren von Haken |
Veränderungssensitive Datenstrukturen |
Speichern von Daten auf eine Art und Weise, die jegliche Manipulationen unverzüglich offensichtlich macht |
Mäntel mit Garderobenmarken in den Taschen |
Hashpuzzle |
Auferlegen von rechenintensiven Aufgaben |
Öffnen eines Zahlenschlosses durch Ausprobieren |
Blockchain-Datenstruktur |
Speichern von Transaktionsdaten auf veränderungssensitive Weise und Beibehalten der Reihenfolge |
Bibliothek mit Kartenkatalog |
Unveränderlichkeit |
Unmöglichkeit des Änderns der Transaktionsdatenhistorie |
Versuch einer Stammbaumfälschung |
Verteiltes Peer-to-Peer-Netz |
Freigeben der Transaktionshistorie unter allen Knoten im Netzwerk |
Gruppen unabhängiger Zeugen |
Nachrichtenweitergabe |
Sicherstellen, dass alle Knoten im System letztendlich sämtliche Informationen erhalten |
Klatsch und Tratsch |
Blockchain-Algorithmus |
Sicherstellen, dass nur gültige Transaktionsdaten zur Blockchain-Datenstruktur hinzugefügt werden |
Zuckerbrot und Peitsche zur Kontrolle von Auftragnehmern |
Verteilte Konsensentscheidungen |
Sicherstellen, dass alle Knoten des Systems dieselbe Transaktionsdatenhistorie verwenden |
Trampelpfad in einem Park, den Besucher durch häufiges Begehen selbst erschaffen haben |
Kompensation |
Anreiz für Knoten zum Erhalten von Integrität |
Backstube, die ihre Angestellten mit Brot entlohnt |
Tabelle 21.2: Technische Konzepte hinter der Blockchain, ihr Ziel und die zugehörige Metapher
Nachdem Sie sich einen Überblick über die einzelnen Konzepte verschafft haben, aus denen die Blockchain besteht, werden Sie nun das Zusammenwirken all dieser Konzepte kennenlernen. Die Analyse von Systemen durch das Identifizieren der funktionalen und nichtfunktionalen Aspekte von Anwendungs- und Implementierungsschichten (siehe Schritt 1) kann uns nun dabei helfen, das Zusammenwirkten der Blockchain-Konzepte zu erkennen. Tabelle 21.3 enthält eine Übersicht der Schichten und Aspekte der Blockchain.
Schicht |
Funktionale Aspekte |
Nichtfunktionale Aspekte |
---|---|---|
Anwendung |
|
|
Implementierung |
|
Die Blockchain erfüllt zwei Zwecke:
Das Abklären des Eigentums erfolgt durch das Beantworten der wesentlichen Frage rund um das Eigentum, nämlich: Wem gehört zu welchem Zeitpunkt welcher Anteil an welchem Objekt?
Bei einer Eigentumsübertragung wird der aktuelle Eigentumszustand geändert. Im Hinblick hierauf ermöglicht die Blockchain den Eigentümern, ihr Eigentum an andere Personen zu übertragen. Daraus ergibt sich eine weitere wichtige Frage für den Eigentumsnachweis, nämlich: Wer hat sein Eigentum woran in welchem Maße und zu welchem Zeitpunkt an wen übertragen?
Beim Interagieren mit der Blockchain stellen Sie fest, wie diese ihre Aufgabe erfüllt. Die Qualität, in der die Blockchain ihren Zweck erfüllt, wird durch ihre nichtfunktionalen Aspekte beschrieben:
Hoch verfügbar
Zensursicher
Zuverlässig
Offen
Pseudoanonym
Sicher
Belastbar
Irgendwann konsistent (eventually consistent)
Integritätserhaltend
Die Blockchain kennt keine Pausen und keinen Stillstand. Sie ist rund um die Uhr an sieben Tagen die Woche jahrein und jahraus verfügbar. Es gibt noch nicht einmal einen Ausschalter!
Es gibt keine Einzelperson oder -instanz, die den Inhalt der Blockchain vorschreiben oder das Gesamtsystem abschalten kann.
Die Blockchain erfüllt ihren Zweck fortlaufend in guter Qualität. Ihr »Wort« in Sachen Abklären und Übertragen von Eigentum ist vertrauenswürdig.
Die Blockchain schließt keine Anwender oder Computer von der Nutzung ihrer Dienste aus, sie ist vielmehr für alle offen.
Die Blockchain identifiziert Eigentümer eindeutig, ohne deren echte Identität aufzuzeichnen oder zu enthüllen.
Die Blockchain ist in zweierlei Hinsicht sicher: (1) auf der Ebene individueller Transaktionen und (2) auf der Ebene des Gesamtsystems. Auf individueller Ebene stellt die Blockchain sicher, dass das Eigentum ausschließlich dem rechtmäßigen Eigentümer zur Verfügung gestellt wird. Auf der Gesamtebene schützt die Blockchain das Eigentum sämtlicher Eigentümer vor Manipulationen, Fälschungen, Double-Spending und unberechtigten Zugriffen.
Die Blockchain kann auch unter schwierigen Bedingungen das Eigentum korrekt abklären und übertragen. Sie widersteht einer Vielzahl von Angriffen auf das Eigentum, zum Beispiel Fälschung, Double-Spending und Zugriffen auf das Eigentum anderer durch Vorspiegelung einer falschen Identität.
Die Blockchain liefert nicht immer sofort konsistente Ergebnisse, allerdings steigt die Wahrscheinlichkeit dafür im Laufe der Zeit an, bis irgendwann eine vollständige Konsistenz im Gesamtsystem erreicht wird.
Die Blockchain erhält ihre Integrität mittels eines Verhaltens, das frei von logischen Fehlern ist. Sie bewahrt die Datenkonsistenz und stellt die Sicherheit auf der Ebene individueller Transaktionen und über die gesamte Transaktionsdatenhistorie sicher.
Die interne Funktionsweise der Blockchain lässt sich auf die folgenden Hauptkomponenten zurückführen:
Eigentumslogik
Transaktionssicherheit
Transaktionsverarbeitungslogik
Speicherlogik
Peer-to-Peer-Architektur
Konsenslogik
Die Eigentumslogik regelt, wie das Eigentum abgeklärt und übertragen wird. Die Blockchain nutzt individuelle Transaktionsdaten zum Beschreiben der Eigentumsübertragung und bewahrt sämtliche Transaktionsdaten zum Zwecke von Eigentumsabklärungen auf. Abbildung 21.1 stellt die Eigentumslogik und die zugrunde liegenden Konzepte dar. Die Konzepte in den Kästen oben sind von den darunter angeführten Konzepten abhängig. Die unterste Reihe von Kästen stellt die Konzepte dar, auf denen die Eigentumslogik fußt und die genauer definiert werden müssen.
Die in der Blockchain angewendete Eigentumslogik beruht auf einer Speicherlogik, die die gesamte Transaktionsdatenhistorie führt, sowie einer Konsenslogik, die die Konsistenz sicherstellt. Außerdem verlässt sich die Eigentumslogik auf eine Transaktionsverarbeitungslogik, die dafür sorgt, dass nur gültige Transaktionsdaten in den Datenspeicher eingetragen werden. Die Transaktionssicherheit sorgt dafür, dass nur der rechtmäßige Eigentümer eine Übertragung seines Eigentums auf ein anderes Konto vornehmen kann. Diese vier Elemente sind Gegenstand der restlichen Komponenten der Blockchain.
Die Transaktionssicherheit stellt sicher, dass nur der rechtmäßige Eigentümer auf seinen Besitz zugreifen und ihn an andere Konten übertragen kann. Abbildung 21.2 verdeutlicht die Konzepte für die Umsetzung der Transaktionssicherheit. Die grundlegendsten von ihnen wie die kryptographischen Hashwerte und die asymmetrische Kryptographie sind als Kästen in der untersten Reihe angeordnet, da sie das Fundament für alle anderen Konzepte in den Kästen darüber bilden. Die digitale Signatur ist zum Beispiel unter der Autorisierung zu finden, weil es sich um ein Mittel zum Autorisieren einer Transaktion handelt. Gleichzeitig steht sie über den kryptographischen Hashwerten und dem privaten Schlüssel, da sie auf diesen aufbaut. Ebenso wird in Abbildung 21.2 die Abhängigkeit zwischen Authentifizierung sowie Identifizierung von der Kryptographie in tieferen Ebenen deutlich.
Die Transaktionsverarbeitungslogik stellt sicher, dass nur gültige Transaktionsdaten in die kollektiv geführte Transaktionsdatenhistorie eingetragen werden. Sie ist von der Validierung der Transaktionsdaten abhängig, die eine Kernfunktionalität des Systems darstellt. Jeder einzelne Knoten im System kann für sich allein genommen die Validierung von Transaktionsdaten durchführen – allerdings könnten einem einzelnen Knoten dabei Fehler unterlaufen oder er könnte absichtlich ungültige Transaktionsdaten annehmen. Da beide Fälle eine Bedrohung für die Integrität des Gesamtsystems darstellen, umfasst die Verarbeitung von Transaktionen eine raffinierte Technik, bei der die Validierung von neuen Blöcken, bzw. deren Headern, erfolgt. Diese Technik schließt die Peer-to-Peer-Architektur, die gegenseitige Kontrolle und den Wettbewerb ein. Als Basis werden die Kräfte von Belohnung und Bestrafung genutzt. Abbildung 21.3 stellt die Beziehung dieser Konzepte untereinander dar. Auch hier sind die Konzepte in den Kästen in den oberen Reihen von den Konzepten in Kästen in den unteren Reihen abhängig.
Die Verarbeitung gültiger Transaktionen führt zu deren Eintragung in die gesamte Transaktionsdatenhistorie – sie werden also zu einem Datenspeicher hinzugefügt, der die gesamte Transaktionsdatenhistorie enthält. Die Integrität des Gesamtsystems und seine Eignung zur Erfüllung seines Daseinszwecks (Abklären und Übertragen von Eigentum) ist von der Integrität dieses Datenspeichers abhängig. Somit befasst sich die Speicherlogik mit der Führung der gesamten Transaktionsdatenhistorie und dem Schutz der Daten vor Manipulationen, Fälschungen usw. Zudem wird das Ändern der Daten extrem aufwendig gemacht. Wie Abbildung 21.4 zeigt, nutzt die Speicherlogik hierfür einen unveränderlichen Nur-Hinzufüge-Datenspeicher, der auf Arbeitsnachweisen und der Blockchain-Datenstruktur beruht. Die Funktionsweise lässt sich auf Hashpuzzles, Hashreferenzen und veränderungssensitive Datenstrukturen zurückführen, die wiederum zum grundlegenden Konzept der kryptographischen Hashwerte zurückverfolgt werden können. Abbildung 21.4 stellt die Abhängigkeit der Speicherlogik ebenfalls in einem Stapel aus Kästen dar, bei dem die oberen Kästen auf den unteren fußen.
Die Architektur bestimmt, wie Komponenten oder Knoten eines Systems untereinander in Beziehung stehen und miteinander verbunden sind. Wie Abbildung 21.5 zeigt, ist die Blockchain ein rein verteiltes Peer-to-Peer-System, das aus als Knoten bezeichneten unabhängigen Peers besteht. Diese Knoten sind über ein Netzwerk miteinander verbunden, das als Kommunikationsmedium dient. Jeder der Peers führt ein eigenes Exemplar der Blockchain-Datenstruktur, in dem die gesamte Transaktionsdatenhistorie verzeichnet ist. Die Peers kommunizieren untereinander im Tratschstil, sodass letztendlich alle Nachrichten zu allen Peers gelangen.
Da alle Knoten des verteilten Systems unabhängig voneinander eine eigene Transaktionsdatenhistorie führen, können sich die darin hinterlegten Inhalte infolge von Verzögerungen oder anderen Widrigkeiten bei der Nachrichtenübermittlung im Netzwerk unterscheiden. Aus diesem Grund weist der eigentlich als ununterbrochene, geradlinige Kette gedachte Datenspeicher eine baumförmige Datenstruktur auf, bei der jeder Ast oder Zweig eine konkurrierende Version der Transaktionshistorie darstellt. Die Konsenslogik gemäß Abbildung 21.6 sorgt dafür, dass sich letzten Endes alle Knoten des Systems für dieselbe Version der Transaktionshistorie entscheiden. Dabei handelt es sich um die Version, die die größten kollektiven Anstrengungen repräsentiert.
Eine Trennung jener Komponenten der Blockchain, die speziell auf das Ziel »Verwaltung von Eigentum« ausgerichtet sind, von denen, die für das spezifische Anwendungsziel unerheblich (agnostisch) sind, führt zur Abstraktion und unserem Verständnis des Blockchain-Technologiepakets aus Schritt 5. Eigentumslogik und Transaktionsdaten sind anwendungsspezifische Komponenten, denn sie bestimmen ja, wie Eigentum mithilfe von Transaktionsdaten beschrieben, geklärt und übertragen wird. Andererseits sind Transaktionssicherheit und Transaktionsverarbeitungslogik weniger spezifisch für den Anwendungszweck: Erstere nutzt die allgemeinen Konzepte von Identifizierung, Authentifizierung, Autorisierung und digitaler Signatur, die auch in vielen anderen Einsatzgebieten verwendet werden können. Und Letztere ist, wie in Abbildung 21.3 zu sehen, ein gewaltiger Mechanismus zur Datenverarbeitung, dessen überwiegende Komponenten für das Anwendungsziel agnostisch sind. Die einzige Komponente der Transaktionsverarbeitungslogik, die eng mit dem Zweck der Anwendung verwoben ist, ist die Validierung der Transaktionsdaten. Alle anderen Komponenten wie Wettbewerb, gegenseitige Kontrolle, Belohnung, Bestrafung und Validierung von Block-Headern sind in Bezug auf die verarbeiteten Daten agnostisch. Abbildung 21.7 zeigt das Ergebnis der Unterteilung einer Blockchain in anwendungsspezifische und anwendungsagnostische Komponenten, die das Blockchain-Technologiepaket darstellen.
In diesem Schritt haben Sie alle Einzelteile aus den vorhergehenden Schritten zu einem Gesamtbild der Blockchain zusammengefügt. Die Offenheit und das Fehlen jeglicher zentralen Kontrolle oder Koordinierung stellen die Grundlage des Systems dar, denn sie ermöglichen es den Knoten, als unabhängige Zeugen zum Abklären von eigentumsrelevanten Fragen zu dienen. Allerdings können diese Eigenschaften auch unerwünschte Folgen haben. Welcher Art diese unerwünschten Folgen sind und wie sie den Nutzen der Blockchain beeinträchtigen können, erfahren Sie im nächsten Schritt.
Die Blockchain ist ein rein verteiltes Peer-to-Peer-System, das folgende Probleme der Eigentumsverwaltung löst:
Beschreiben von Eigentum: Transaktionsdatenhistorie
Schützen von Eigentum: digitale Signatur
Speichern von Transaktionsdaten: Blockchain-Datenstruktur
Vorbereiten von Hauptbüchern für die Verteilung: Unveränderlichkeit
Verteilen von Hauptbüchern: Informationsweitergabe in einem Netzwerk im Tratschstil
Verarbeiten neuer Transaktionen: Blockchain-Algorithmus
Entscheiden, welches Hauptbuch der Wahrheit entspricht: verteilte Konsensentscheidungen
Das Analysieren der Blockchain umfasst die folgenden Aspekte:
Anwendungszweck
ihre Eigenschaften
ihre interne Funktionsweise
Die Blockchain hat zwei Anwendungszwecke:
Abklären des Eigentums
Übertragen von Eigentum
Die Blockchain erfüllt ihre Anwendungszwecke mit folgenden Eigenschaften:
Hoch verfügbar
Zensursicher
Zuverlässig
Offen
Pseudoanonym
Sicher
Belastbar
Irgendwann konsistent (eventually consistent)
Integritätserhaltend
Intern besteht die Blockchain aus Komponenten, die für den Anwendungszweck »Verwaltung von Eigentum« entweder spezifisch oder agnostisch sind.
Die anwendungsspezifischen Komponenten der Blockchain sind:
Eigentumslogik
Transaktionsdaten
Transaktionsverarbeitungslogik
Transaktionssicherheit
Die anwendungsagnostischen Komponenten sind:
Blockchain-Technologiepaket
Rein verteilte Peer-to-Peer-Architektur
Das Blockchain-Technologiepaket besteht aus folgenden Komponenten:
Speicherlogik
Konsenslogik
Datenverarbeitungslogik
Asymmetrische Kryptographie