WAS IST BLOCKCHAIN?
:conwic erklärt das Konzept einer Blockchain. Dabei wird das Peer-to-Peer-Netzwerk eines "Distributed Ledger" und die Mechanismen einer Blockchain am Beispiel einer Kryptowährungs-Blockchain vorgestellt.
Einleitung
Der Begriff “Blockchain” wurde als Basis-Technologie der Kryptowährung “Bitcoin” bekannt. Vor diesem Hintergrund leitet sich auch der ebenfalls gebräuchliche Begriff “Distributed Ledger” ab: Eine Blockchain kann vereinfacht gesagt als ein Kontenbuch (ledger) angesehen werden, dass auf zahlreichen Rechnern redundant verteilt (distributed) ist und von allen Rechnern gemeinsam fortgeführt wird.
Die Blockchain wird dabei durch einige Merkmale ausgezeichnet:
- Anonymität
- Manipulationssicherheit
- Nachvollziehbarkeit
- geringeres operationelles Risiko
- Zusicherung von Änderungen durch Verträge
Bei den meisten (öffentlichen) Blockchains sind die Benutzer grundsätzlich anonym. Die Teilnahme erfolgt mittels Zertifikaten, wobei die Angabe von persönlichen Daten entfällt.
Aufgrund der verwendeten kryptographischen Verfahren werden Manipulationen erschwert. Zusätzlich wird durch die Architektur der Datenspeicherung sowie der Verteilung der Daten auf zahlreiche Rechner eine eventuelle Manipulation sofort durch die Mehrheit der Teilnehmer erkannt, so dass eine unzulässige Änderung zurückgewiesen wird.
Zusätzlich wird durch die Verteilung eine hohe Ausfallsicherheit erreicht. Die zugrunde liegende Peer-to-Peer Netzwerkarchitektur funktioniert auch bei Ausfall ein oder mehrerer Rechner.
Innerhalb der Blockchain sind alle Daten als Transaktionen gespeichert. Dadurch lassen sich jegliche Zustände einsehen, d.h. jede Änderung ist nachvollziehbar.
Änderungen von Daten erfolgen durch vorher festgelegte Algorithmen. Diese sogenannte Smart Contracts sorgen beispielsweise im Fall von Kryptowährungen für den reibungslosen und sicheren Transfer von virtuellen Währungen, ohne dass eine neutrale Instanz zwischengeschaltet ist. Vielmehr bestätigt die Allgemeinheit, d.h. die im Netzwerk teilnehmenden Rechner, die korrekte Ausführung und Gültigkeit einer Transaktion.
Blockchain
Der erste Block
Eine Blockchain besteht zunächst aus einem Block, in dem bestimmte Daten enthalten sind. Dieser Startblock oder auch Genesis-Block wird in der Regel durch die zugrunde liegende Technologie (bspw. Bitcoin) vorgegeben. Er enthält Startwerte für das Netzwerk, bspw. die maximale Anzahl an gültigen Münzen.
Die erste Verkettung
Nachdem dieser Block erstellt wurde, wird ein neuer Block begonnen. In diesen Block fließen solange Daten, bis der Block abgeschlossen wird. Zudem wird der Hash-Wert des vorherigen Blocks vermerkt, was gleichzeitig die Verkettung darstellt.
Die Kette wächst...
Nach Abschluss von Block zwei wird der nächste Block erstellt. Auch hier wird der Hash-Wert des vorangegangenen Blocks gespeichert.
Insgesamt wird somit eine Kette von Blöcken erstellt, wobei der Nachfolgende immer den Bezug zu seinem vorangegangen Block hat. Durch dieses Konzept kann eine Manipulation eines vorangegangen Blocks erkannt werden, da sich dann dessen Hash-Wert ändern würde.
Distributed Ledger
In der Regel wird die Blockchain auf beliebig vielen Rechnern (sog. Peers) verteilt. Anders als in klassischen, herkömmlichen Infrastrukturen existiert kein zentraler Server. Somit entfällt auch eine führende Instanz, die die Korrektheit und Reihenfolge der in einen Block zu schreibenden Daten sicherstellt.
Stattdessen müssen die einzelnen Peers zu einer Übereinkunft, dem Konsens, gelangen. Dies kann durch unterschiedliche Konsens-Mechanismen geschehen, bei Bitcoin bspw. durch ein „Proof of Work“.
Bei einem „Proof of Work“ versuchen die einzelnen Peers eine Rechenaufgabe zu lösen („mining“, die Peers werden „Miner“ genannt). Solange diese berechnet wird, fließen alle anfallenden Daten in den aktuellen Block. Findet ein Miner die Lösung, wird der Block abgeschlossen und der Peer teilt dem Netzwerk das Ergebnis mit.
Neben den Peers, die aktiv die Blockchain entwickeln, existieren auch Teilnehmer, die Daten verändern wollen. Im Falle von Bitcoin entspricht dies einem Benutzer, der einen Bitcoin-Betrag überweisen möchte. Diese Überweisung kann in einer virtuellen Geldbörse (Wallet) vorgenommen werden. Die Wallet sendet dazu die Überweisung in Form einer Transaktion an das Netzwerk, so dass das Guthaben entsprechend im aktuellen Block geändert wird.
Smart Contracts
Vorteile & Nutzen der Blockchain
- Ausfallsicherheit
- Manipulationssicherheit
- Nachvollziehbarkeit
- Prozesseffizienz
- Kostenersparnis
Im Gegensatz zu einem zentralen Server verfügen alle Peers über den gesamten Datenbestand. Somit kann der Ausfall eines oder sogar mehrerer Peers aufgefangen werden, da alle weiteren Peers im Netzwerk weiterhin zu Verfügung stehen und Anfragen beantworten können.
Durch die Verschlüsselung und Verkettung der Blöcke können Manipulationen sofort erkannt werden. Auch die Verteilung der Daten auf die Peers erschwert einen Angriff.
Da alle Zustände der Daten über die verschiedenen Blöcke hinweg versioniert werden, sind alle Änderungen transparent und nachvollziehbar. Jeder Zustand kann zu jedem Zeitpunkt eingesehen werden.
Aufgrund der zugesicherten vertraglichen Eigenschaften der Blockchain können neutrale Mittelsmänner entfallen. Parteien können über die Blockchain direkt miteinander kommunizieren, weitere Parteien und damit zusätzliche Prozess entfallen.
Die verschlankten Prozesse können direkt Zeit und damit Kosten reduzieren. Außerdem kann, je nach Blockchain-Technologie, auch eine allgemein verfügbare Infrastruktur genutzt werden. Kosten entstehen dann nur pro Transaktion, die Administration entfällt.
Anwendungsfälle
Die Blockchain ist die zugrunde liegende Technik für sämtliche Kryptowährungen. Teilweise beinhaltet eine Kryptowährung eine eigene Blockchain-Technologie. Andere Währungen hingegen setzen auf verallgemeinerten Frameworks auf und implementieren eigene Smart Contracts.
Die Beispiele von Kryptowährungen sind in Bezug auf die Smart Contracts gleich. Ein bestimmter Betrag muss von einem Konto auf ein anderes überwiesen werden können. Entsprechend gibt es für diesen Anwendungsfall spezialisierte Frameworks wie bspw. Ethereum oder Ripple.
Doch auch für komplexere Anforderungen, bei denen mehr Daten verarbeitet werden müssen, stehen mittlerweile Blockchain-Frameworks bereit. So ist es in Hyperledger Fabric möglich, innerhalb eines Smart Contracts beliebige Daten auswerten und speichern zu können. Dadurch lassen sich zusätzliche Bedingungen prüfen und Daten unterschiedlichen Typs sichern, vergleichbar mit einer Datenbank.