Blockchains gegen zentralisierte Datenbanken

Vier Hauptunterschiede zwischen Blockchains und regulären Datenbanken

Wenn Sie meine vorherigen Beiträge gelesen haben, werden Sie inzwischen wissen, dass Blockchains einfach eine sind neuer Datenbanktyp. Das heißt, eine Datenbank, die von einer Gruppe nicht vertrauenswürdiger Parteien im Schreibsinn direkt gemeinsam genutzt werden kann, ohne dass ein zentraler Administrator erforderlich ist. Dies steht im Gegensatz zu herkömmlichen (SQL- oder NoSQL-) Datenbanken, die von einer einzelnen Entität gesteuert werden, selbst wenn innerhalb ihrer Wände eine verteilte Architektur verwendet wird.

Ich habe vor kurzem gegeben ein Gespräch über Blockchains aus Sicht der Informationssicherheit, in der ich zu dem Schluss kam, dass Blockchains in gewisser Weise sicherer als normale Datenbanken und in anderen weniger sicher sind. Unter Berücksichtigung der Hauptrolle Da zentralisierte Datenbanken im heutigen Technologie-Stack eine Rolle spielen, habe ich mich eingehender mit den Kompromissen zwischen diesen beiden Technologien befasst. In der Tat, wenn mich jemand fragt, ob Multichain kann für einen bestimmten Zweck verwendet werden, meine erste Antwort lautet immer: "Könnten Sie das mit einer regulären Datenbank tun?" In mehr Fällen als Sie vielleicht denken, lautet die Antwort aus folgendem einfachen Grund Ja:

Wenn Vertrauen und Robustheit kein Problem darstellen, kann eine Blockchain nichts tun, was eine reguläre Datenbank nicht kann.

Dies ist ein wichtiger Punkt, bei dem es so viele Missverständnisse gibt. In Bezug auf die Datentypen, die gespeichert werden können, und die Transaktionen, die mit diesen Daten ausgeführt werden können, machen Blockchains nichts Neues. Und um ganz klar zu sein, diese Beobachtung erstreckt sich trotz ihres sexy Namens und Images auch auf „intelligente Verträge“. Ein intelligenter Vertrag ist nichts anderes als ein Stück Computercode, der auf jedem Knoten in einer Blockchain ausgeführt wird - eine jahrzehntealte Technologie namens Gespeicherte Prozeduren Dies gilt auch für zentralisierte Datenbanken. (Sie können auch keine Blockchain verwenden, wenn dieser Code benötigt wird initiieren Interaktionen mit der Außenwelt.)

Die Wahrheit über Blockchains ist, dass sie zwar einige Vorteile haben, aber auch ihre Nachteile haben. Mit anderen Worten, wie bei den meisten Technologieentscheidungen hängt die Wahl zwischen einer Blockchain und einer regulären Datenbank von einer Reihe von Kompromissen ab. Wenn Sie vom Hype geblendet und vom Lärm betäubt sind, ist es unwahrscheinlich, dass Sie diese Wahl objektiv treffen. Daher hoffe ich, dass der folgende Leitfaden helfen kann.

Disintermediation: Vorteil Blockchains

Der Kernwert einer Blockchain besteht darin, dass eine Datenbank direkt über Vertrauensgrenzen hinweg gemeinsam genutzt werden kann, ohne dass ein zentraler Administrator erforderlich ist. Dies ist möglich, weil Blockchain-Transaktionen einen eigenen Gültigkeitsnachweis und einen eigenen Berechtigungsnachweis enthalten, anstatt eine zentralisierte Anwendungslogik zur Durchsetzung dieser Einschränkungen zu benötigen. Transaktionen können daher von mehreren „Knoten“ unabhängig überprüft und verarbeitet werden, wobei die Blockchain als Konsensmechanismus fungiert, um sicherzustellen, dass diese Knoten synchron bleiben.

Warum ist diese Disintermediation wertvoll? Denn obwohl eine Datenbank nur aus Bits und Bytes besteht, es ist auch eine greifbare Sache. Der Inhalt einer Datenbank wird im Speicher und auf der Festplatte eines bestimmten Computersystems gespeichert, und jeder mit ausreichendem Zugriff auf dieses System kann die darin enthaltenen Daten zerstören oder beschädigen. In dem Moment, in dem Sie Ihre Daten einer regulären Datenbank anvertrauen, werden Sie auch abhängig von der human Organisation, in der sich diese Datenbank befindet.

Jetzt ist die Welt voller Organisationen, die dieses Vertrauen verdient haben - Regierungen und Banken (meistens), Universitäten, Handelsverbände und sogar private Unternehmen wie Google und Facebook. In den meisten Fällen, insbesondere in den Industrieländern, funktionieren diese sehr gut. Ich glaube, meine Stimme wurde immer gezählt, keine Bank hat jemals mein Geld gestohlen, und ich muss noch einen Weg finden, um für bessere Noten zu bezahlen. Also, was ist das Problem? Wenn eine Organisation eine wichtige Datenbank kontrolliert, benötigt sie auch eine Reihe von Personen und Prozessen, um zu verhindern, dass diese Datenbank manipuliert wird. Menschen müssen eingestellt werden, Prozesse müssen gestaltet werden, und all dies kostet viel Zeit und Geld.

Blockchains bieten daher die Möglichkeit, diese Organisationen durch eine verteilte Datenbank zu ersetzen, die durch clevere Kryptografie gesperrt ist. Wie so viel zuvor nutzen sie die ständig wachsende Kapazität von Computersystemen, um eine neue Möglichkeit zu bieten, Menschen durch Code zu ersetzen. Und sobald es geschrieben und debuggt wurde, ist Code in der Regel sehr viel billiger.

Vertraulichkeit: Vorteil zentraler Datenbanken

Wie bereits erwähnt, überprüft und verarbeitet jeder Knoten in einer Blockchain unabhängig jede Transaktion. Ein Knoten kann dies tun, weil er vollständige Sichtbarkeit hat in: (a) dem aktuellen Status der Datenbank, (b) der von einer Transaktion angeforderten Änderung und (c) einer digitalen Signatur, die den Ursprung der Transaktion belegt. Dies ist zweifellos eine clevere neue Art, eine Datenbank zu erstellen, und sie funktioniert wirklich. Wo ist der Haken? Für viele Anwendungen, insbesondere im Finanzbereich, ist die vollständige Transparenz, über die jeder Knoten verfügt, ein absoluter Deal-Killer.

Wie vermeiden Systeme, die auf regulären Datenbanken basieren, dieses Problem? Genau wie Blockchains beschränken sie die Transaktionen, die bestimmte Benutzer ausführen können, aber diese Einschränkungen werden in auferlegt eine zentrale Lage. Infolgedessen muss der gesamte Datenbankinhalt nur an dieser Stelle und nicht an mehreren Knoten sichtbar sein. Anfragen zum Lesen von Daten werden ebenfalls von dieser zentralen Behörde bearbeitet, die diese Anfragen nach eigenem Ermessen annehmen oder ablehnen kann. Mit anderen Worten, wenn eine reguläre Datenbank lesegesteuert ist und Schreibgesteuert kann eine Blockchain nur schreibgesteuert sein.

Um fair zu sein, stehen viele Strategien zur Minderung dieses Problems zur Verfügung. Diese reichen von einfachen Ideen wie Transaktionen unter mehreren Blockchain-Adressen bis hin zu fortschrittlichen kryptografischen Techniken wie z vertrauliche Transaktionen und Zero-Knowledge-Beweise (wird gerade entwickelt). Je mehr Informationen Sie in einer Blockchain verbergen möchten, desto höher ist jedoch der Rechenaufwand für die Generierung und Überprüfung von Transaktionen. Unabhängig davon, wie sich diese Techniken entwickeln, werden sie die einfache und unkomplizierte Methode, Daten vollständig auszublenden, niemals übertreffen.

Robustheit: Vorteil Blockchains

Ein zweiter Vorteil von Blockchain-basierten Datenbanken ist die extreme Fehlertoleranz, die sich aus ihrer integrierten Redundanz ergibt. Jeder Knoten verarbeitet jede Transaktion, sodass kein einzelner Knoten für die gesamte Datenbank von entscheidender Bedeutung ist. In ähnlicher Weise stellen Knoten eine dichte Peer-to-Peer-Verbindung her, sodass viele Kommunikationsverbindungen ausfallen können, bevor die Dinge zum Stillstand kommen. Die Blockchain stellt sicher, dass ausgefallene Knoten Transaktionen, die sie verpasst haben, immer nachholen können.

Zwar bieten reguläre Datenbanken viele Techniken für ReplikationBlockchains bringen dies auf eine ganz neue Ebene. Zunächst ist keine Konfiguration erforderlich. Verbinden Sie einfach einige Blockchain-Knoten miteinander, und sie bleiben automatisch synchron. Darüber hinaus können Knoten ohne Vorbereitung oder Konsequenzen frei zu einem Netzwerk hinzugefügt oder daraus entfernt werden. Schließlich können externe Benutzer ihre Transaktionen an einen beliebigen Knoten oder an mehrere Knoten gleichzeitig senden, und diese Transaktionen werden automatisch und nahtlos an alle anderen weitergegeben.

Diese Robustheit verändert die Wirtschaftlichkeit der Datenbankverfügbarkeit. Mit regulären Datenbanken wird eine hohe Verfügbarkeit durch eine Kombination aus teurer Infrastruktur und katastrophale Erholung. Eine Primärdatenbank wird auf High-End-Hardware ausgeführt, die genau auf Probleme überwacht wird, wobei Transaktionen auf ein Sicherungssystem an einem anderen physischen Speicherort repliziert werden. Wenn die Primärdatenbank ausfällt (z. B. aufgrund eines Stromausfalls oder eines katastrophalen Hardwarefehlers), wird die Aktivität automatisch in die Sicherung verschoben, die zur neuen Primärdatenbank wird. Sobald das ausgefallene System behoben ist, wird es bei Bedarf als neues Backup verwendet. Während all dies machbar ist, ist es teuer und notorisch schwierig, es richtig zu machen.

Was wäre, wenn 10 Blockchain-Knoten in verschiedenen Teilen der Welt auf Standardhardware ausgeführt würden? Diese Knoten wären dicht miteinander verbunden, würden Transaktionen auf Peer-to-Peer-Basis gemeinsam nutzen und eine Blockchain verwenden, um einen Konsens sicherzustellen. Endbenutzer, die die Transaktionen generieren, stellen eine Verbindung zu (beispielsweise) 5 dieser Knoten her, sodass es keine Rolle spielt, ob einige Kommunikationsverbindungen unterbrochen werden. Und wenn ein oder zwei Knoten an einem bestimmten Tag vollständig ausfallen, fühlt niemand etwas, weil es immer noch mehr als genug Kopien gibt, um herumzugehen. Diese Kombination aus kostengünstigen Systemen und hoher Redundanz ist genau das, was Google zu bieten hat baute seine Suchmaschine so billig. Blockchains können dasselbe für Datenbanken tun.

Leistung: Vorteil zentraler Datenbanken

Blockchains sind immer langsamer als zentralisierte Datenbanken. Es ist nicht nur das heutigen Blockchains sind langsam, weil die Technologie neu und nicht optimiert ist, aber es ist ein Ergebnis der Natur von Blockchains selbst. Sie sehen, bei der Verarbeitung von Transaktionen muss eine Blockchain dieselben Aufgaben wie eine reguläre Datenbank ausführen, trägt jedoch drei zusätzliche Belastungen:

  1. Signaturprüfung. Jede Blockchain-Transaktion muss mithilfe eines öffentlich-privaten Kryptografieschemas wie z ECDSA. Dies ist erforderlich, da sich Transaktionen zwischen Knoten auf Peer-to-Peer-Weise ausbreiten, sodass ihre Quelle ansonsten nicht nachgewiesen werden kann. Die Erzeugung und Überprüfung dieser Signaturen ist rechenintensiv und stellt den primären Engpass bei Produkten wie unseren dar. Im Gegensatz dazu muss in zentralisierten Datenbanken nach dem Herstellen einer Verbindung nicht jede darüber eingehende Anforderung einzeln überprüft werden.
  2. Konsensmechanismen. In einer verteilten Datenbank wie einer Blockchain müssen Anstrengungen unternommen werden, um sicherzustellen, dass die Knoten im Netzwerk einen Konsens erzielen. Abhängig vom verwendeten Konsensmechanismus kann dies eine erhebliche Hin- und Her-Kommunikation und / oder den Umgang mit Gabeln und deren daraus resultierenden Rollbacks beinhalten. Zentralisierte Datenbanken müssen zwar auch mit widersprüchlichen und abgebrochenen Transaktionen zu kämpfen haben, diese sind jedoch weitaus weniger wahrscheinlich, wenn Transaktionen an einem einzigen Ort in die Warteschlange gestellt und verarbeitet werden.
  3. Redundanz. Hier geht es nicht um die Leistung eines einzelnen Knotens, sondern um den Gesamtaufwand für die Berechnung, den eine Blockchain erfordert. Während zentralisierte Datenbanken Transaktionen einmal (oder zweimal) verarbeiten, müssen sie in einer Blockchain von jedem Knoten im Netzwerk unabhängig verarbeitet werden. Es wird also viel mehr Arbeit für das gleiche Endergebnis geleistet.

Unter dem Strich

Natürlich gibt es auch andere Möglichkeiten, Blockchains und reguläre Datenbanken zu vergleichen. Wir könnten über Codebasis-Reife, Entwicklerattraktivität, Ökosystembreite und mehr sprechen. Aber keines dieser Probleme ist inhärent auf die Technologie selbst. Wenn es also um eine langfristige Entscheidung zur Verwendung einer Blockchain geht, lautet die Frage: Was ist für meinen Anwendungsfall wichtiger? Disintermediation und Robustheit? Oder Vertraulichkeit und Leistung?

In diesem einfachen Licht werden viele der derzeit diskutierten Anwendungsfälle untersucht macht keinen Sinn. Das größte Problem ist in der Regel die Vertraulichkeit. Die Teilnehmer an einem hart umkämpften Markt bevorzugen natürlich die Privatsphäre einer zentralisierten Datenbank, anstatt sich gegenseitig ihre Aktivitäten zu offenbaren. Dies gilt insbesondere dann, wenn bereits eine vertrauenswürdige zentrale Partei vorhanden ist und das neutrale Gebiet bereitstellen kann, in dem sich diese Datenbank befinden kann. Obwohl mit diesem zentralen Anbieter einige Kosten verbunden sein können, ist dies durch den Wert der erhaltenen Privatsphäre mehr als gerechtfertigt. Die einzige Motivation für eine Verlagerung auf Blockchains wäre eine aggressive neue Regulierung.

Blockchains haben jedoch starke Anwendungsfälle, in denen Disintermediation und Robustheit wichtiger sind als Vertraulichkeit und Leistung. Ich werde in einem späteren Beitrag mehr darüber schreiben, aber die vielversprechendsten Bereiche, die wir bisher gesehen haben, sind: (a) unternehmensübergreifende Prüfpfade, (b) Herkunftsverfolgung und (c) leicht Finanzsysteme. In allen drei Fällen haben wir Leute gefunden, die auf MultiChain aufbauen und eine klare Sicht auf die Bereitstellung haben, anstatt nur Neugier und Experimente. Wenn Sie also nach Möglichkeiten suchen, wie Blockchains Ihrem Unternehmen einen echten Mehrwert verleihen können, sind sie möglicherweise ein guter Ausgangspunkt.

Bitte posten Sie Kommentare auf LinkedIn.

Zeitstempel:

Mehr von Multikette