Ich habe diesen BBC News Artikel gelesen und der folgende Auszug hat meine Aufmerksamkeit erregt. Es klingt wie Always On Availability Groups oder High Availability Mirroring, möglicherweise mit automatisch eingeschlossener Sicherheit.
Ist Blockchain eine potenziell realisierbare Datenbanklösung für moderne Anwendungen mit hohem Transaktionsvolumen?
Es ist ziemlich leicht zu erkennen, wie wertvoll Transaktionen mit geringem Volumen sind, wie zum Beispiel persönliche Krankenakten, aber was ist mit Datenbanken mit hohem Volumen?
Was ist eine Blockchain?
Blockchains basieren auf Kryptografie, damit mehrere Computer Änderungen an einem globalen Datensatz vornehmen können, ohne dass ein zentraler Akteur erforderlich ist.
Das Entfernen des Mittelsmanns senkt die Kosten in fast allen Bereichen.
Die Blockchain ist ein Hauptbuch, das alles, was mit einer Sammlung von Daten geschieht, die als "Block" bezeichnet werden, in einer chronologischen Reihenfolge oder "Kette" aufzeichnet.
Als Währung ist dies eine wichtige Funktion, da die Benutzer sicher sein können, dass ihr digitales Geld einzigartig ist. So ist jede Banknote in Ihrem Portemonnaie ein Unikat.
"Mit der Blockchain-Technologie können wir Assets erstellen, da Sie digitale Informationen ohne Kopieren übertragen können", sagt Adam Ludwin, Geschäftsführer von Chain.com, das Blockchain-Netzwerke aufbaut.
Blockchain kann verwendet werden, um den Verlauf aller Arten von Informationen zu verfolgen und deren Wert zu erhalten, sodass Ärzte beispielsweise medizinische Aufzeichnungen aktualisieren können.
Da jede Änderung an einer Blockchain gleichzeitig im gesamten Netzwerk vorgenommen wird, gehen keine Informationen verloren und das System behält seine Transparenz bei, da Änderungen nicht rückgängig gemacht werden können. Ein spezieller Schlüssel ist erforderlich, um Änderungen an jedem Block vorzunehmen, damit Einzelpersonen ihre Aufzeichnungen schützen können, indem sie diesen Schlüssel schützen.
quelle
Ich bin sehr vertraut mit Kryptowährung und Datenbanken, und ich kann Ihnen sagen, dass es überhaupt keine großartige DB-Engine ist.
Verwenden der Blockchain als Live-Datenbank:
Betrachten Sie es als eine erste normalisierte Form ohne wirklich gute eingebaute Suchfunktion oder Indizierung, was die Blockchain angeht. Grundsätzlich ein Excel-Arbeitsblatt ohne Rechenfunktionen, das Ihnen nur Lese- / Schreibfunktionen mit vielen Überprüfungs- und Validierungsfunktionen bietet. Eine Blockchain ist eine großartige Möglichkeit, um zu überprüfen, ob Ihre Daten bereinigt und korrekt sind, bevor Sie sie in eine Datenbank stellen, mit der Sie sie anders abfragen, indizieren usw.
Vorteile der Blockchain:
Die Blockchain ist in diesem Fall lediglich ein Ledger und eine API für PUT- und GET-Anforderungen. Das ist alles. Die Blockchain ist interessant, da Sie eine Mehrheit von Knoten benötigen, um die Transaktion als gültig zu übergeben, und es gibt keine Rollbacks, sobald sie festgeschrieben ist, ist sie festgeschrieben. Wenn also jemand versucht, eine gefälschte Transaktion zu tätigen, wird sie abgefangen, es sei denn, die Person, die sie durchführt, verfügt über einen Pool mit einer starken Mehrheitsbeteiligung. Dann können sie es in ihrem Pool validieren, bevor jemand es ablehnen kann. Das ist die Stärke der Blockchain. Überprüfung der Richtigkeit der Daten. Es ist auch normalerweise ziemlich langsam. Bei normaler Belastung dauert es ungefähr 10 Minuten, bis die Validierung abgeschlossen ist. Bei starker Belastung steigt die Zeit deutlich an.
Nachdem Sie mithilfe der Blockchain überprüft haben, dass die Transaktionen gültig und nicht betrügerisch sind, können Sie diese Daten in eine Datenbank importieren und damit arbeiten, wie Sie möchten. Ich habe einige Erfahrungen damit, aber beachte, dass jede einzelne Transaktion auf der aktuellen Bitcoin-Architektur aufgezeichnet wird und daher einige interessante Informationen zu analysieren sind.
Abfragen von Daten aus dem Blockchain-Schema in einem DBMS:
Hier ist das Bitcoin-Diagramm, mit dem Sie das Schema in PostgreSQL erstellen können. Mit diesem können Sie es dann in ein relationales DBMS stellen: https://bitcointalk.org/index.php?topic=38246
Dieses Code-Repo ist auch hilfreich, wenn Sie die Daten in ein echtes RDBMS importieren möchten: https://github.com/bitcoin-abe/bitcoin-abe
Was für ein DBMS Sie verwenden sollten, hängt von Ihrem Anwendungsfall ab. Wenn Sie die Transaktionen / Brieftaschen-IDs analysieren möchten, um einige Muster zu sehen, oder BI-Arbeit leisten möchten, würde ich eine relationale Datenbank empfehlen. Wenn Sie eine Live-Aufnahme mit mehreren Kryptocoins einrichten möchten, würde ich etwas empfehlen, das das Transaktionsprotokoll nicht benötigt, sodass eine MongoDB-Lösung gut wäre. Ich denke nicht, dass Sie sich um Elastic Search Sorgen machen müssen, es sei denn, Sie möchten alle Cryptocoins gleichzeitig live aufzeichnen und es für den automatischen Handel oder etwas ähnlich Verrücktes verwenden. :)
quelle
2014 haben wir ascribe.io mit der Prämisse erstellt, Bitcoin als Datenbank für Patentansprüche zu verwenden. Bei der Veröffentlichung haben wir das Netzwerk gestoppt, da es den Durchsatz nicht bewältigen konnte, die Latenz mindestens 10 Minuten betrug und wir durch das, was wir in OP_RETURN ablegen konnten, eingeschränkt waren. Dies zwang uns, die eigentliche digitale Datei in Bezug auf den Anspruch in Amazon S3 zu speichern . Wir haben festgestellt, dass Bitcoin in seiner jetzigen Form niemals eine hohe Transaktionsdatenbank sein kann.
Aber die Idee, ob wir eine Datenbank im Blockchain-Stil haben könnten - dezentrale Steuerung, Unveränderlichkeit (Manipulationssicherheit) und Live-Assets im Netzwerk - blieb uns erhalten. Mitte 2014 begannen wir mit der Arbeit an BigchainDB
Kurz gesagt: Wir können 100.000 tps mit einer Latenz von 100 ms verarbeiten und haben eine Kapazität von Petabytes. Der Code ist unser BigchainDB Github, die technische Dokumentation hier und das grundlegende Denken in unserem Whitepaper .
Wenn Sie einen Anwendungsfall für eine hochtransaktionsfähige, dezentrale Datenbank haben, haben wir BigchainDB genau dafür erstellt.
quelle
Von Bitcoin abgeleitete Blockchain ist langsam und teuer; Die Datenmenge, die in einem Block gespeichert werden kann, ist sehr gering. Die Mechanismen hinter Blockchains (Distribute Ledgers) sollen einen unbestechlichen, stark replizierten Datenspeicher bereitstellen. Peer-to-Peer ist weniger ein wesentliches Merkmal als eine "politische Anforderung", um das Auftreten einer zentralen Kontrolle zu vermeiden. Ich arbeite seit 18 Monaten daran, ein hochleistungsfähiges verteiltes Hauptbuch zu erstellen (eine Instanz finden Sie unter metrognomo.com), das Bitcoin so wenig wie möglich kostet. Letztendlich ähnelt ein verteiltes Hauptbuch einer sequentiellen Datei, die hinzugefügt, aber nach dem Hinzufügen nicht mehr bearbeitet werden kann. Dies ist für einige Anwendungen eine wertvolle Sache, aber nicht das, was die meisten Leute als Datenbank betrachten.
quelle