So erkennen Sie eine unausgegorene Blockchain PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Wie man eine halbgebackene Blockchain erkennt

Wenn Ketten und Blöcke keinen nützlichen Zweck erfüllen

Ungefähr 18 Monate sind vergangen, seit der Finanzsektor massenhaft mit den Möglichkeiten genehmigter Blockchains oder der allgemeineren Bezeichnung „verteilte Hauptbücher“ aufgewacht ist. In dieser Zeit gab es einen Tsunami von Aktivitäten, darunter Forschungsberichte, strategische Investitionen, Pilotprojekte und die Bildung vieler Konsortien. Niemand kann der Bankenwelt vorwerfen, das Potenzial dieser Technologie nicht ernst zu nehmen.

Natürlich hat das explosive Wachstum bei Blockchain-Projekten die Entwicklung genehmigter Blockchain-Plattformen vorangetrieben, auf denen diese Projekte aufbauen. Zum Beispiel unser Produkt Multichain Die Nutzung hat sich im letzten Jahr verdreifacht, unabhängig davon, ob wir den Webverkehr, monatliche Downloads oder kommerzielle Anfragen messen. Und natürlich gibt es viele andere Plattformen, wie z BigChainDB, Kette, Seil, Credits, verschiedenste Komponenten, Eris, Stoff, Ethereum (in einem geschlossenen Netzwerk bereitgestellt), HydraKette und Offene Kette. Ganz zu schweigen von weiteren Startups, die eine Blockchain-Plattform entwickelt, diese aber nicht öffentlich zugänglich gemacht haben.

Für Unternehmen, die eine neue Technologie erforschen und verstehen möchten, ist eine große Auswahl im Allgemeinen eine gute Sache. Bei Blockchains, die immer noch lose definiert und wenig verstanden sind, hat dieses Füllhorn jedoch einen erheblichen Nachteil: Viele der verfügbaren Blockchain-Plattformen befassen sich nicht mit dem Kernproblem, das sie lösen sollen. Und was ist das für ein Problem? Gestatten Sie mir, das Prägnante zu zitieren Videodefinition von Richard Gendal Brown, CTO von R3in vollem Umfang:

Ein verteiltes Hauptbuch ist ein System, mit dem Parteien, die sich nicht vollständig vertrauen, einen Konsens über die Existenz, die Art und die Entwicklung einer Reihe gemeinsamer Fakten erzielen können, ohne sich auf einen vollständig vertrauenswürdigen zentralisierten Dritten verlassen zu müssen.

Um ein extremes Beispiel zu nennen, betrachten Sie ein paar Legosteine, die mit einer Schnur zusammengebunden sind. Wenn wir diesen Modeartikel mit dem Begriff „Blockkette“ beschreiben, wer sagt dann, dass wir ihn nicht genau beschreiben? Diese bestimmte Blockkette hilft jedoch nicht mehreren Parteien, eine Datenbank ohne einen zentralen Vermittler sicher und direkt gemeinsam zu nutzen. In ähnlicher Weise tun viele "Blockchain" -Plattformen etwas, das mit Blockketten zusammenhängt, aber es fehlen auch die erforderlichen Eigenschaften, um als Grundlage für eine Peer-to-Peer-Datenbank zu dienen.

So erkennen Sie eine unausgegorene Blockchain PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.
Eine weitere Blockkette, die bei der gemeinsamen Nutzung von Datenbanken nicht hilft - Quelle.

Minimale lebensfähige Blockchain

Um die grundlegenden Anforderungen eines verteilten Hauptbuchs zu verstehen, ist es hilfreich zu klären, wie sich diese Systeme von regulären Datenbanken unterscheiden, die von einer einzelnen Entität gesteuert werden. Betrachten wir beispielsweise ein einfaches System zur Verfolgung, wem die Aktien eines bestimmten Unternehmens gehören. Das in einer Datenbank implementierte Hauptbuch enthält eine Zeile für jeden Eigentümer, die zwei Spalten enthält: die Kennung des Eigentümers, z. B. seinen Namen, und die entsprechende Anzahl von Freigaben.

Hier sind sechs entscheidende Möglichkeiten, wie dieses System seine Benutzer ausfallen lassen kann:

  • Fälschung: Übertragung von Anteilen von einer Person auf eine andere ohne Erlaubnis des Absenders.
  • Zensur: Weigert sich, die Anfrage einer anderen Person zu erfüllen, einige Aktien an einen anderen Ort zu übertragen.
  • Umkehrung: Rückgängigmachen einer Übertragung, die irgendwann in der Vergangenheit stattgefunden hat.
  • Unrechtmäßigkeit: Ändern der Gesamtmenge der Aktien im System ohne entsprechende Aktion des Emittenten.
  • Inkonsistenz: Unterschiedliche Antworten auf Anfragen von verschiedenen Benutzern.
  • Ausfallzeit: Auf eingehende Informationsanfragen überhaupt nicht reagieren.

Aufgrund all dieser Möglichkeiten müssen die Aktionäre ein hohes Maß an Vertrauen in denjenigen haben, der dieses Hauptbuch in ihrem Namen verwaltet. Der Aufbau und die Führung einer Organisation, die dieses Vertrauen verdient, ist mit erheblichen Problemen und Kosten verbunden.

Blockchains oder verteilte Ledger machen diese Art von zentralem Datenbankoperator überflüssig, da die Benutzer einer Datenbank Peer-to-Peer-Interaktionen direkt miteinander durchführen können. In unserem Beispiel könnten die Aktionäre ihre Aktien sicher in einer Blockchain halten, die sie gemeinsam verwalten, und sofort über diese Kette Übertragungen untereinander vornehmen. (Der Nachteil ist ein erheblicher Verlust an Vertraulichkeit zwischen den Benutzern der Kette, den wir hier nicht ansprechen, aber ich habe es zuvor getan ausführlich diskutiert.)

All dies bringt uns zurück zur Frage der Blockchain-Plattformen. Um als tragfähige Grundlage für die gemeinsame Nutzung von Peer-to-Peer-Datenbanken zu dienen, muss eine Blockchain ihre Teilnehmer vor allen sechs Arten von Datenbankfehlern schützen - Fälschung, Zensur, Stornierung, illegitime Transaktionen, Inkonsistenz und Ausfallzeiten. Während viele Produkte auf dem Markt diese Anforderungen erfüllen, kommen einige von ihnen zu kurz. Ich nenne diese Blockchains "halbgebacken", weil sie adressieren können einige dieser Risiken, aber nicht alle. Zumindest in gewisser Hinsicht bleiben die Benutzer der Datenbank vom guten Verhalten eines einzelnen Teilnehmers abhängig, was genau das Szenario ist, das wir vermeiden möchten.

Diese halbgebackenen Blockchains gibt es in einer beliebigen Anzahl von Varianten, aber drei Archetypen sind die häufigsten oder offensichtlichsten. Ich werde keine einzelnen Produkte nennen, weil ich nicht beleidigen möchte. Die Blockchain-Startup-Community ist klein genug, dass sich die meisten von uns durch Konferenzen und andere Meetings kennen, und die Interaktionen sind tendenziell positiv. Wenn Blockchains (im Sinne nützlicher Peer-to-Peer-Datenbanken) jemals zu einer kohärenten Produktkategorie werden, ist es jedoch wichtig, zwischen halbgebackenen und echten Lösungen zu unterscheiden.

Die One-Validator-Blockchain

Ein Muster, das wir einige Male gesehen haben, ist eine Blockchain, in der nur ein Teilnehmer die Blöcke generieren kann, in denen Transaktionen bestätigt werden. Transaktionen werden an diesen einen Knoten gesendet, anstatt an das gesamte Netzwerk gesendet zu werden. Ihre Annahme unterliegt daher eher den Launen dieser Partei als einem Mehrheitskonsens. Sobald ein Block von dieser zentralen Partei erstellt wurde, wird er an die anderen Knoten im Netzwerk gesendet, die unabhängig die Gültigkeit der darin enthaltenen Transaktionen bestätigen und den neuen Block lokal und dauerhaft aufzeichnen können.

Um zu unseren sechs Formen von Datenbankfehlfunktionen zurückzukehren, ist diese Art der Blockchain alles andere als nutzlos. Transaktionen müssen von dem Unternehmen, dessen Geld sie bewegen, digital signiert werden, damit sie nicht von der zentralen Partei gefälscht werden können. Sie können nicht rückgängig gemacht werden, da jeder Knoten eine eigene Kopie der Kette verwaltet. Und Transaktionen können keine illegalen Vorgänge wie das Erstellen von Assets aus dem Nichts ausführen, da jeder Knoten jede Transaktion unabhängig auf ihre Richtigkeit überprüft. Schließlich verwaltet jeder Knoten seine eigene Kopie der Datenbank, sodass sein Inhalt immer zum Lesen verfügbar ist.

Leider reichen vier von sechs nicht aus. Der validierende Knoten kann einzelne Transaktionen leicht zensieren, indem er sich weigert, sie in die von ihm erstellten Blöcke aufzunehmen. Selbst wenn die Betreiber dieses Knotens ehrlich sind, kann ein System- oder Kommunikationsfehler dazu führen, dass er nicht mehr verfügbar ist und die gesamte Transaktionsverarbeitung zum Stillstand kommt. Abhängig vom Setup kann der Validierungsknoten möglicherweise verschiedene Versionen der Blockchain an verschiedene Teilnehmer übertragen. In Bezug auf Zensur und Konsistenz enthält die Datenbank immer noch einen einzigen Fehlerpunkt, auf den sich alle anderen Knoten verlassen.

Eine Plattform bietet eine Variante dieses Schemas, bei dem Blöcke zentral von einem einzelnen Knoten generiert werden, ein Quorum anderer bezeichneter Knoten sie jedoch signiert, um einen Konsens anzuzeigen. In Bezug auf das Risiko von Inkonsistenzen hilft dies sicherlich. Die Knoten im Quorum verleihen ihre Signaturen nur einer einzigen Version der Blockchain, die daher als maßgeblich angesehen werden kann. Die Quorumknoten können jedoch nicht helfen, wenn der Blockgenerator Transaktionen zensiert oder die Verbindung zum Internet verliert. Letztendlich verwendet diese Art von Blockchain immer noch eine Hub-and-Spoke-Architektur anstelle eines Peer-to-Peer-Netzwerks.

Die Shared State Blockchain

Technisch gesehen gibt es viele Ähnlichkeiten zwischen Blockchains und traditionelleren verteilten Datenbanken wie Cassandra und MongoDB. In beiden Fällen können Transaktionen von jedem Knoten im Netzwerk initiiert werden und müssen im Rahmen eines Konsenses über den Entwicklungsstatus der Datenbank alle anderen Knoten erreichen. Sowohl Blockchains als auch verteilte Datenbanken müssen mit Latenz (Kommunikationsverzögerungen, die sich aus der Entfernung zwischen Knoten ergeben) und der Möglichkeit, dass einige Knoten und / oder Kommunikationsverbindungen zeitweise ausfallen, fertig werden.

Verteilte Datenbanken gibt es schon seit einiger Zeit, daher sollte jeder Entwickler einer Blockchain-Plattform seine Konsensalgorithmen und die Strategien, mit denen er Transaktionen global ordnet und Konflikte löst, gut verstehen. Trotzdem ist es wichtig, den Vergleich nicht zu weit zu führen, da Blockchains mit einer entscheidenden zusätzlichen Herausforderung zu kämpfen haben - einer Abwesenheit von Vertrauens zwischen den Knoten der Datenbank. Während sich verteilte Datenbanken darauf konzentrieren, Skalierbarkeit, Robustheit und hohe Leistung innerhalb der Grenzen eines einzelnen Unternehmens bereitzustellen, müssen Blockchains neu gestaltet werden, um die Sicherheit zu gewährleisten Traverse diese Grenzen.

Um zu unseren sechs Arten von Datenbankrisiken zurückzukehren, muss sich ein Knoten in einer verteilten Datenbank nur um Ausfallzeiten kümmern, dh um die Möglichkeit, dass andere Knoten nicht mehr verfügbar sind. Knoten können davon ausgehen, dass jede Transaktion und Nachricht im Netzwerk gültig ist und sich nicht mit Fälschung, Zensur, Umkehrung, Illegitimität oder Inkonsistenz befasst. Ihr schlimmstes Problem besteht darin, zwei gleichzeitige, aber gültige Transaktionen zu behandeln, die auf verschiedenen Knoten initiiert wurden und dasselbe Datenelement betreffen. Die Lösung dieser Konflikte ist keineswegs trivial, aber es ist immer noch viel einfacher, als sich Sorgen zu machen. “Byzantinische Fehler“, In dem einige Knoten absichtlich handeln, um die Funktion anderer zu stören.

Eine Datenbank kann nur sicher freigegeben werden über Vertrauensgrenzen, wenn Knoten alle Aktivitäten im Netzwerk mit einem gewissen Verdacht behandeln. Beispielsweise muss jede Transaktion, die die Datenbank ändert, einzeln digital signiert werden, da es in einer Peer-to-Peer-Architektur keine andere Möglichkeit gibt, ihren wahren Ursprungsort zu ermitteln. Ebenso muss jede eingehende Nachricht, beispielsweise die Ankündigung eines neuen Blocks, kritisch auf Inhalt und Kontext überprüft werden. Im Gegensatz zu verteilten Datenbanken dürfen Knoten den Status eines anderen Knotens nicht sofort und direkt ändern können.

Einige Blockchain-Plattformen wurden entwickelt, indem mit einer verteilten Datenbank begonnen und einige Funktionen darüber gestreut wurden, um die Blockchain zu verbessern. Durch Gruppieren von Transaktionen in Blöcke und Speichern von Hashes (digitalen Fingerabdrücken) dieser Blöcke in der Datenbank soll beispielsweise eine Form der Unveränderlichkeit hinzugefügt werden. Wenn jedoch nicht jeder Knoten sicher sein kann, dass seine Liste der Hashes nicht von einem anderen Knoten geändert werden kann, kann diese Art der Unveränderlichkeit leicht gespielt werden. Die Standardantwort auf diese Kritik ist, dass jedes Sicherheitsproblem mit ausreichend Zeit und Codierung gelöst werden kann. Aber das ist eher so, als würde man einige Gefangene auf freiem Feld festhalten und versuchen, sie davon abzuhalten, mit Stolperdrähten und Gräben zu entkommen. Es ist weitaus sicherer, eine speziell angefertigte Betonkonstruktion zu verwenden, deren Türen verschlossen und deren Fenster verriegelt sind.

Die eine Wolkenblockkette

Das mit Abstand seltsamste Phänomen, das ich je gesehen habe, sind Blockchain-Plattformen, auf die nur über die Cloud-basierte Platform-as-a-Service des Entwicklers zugegriffen werden kann. Um klar zu sein, wir sprechen nicht über einige Teilnehmer einer Blockchain Auswahl um ihre Knoten auf dem Cloud-Anbieter ihrer Wahl zu hosten, wie z Microsoft Azure or Amazon Web Services. Dies ist vielmehr eine Blockchain, die es kann einzige Zugriff über APIs, die von den Servern eines Unternehmens bereitgestellt werden, das sie „hostet“.

Lassen Sie uns aus Gründen der Argumentation zugeben, dass ein zentralisierter Blockchain-Anbieter tatsächlich eine Gruppe von Knoten unter seiner Kontrolle hat. Welchen Unterschied macht dies für die Benutzer des Systems, die API-Anforderungen senden und Antworten empfangen? Die Teilnehmer haben keine Möglichkeit zu beurteilen, ob alle Transaktionen ohne Auslassung oder Fehler verarbeitet wurden. Möglicherweise funktioniert der zentrale Dienst nicht richtig, oder er zensiert oder storniert einige Transaktionen absichtlich. Und wenn Sie der Meinung sind, dass der Blockchain-Anbieter keinen Grund dazu hat, können Sie ihn stattdessen zum Hosten einer regulären zentralisierten Datenbank verwenden. Sie erhalten ein ausgereifteres Produkt mit besserer Leistung und haben kein Risiko, mit neuen Technologien zu arbeiten. Kurz gesagt, zentralisierte Blockchains sind ungefähr so ​​nützlich wie Lego an einer Zeichenfolge.

Das Rätsel lösen

Wir haben jetzt drei Arten von Plattformen gesehen, die sich selbst als „Blockchains“ vermarkten und zwar eine Blockkette verwenden, aber das grundlegende Problem, für das diese Systeme entwickelt wurden, nicht lösen. Zusammenfassend lässt sich sagen, dass eine einzelne Datenbank ohne zentralen Vermittler sicher und direkt über Vertrauensgrenzen hinweg gemeinsam genutzt werden kann.

Abgesehen davon, dass ich auf dieses eigentümliche Phänomen hinweise, halte ich es für lehrreich, darüber nachzudenken, was ihm zugrunde liegen könnte. Warum bauen so viele Blockchain-Startups Produkte, die das Versprechen dieser Technologie nicht erfüllen und oft nicht mehr als herkömmliche zentralisierte oder verteilte Datenbanken erreichen? Warum verschwenden so viele talentierte Leute so viel Zeit?

Ich kann zwei Hauptklassen von Erklärungen sehen - technische und kommerzielle. Zunächst ist es ziemlich schwierig, verteilte Konsenssysteme zu erstellen, die tolerieren können, dass sich ein oder mehrere Knoten auf unvorhersehbare Weise böswillig verhalten. Im Fall von MultiChain haben wir etwas geschummelt, indem wir die kampferprobte Referenzimplementierung von Bitcoin als Ausgangspunkt verwendet und dann den Arbeitsnachweis durch einen strukturell ähnlichen Konsensalgorithmus namens „Mining Diversity“ ersetzt haben. Teams, die einen Blockchain-Knoten von Grund auf neu entwickeln, müssen sich intensiv mit asynchronen und kontroversen Prozessen befassen - eine Kombination, mit der nur wenige Programmierer Erfahrung haben. Ich kann die Versuchung verstehen, eine Verknüpfung zu verwenden, z. B. einen einzelnen Knoten zum Generieren von Blöcken zu verwenden oder eine vorhandene verteilte Datenbank zu huckepack zu nehmen oder nur Knoten in einer vertrauenswürdigen Umgebung auszuführen. Die Wahl einer dieser Optionen erleichtert Entwicklern zweifellos das Leben, auch wenn dies den gesamten Punkt untergräbt.

Aus kommerziellen Gründen scheint sich jedes Startup der Blockchain-Gelegenheit aus einem anderen Blickwinkel zu nähern. Hier bei Coin Sciences konzentrieren wir uns darauf, ein (Datenbank-) Softwareanbieter zu werden. Daher vertreiben wir MultiChain kostenlos und entwickeln einen Premium-Knoten mit zusätzlichen Funktionen. Andere Startups möchten Abonnementdienste verkaufen, daher bauen sie natürlich eine Plattform auf, die Kunden nicht selbst hosten können. Einige hoffen, eine Blockchain zentral steuern zu können oder ihren Partnern dabei zu helfen (ein seltsames Ziel für eine Disintermediationstechnologie!), Und sind natürlich von Konsensalgorithmen angezogen, die auf einem einzelnen Knoten basieren. Und schließlich gibt es Unternehmen, deren Hauptziel der Verkauf von Beratungsdiensten ist. In diesem Fall muss ihre Plattform überhaupt nicht funktionieren, solange die Website einige große Kunden anzieht.

Vielleicht ist ein weiteres Problem, dass einige Blockchain-Unternehmen von Leuten geführt werden, die zweifellos voller Talente sind, aber kein tiefes Verständnis für die Technologie selbst haben. Bei Startups, die ein neues Feld erschließen, ist es wahrscheinlich entscheidend, dass Menschen strategische Entscheidungen treffen, die die Natur dieses Feldes verstehen und wissen, wie es sich von den vorherigen unterscheidet. Nicht wenige Blockchain-Startups scheinen sich durch die Verfolgung einer Produktvision, die für ihre Kunden attraktiv ist, aber tatsächlich nicht aufgebaut werden kann, in eine Ecke gemalt zu haben.

Wie können Sie als Benutzer von Blockchains vermeiden, von diesen Irrtümern erfasst zu werden? Fragen Sie bei der Bewertung einer bestimmten Blockchain-Plattform unbedingt, ob sie die sechs Anforderungen einer sicheren Peer-to-Peer-Datenbankfreigabe erfüllt: Vermeidung von Ausfallzeiten und Inkonsistenzen sowie Fälschung von Transaktionen, Zensur, Stornierung und Illegitimität. Und hüte dich vor Erklärungen, die aus zu viel Murmeln oder Handwinken bestehen - sie bedeuten wahrscheinlich, dass die Antwort nein ist.

Bitte posten Sie Kommentare auf LinkedIn.

Quelle: https://www.multichain.com/blog/2016/12/spot-half-baked-blockchain/

Zeitstempel:

Mehr von Multikette