monsitj - stock.adobe.com
Kann Blockchain klassische Datenbanken ersetzen?
Die sichere Verschlüsselung der Blockchain ist für viele Unternehmen von hohem Nutzen. Dieser Artikel stellt Anwendungsfälle, Vorteile und Grenzen der Technologie vor.
Im letzten Jahrhundert wurden Papierlisten und -bücher durch leistungsstarke elektronische Datenbanken ersetzt. Diese Datenbanken ermöglichten es IT-Administratoren, dass sie Datensätze und zugehörige Informationen schnell und bequem suchen, sortieren, teilen und verschieben konnten.
Klassische Datenbanken haben allerdings ihre Grenzen. So sind Datenbanken normalerweise Dienste, die nur einem bestimmten Unternehmen gehören. Eine Firma implementiert, erstellt und verwaltet ihre Datenbank und die darin enthaltenen Informationen. Das Unternehmen kann diese Daten dann nutzen – oder sie an andere Unternehmen innerhalb seiner digitalen Wirtschaft verkaufen, mit diesen teilen und anderweitig weitergeben. Das Unternehmen, das Eigentümer der Datenbank ist, hat aber grundsätzlich die vollständige Kontrolle über deren Design, Inhalt und Verfügbarkeit.
Diese zentralisierten Datenbanken haben mehrere Nachteile. So sind die Nutzer der Datenbank vollständig von der Integrität der Daten und des Datenbankeigentümers abhängig, der oft als vertrauenswürdige Autorität bezeichnet wird. Da die Welt immer vernetzter und abhängiger von Daten und deren gemeinsamer Nutzung wird, stellen die Einschränkungen herkömmlicher Datenbanken eine Herausforderung für die Sicherheit und das Vertrauen dar.
Diese Beschränkungen haben die Entwicklung von verteilten elektronischen Datenbanksystemen vorangetrieben. Dabei handelt es sich um eine Technologie zur Demokratisierung von Informationen. Diese Demokratisierung erfolgt durch die Verteilung und Synchronisierung von Daten zwischen mehreren unabhängigen Akteuren, wie zum Beispiel Unternehmen oder Regierungen, die sich für eine Teilnahme an dem System entscheiden. Das bekannteste Beispiel für ein derartiges verteiltes System ist die Blockchain.
Was ist eine Blockchain?
Bei der 2009 eingeführten Blockchain handelt es sich um eine elektronische Datenbank, die auch als unveränderliches Hauptbuch (Immutable Ledger) bezeichnet wird. In diesem Hauptbuch werden wichtige Informationen wie Aufzeichnungen und Ledger-Einträge gespeichert. Die Blockchain-Technologie bietet jedoch zusätzliche Merkmale und Funktionen, die herkömmliche Datenbanken nicht haben.
Erstens arbeitet ein Blockchain-System über ein Peer-to-Peer-Netzwerk (P2P). In einem solchen Netzwerk teilt jeder Teilnehmer die Rechen- und Netzwerklast und verwaltet vollständige Kopien der Daten. Der Nachteil: Je mehr Peers dem Netzwerk beitreten, desto größer wird das System und desto mehr Datenverkehr muss verarbeitet werden. Der Vorteil: Mehr Peers bedeuten auch eine höhere Verfügbarkeit und Fehlertoleranz für die Blockchain-Datenbank.
Zweitens sind die Inhalte eines unveränderlichen Ledgers (Datenbank) alle miteinander verbunden. Jeder Datensatz oder jede Gruppe von Datensätzen, die dem Hauptbuch hinzugefügt wird, stellt einen Datenblock dar. Dabei ist jeder Block mit dem vorherigen Block verknüpft, indem er einen kryptografischen Hash, einen Zeitstempel und Transaktionsmetadaten enthält.
Auf diese Weise verbindet sich jeder Block zu einer wachsenden Kette von Blöcken – daher der Begriff Blockchain – und generiert so sichere und unveränderliche Datensätze. Ein Datensatz kann sich nicht ändern, ohne den kryptografischen Hash zu verändern, ebenso wie alle Hashes in den nachfolgenden Blöcken. Diese Kombination aus Kryptographie und Blockbeziehungen macht eine Blockchain-Datenbank äußerst sicher.
Eine traditionelle Datenbank kann Datensätze ad hoc ändern, während eine Blockchain-Datenbank nur Daten schreiben kann. Dies ist ein wesentlicher Aspekt der Sicherheits- und Integritätsmechanik: Daten können in der Blockchain geändert werden, aber nur durch das Schreiben eines neuen nachvollziehbaren und überprüfbaren Blocks. Es stellt sich also nie die Frage, welche Daten wann, warum und von wem geändert wurden.
Wie die Blockchain funktioniert
Blockchains werden häufig bei Finanztransaktionen eingesetzt. Diese werden vor allem in Kryptowährungen wie Bitcoin oder Ethereum ausgeführt. Wie SQL oder jedes andere Datenbankformat kann die Blockchain jedoch in unzähligen anderen Branchen und Anwendungen eingesetzt werden, nicht nur im Finanzwesen. Wie aber funktioniert die Blockchain? Betrachten wir dazu einen grundlegenden Blockchain-Prozess:
- Eine Transaktion wird angefordert, um einen neuen Datenblock in die Blockchain zu schreiben.
- Die Anforderung wird an alle an der Blockchain beteiligten Knoten gesendet.
- Jeder an der Blockchain teilnehmende Knoten prüft Hashs gegen Algorithmen, um die Transaktion zu validieren.
- Jeder Knoten führt einen Proof-of-Work-Prozess durch, erzielt einen Konsens über die Gültigkeit des neuen Blocks und fügt den Block bei erfolgreichem Konsens zur Kette hinzu.
Nehmen wir als Beispiel an, dass ein Unternehmen ein unveränderliches, prüfbares Protokoll von Serverereignissen und -fehlern im gesamten Unternehmen erstellen möchte. Jeder Server leitet die Protokolleinträge über das Netzwerk an einen gemeinsamen Protokollserver weiter. Dabei könnte jeder Block eine Reihe von Details enthalten, wie etwa die folgenden:
- den Namen und die Adresse des Ursprungs-Servers
- Name und Adresse des Ziel- oder Protokoll-Servers
- den Fehler, das Ereignis und andere Details des Protokolleintrags
Die Verschlüsselung ist der Kern dessen, was einen Block zu etwas Besonderem macht. Blöcken wird ein kryptografischer Hash zugewiesen, der ausschließlich für die Daten eines Blocks generiert wird, und mit dem Hash des vorherigen Blocks.
Ein Hash funktioniert wie ein Fingerabdruck für Daten. Dieser ist eine Folge von Hexadezimalzahlen, der durch einen mathematischen Algorithmus berechnet wird. Dieser Algorithmus erzeugt einen eindeutigen Fingerabdruck für jeden Block. Ändert man nur ein einziges Bit in einem Block, so ändert sich der Hash-Wert. Der geänderte Hash-Wert dieses Blocks wird auch an den nachfolgenden Block weitergegeben und mit diesem gespeichert.
Auf diese Weise entsteht eine Reihe von Blöcken, die nicht nur miteinander verbunden sind. Sie sind auch untrennbar. Wenn ein Hacker ein Bit ändert, stimmt der aufgezeichnete Hash für diesen Block nicht mit dem neuen Hash des Blocks überein und die Blockchain alarmiert die Administratoren. Die Änderung wirkt sich jedoch nicht nur auf den Hash eines Blocks (Block A) aus: Der neue Hash stimmt auch nicht mit dem Hash des nachfolgenden Blocks (Block B) überein, wodurch der Hash von Block B – und die Hashs aller nachfolgenden Blöcke – ungültig werden. Diese miteinander verknüpfte Kryptografie macht Blockchain-Datenbanken sicher und ist das System, das die Unveränderlichkeit erzwingt.
Die Hashs allein reichen jedoch nicht aus, um vollständige Sicherheit zu gewährleisten. Die mächtige Rechenleistung heutiger Computer bietet Hackern manchmal die Möglichkeit, in wenigen Minuten neue Hashs zu berechnen und einzufügen, so dass sich ihre Manipulationen – entweder teilweise oder vollständig – verbergen.
Blockchain-Datenbanken verzögern die Erstellung von Blöcken absichtlich durch einen zeitaufwändigen Rechenprozess, der für jeden Block durchgeführt wird. Diese Technik wird Proof-of-Work genannt und erfordert, dass eine Berechnung durchgeführt und validiert wird, bevor ein Block in die Kette aufgenommen werden kann. Eine typische Transaktion kann für jeden Block bis zu zehn Minuten in Anspruch nehmen. Das bedeutet, dass ein Hacker eine beträchtliche Zeit benötigt, um eine umfangreiche Blockchain zu manipulieren. Die Wahrscheinlichkeit, dass ein Hacker in eine ganze Blockchain eindringt und sie neu validiert, ohne entdeckt zu werden, ist sehr gering.
Das verteilte P2P-Netzwerk sichert auch das unveränderliche Hauptbuch. Jedes System oder jeder Knoten, der an der Datenbank teilnimmt, hostet eine vollständige Kopie der Blockchain. Jeder Knoten verifiziert jeden Block, bevor er ihn zu seiner Kopie hinzufügt. Alle teilnehmenden Knoten schaffen einen Konsens, der bestimmt, welche Blöcke gültig sind. Stellt ein Knoten fest, dass ein Block ungültig ist oder manipuliert wurde, wird der Block zurückgewiesen. Somit wird ein Angreifer, der die Blockchain auf einem Knoten erfolgreich hackt, von den anderen an der Blockchain teilnehmenden Knoten entdeckt und zurückgewiesen.
Blockchain-Versionen
Die Blockchain hat sich seit ihrer Einführung weiterentwickelt. Sie unterstützt heute eine breite Palette von Anwendungen und Use Cases. Insgesamt gibt es drei große Iterationen der Technologie.
- Blockchain 1.0 steht für die frühe Einführung der Technologie. Diese konzentrierte sich hauptsächlich auf Finanztransaktionen.
- Blockchain 2.0 erweitert die Fähigkeiten um die Unterstützung von Smart Contracts. Diese können herkömmliche Papierverträge ersetzen. Die Bedingungen einer Vereinbarung werden innerhalb der Kette durch kleine Applets erstellt, validiert, überwacht und durchgesetzt. Diese Art von Blockchain wird zunehmend im Supply Chain Management eingesetzt, wo Waren gekauft, verkauft und transportiert werden.
- Blockchain 3.0 verbessert die Interoperabilität und Skalierbarkeit zur Unterstützung dezentraler Anwendungen, sogenannter DApps. Eine DApp läuft auf dem Backend über ein dezentrales P2P-Netzwerk. Die Blockchain ist auf dem Frontend aktiv, um Aufrufe an die – auf dem Backend ausgeführte – DApp zu tätigen.
Blockchains können öffentlich, privat oder partnerschaftlich sein.
- Öffentliche (Public) Blockchains stehen jedem Unternehmen oder Nutzer zur Verfügung, so dass jeder einen Datenblock zur Kette hinzufügen kann.
- Private Blockchains sind für die Verwendung innerhalb einer einzelnen Organisation gedacht – oder noch enger gefasst. Zum Beispiel für bestimmte Teams oder Mitarbeiter. Aber die Datenbank kann normalerweise von jedem in dieser Organisation eingesehen werden.
- Partner-Blockchains unterstützen eine Gruppe von Organisationen, die Transaktionen gemeinsam nutzen, wie zum Beispiel Regierungsbehörden.
Blockchain-Anwendungsfälle
Die Blockchain-Technologie wird heute in einer Vielzahl von Branchen eingesetzt, um eine ganze Reihe von Aufgaben auszuführen. Einige gängige Beispiele für den Blockchain-Einsatz sind:
- Finanzen. Die Finanzmärkte gehören zu den ersten Anwendern von Blockchains. Sie nutzen die Technologie für die Buchhaltung, und um herkömmliche elektronische Hauptbücher durch Zahlungen von Kryptowährungen und andere Markttransaktionen sowie das Clearing zu ersetzen.
- Regierungen. Regierungen verwenden die Blockchain zur Aufbewahrung und Bereitstellung von Dokumenten wie Urkunden und öffentlichen Aufzeichnungen.
- Lieferketten. Märkte verwenden die Blockchain zum Austausch von Daten, zur Unterstützung der Rechnungsstellung, zur Verwaltung von Quoten und zur Verfolgung von Waren und Dienstleistungen.
- Gesundheitswesen. Das Gesundheitswesen setzt Blockchains zur Speicherung und zum Schutz von Patientendaten ein, zur Sammlung von Daten für Analysen, zur Abwicklung von Zahlungen und zur Planung und Bereitstellung von Gesundheitsleistungen.
- Technologie. Die Blockchain wird zunehmend in technologischen Anwendungen eingesetzt, darunter in intelligenten Netzwerken – wie zum Beispiel in intelligenten Städten (Smart Cities). Sie sammelt und verarbeitet auch Daten für IoT-Geräte wie Drohnen, unterstützt selbstfahrende Fahrzeuge, Robotik, Supercomputer und Analysen.
Vorteile der Blockchain
Die Blockchain-Technologie bringt wichtige Vorteile für Unternehmen und kritische Geschäftsdaten.
Sicherheit. Die Verwendung von Kryptographie, Unveränderlichkeit und einer verteilten Struktur bedeutet, dass eine Blockchain-Datenbank praktisch immun gegen Hackerangriffe, Betrug und andere Verstöße ist. Unerlaubte Datenänderungen werden zuverlässig erkannt und abgewiesen.
Widerstandsfähigkeit. Blockchain ist eine verteilte Technologie: Jeder Knoten, der an der Datenbank partizipiert, teilt eine vollständige Kopie der Datenbank. Er trägt damit durch Konsens zur Validierung jedes Knotens bei, wenn dieser sich ändert. Durch den Konsens wird nicht nur die Sicherheit erhöht. Auch wenn ein Knoten ausfällt oder angegriffen wird, zum Beispiel bei einem verteilten Denial of Service (DoS), funktionieren die übrigen Knoten weiter. Es ist extrem schwierig, jeden Knoten anzugreifen und zu deaktivieren.
Schnellere Geschäfte. Da der gemeinsame Datensatz allen Beteiligten mit Zugriff auf das Hauptbuch zur Verfügung steht, macht eine Blockchain-Datenbank oft die traditionellen manuellen Überprüfungen und Abwicklungszeiten für Geschäftstransaktionen überflüssig. Dies kann zu einer drastischen Beschleunigung einiger finanzieller und vertraglicher Geschäftsvorgänge beitragen.
Compliance und Governance. Die unveränderliche und chronologische Natur von Blockchain-Daten kann selbst geprüft werden. Damit kann die Einhaltung von Geschäfts- oder Branchenvorschriften gewährleistet werden, und als Schlüsselelement der Unternehmensführung im gesamten Unternehmen dienen.
Transparenz. Da der Bedarf an allgemeinem Vertrauen im globalen Geschäft zunimmt, trägt die Sichtbarkeit und Unveränderlichkeit öffentlicher Blockchain-Transaktionen dazu bei, Vertrauen in die Korrektheit und Fairness der Daten aufzubauen und sicherzustellen.
Grenzen der Blockchain
Trotz der Vorteile birgt die Blockchain potenzielle Einschränkungen, die der Technologie inhärent sind.
Komplexität. Die Sicherheit der Blockchain ist mit einer höheren Komplexität verbunden. Man denke nur an die Anzahl der Knoten und Kopien der Datenbank, die auf Geschäftspartner und Unternehmen auf der ganzen Welt verteilt sind: Dies stellt eine zusätzliche Belastung für Netzwerke und Prozesse dar. Deshalb ist die Blockchain eine Technologie, die sich nur für die sicherheitssensibelsten oder geschäftskritischsten Datenbankanwendungen eignet.
Langsamere Transaktionen. Obwohl ein Block eine beträchtliche Datenmenge enthalten kann, kann die Zeit, die benötigt wird, um den Proof-of-Work durchzuführen und einen Konsens zwischen allen Knoten zu erreichen, den Prozess der Dateneingabe verlangsamen. Einige Knoten bevorzugen bestimmte Arten von Transaktionen gegenüber anderen, was zu Rückständen führt, deren Behebung problematisch wird.
Energie-Ineffizienz. Eine zunehmende Beschwerde über Blockchains ist, dass das System viel Energie und Zeit benötigt, um den Proof-of-Work auf allen beteiligten Knoten auszuführen, wobei der Nutzen dieser ganzen Rechenarbeit fast nicht vorhanden ist.
Größe der Datenbank. Die Notwendigkeit, eine Blockchain-Datenbank über die Knoten hinweg zu kopieren und zu synchronisieren, macht es für IT-Fachleute schwierig, neue Knoten zeitnah zu installieren und zu synchronisieren. Mit zunehmender Größe wird es immer schwieriger, Blockchains zu erstellen und zu pflegen.
Skalierbarkeit. Blockchains lassen sich nicht gut skalieren. Der Grund dafür ist, dass das Hinzufügen von Blöcken aufgrund von Proof-of-Work-Operationen nur langsam vonstatten geht. Jeder Block kann nur eine begrenzte Menge an Daten speichern, und in einem bestimmten Zeitraum kann nur eine begrenzte Anzahl von Blöcken an die Kette angehängt werden. Dies limitiert die mögliche Größe der Blockchain-Datenbank.
Letztendlich ist es unwahrscheinlich, dass die Blockchain und die unveränderliche Ledger-Technologie ein geeigneter Ersatz für alle Datenbankanwendungen sein werden. Unternehmen sollten sich für diejenigen Plattformen entscheiden und einsetzen, die sich am besten für deren Bedürfnisse eignen.