Vermeiden Sie das sinnlose Blockchain-Projekt

So stellen Sie fest, ob Sie einen echten Blockchain-Anwendungsfall gefunden haben

Blockchains sind überzeichnet. Dort habe ich es gesagt. Von SIBOS zu moneyxnumx / 20 Geschichten von The Economist und EuromoneyJeder scheint an Bord des Blockchain-Wagens zu klettern. Und zweifellos sehen wir, wie andere im Weltraum, eine schnell wachsende Anzahl von Unternehmen, auf denen Proofs of Concept aufbauen unsere Plattform und / oder um unsere Hilfe bitten.

Als junges Startup würden Sie denken, wir wären überglücklich. Jetzt ist es sicherlich an der Zeit, eine Menge Geld zu sammeln und die leistungsstarke Blockchain-Plattform der nächsten Generation aufzubauen, die wir bereits entwickelt haben. Worauf warten wir noch?

Ich werde Ihnen sagen, was. Wir warten darauf, ein klareres Verständnis dafür zu bekommen, wo Blockchains sind wirklich Mehrwert in der Unternehmens-IT. Sie sehen, ein großer Teil dieser eingehenden Projekte hat überhaupt nichts mit Blockchains zu tun. So läuft es ab. Große Firma hört, dass Blockchains das nächste große Ding sind. Big Company findet intern einige Leute, die sich für das Thema interessieren. Große Unternehmen geben ihnen ein Budget und fordern sie auf, etwas Blockchainy zu tun. Schon bald klopfen sie an unsere Tür, winken mit Dollarnoten und fragen us um Sie Überlegen Sie sich einen Anwendungsfall. Was jetzt sagen?

Was ist das Problem für diejenigen, die ein Projekt im Sinn haben? In vielen Fällen kann das Projekt perfekt umgesetzt werden Verwenden einer regulären relationalen Datenbank. Weißt du, große eiserne Giganten mögen Oracle und SQL Serveroder für die aufgeschlosseneren, MySQL und Postgres. Lassen Sie mich zunächst die Dinge klarstellen:

Wenn Ihre Anforderungen durch die heutigen relationalen Datenbanken erfüllt werden, wäre es verrückt, eine Blockchain zu verwenden.

Warum? Weil Produkte wie Oracle und MySQL jahrzehntelange Entwicklung hinter sich haben. Sie wurden auf Millionen von Servern bereitgestellt, auf denen Billionen von Abfragen ausgeführt werden. Sie enthalten einige der am gründlichsten getesteten, debuggten und optimierten Codes der Welt, die Tausende von Transaktionen pro Sekunde verarbeiten, ohne ins Schwitzen zu geraten.

Und was ist mit Blockchains? Gut, unser Produkt war einer der ersten auf dem Markt und ist seit genau 5 Monaten mit einigen tausend Downloads erhältlich. Eigentlich ist es extrem stabil, weil wir es ausgebaut haben Bitcoin Core, die Software, die Bitcoin antreibt. Aber trotzdem Diese gesamte Produktkategorie ist noch in ihren Windeln.

Also sage ich, dass Blockchains nutzlos sind? Absolut nicht. Aber bevor Sie mit diesem glänzenden Blockchain-Projekt beginnen, müssen Sie eine sehr klare Vorstellung davon haben warum Sie eine Blockchain verwenden. Es gibt eine Reihe von Bedingungen, die erfüllt sein müssen. Und wenn nicht, sollten Sie zum Zeichenbrett zurückkehren. Vielleicht können Sie das Projekt besser definieren. Oder vielleicht können Sie jedem eine Menge Zeit und Geld sparen, weil Sie überhaupt keine Blockchain benötigen.

1. Die Datenbank

Hier ist die erste Regel. Blockchains sind eine Technologie für gemeinsam genutzte Datenbanken. Sie müssen also zunächst wissen, warum Sie eine Datenbank verwenden, womit ich ein strukturiertes Informationsarchiv meine. Dies kann traditionell sein relationale Datenbank, die eine oder mehrere Tabellenkalkulations-ähnliche Tabellen enthält. Oder es kann der trendigere sein NoSQL Vielfalt, die eher wie ein Dateisystem oder ein Wörterbuch funktioniert. (Auf theoretischer Ebene sind NoSQL-Datenbanken ohnehin nur eine Teilmenge relationaler Datenbanken.)

Ein Ledger für finanzielle Vermögenswerte kann natürlich als Datenbanktabelle ausgedrückt werden, in der jede Zeile einen Asset-Typ darstellt, der einer bestimmten Entität gehört. Jede Zeile enthält drei Spalten, die Folgendes enthalten: (a) die Kennung des Eigentümers wie eine Kontonummer, (b) eine Kennung für den Asset-Typ wie „USD“ oder „AAPL“ und (c) die Menge des von diesem gehaltenen Assets Inhaber.

Datenbanken werden über „Transaktionen“ geändert, die eine Reihe von Änderungen an der Datenbank darstellen, die als Ganzes akzeptiert oder abgelehnt werden müssen. Im Fall eines Asset-Ledgers wird beispielsweise eine Zahlung von einem Benutzer an einen anderen durch eine Transaktion dargestellt, bei der die entsprechende Menge von einer Zeile abgezogen und einer anderen hinzugefügt wird.

2. Mehrere Autoren

Das ist einfach. Blockchains sind eine Technologie für Datenbanken mit mehreren Autoren. Mit anderen Worten, es muss mehr als eine Entität geben, die die Transaktionen generiert, die die Datenbank ändern. Wissen Sie, wer diese Autoren sind?

In den meisten Fällen führen die Writer auch "Knoten" aus, die eine Kopie der Datenbank enthalten, und leiten Transaktionen an andere Knoten in a weiter Peer-to-Peer Mode. Transaktionen können jedoch auch von Benutzern erstellt werden, die selbst keinen Knoten ausführen. Stellen Sie sich zum Beispiel ein Zahlungssystem vor, das von einer kleinen Gruppe von Banken gemeinsam verwaltet wird, aber Millionen von Endbenutzern auf Mobilgeräten hat und nur mit den Systemen ihrer eigenen Bank kommuniziert.

3. Kein Vertrauen

Und jetzt zur dritten Regel. Wenn mehrere Entitäten in die Datenbank schreiben, muss auch ein gewisser Grad an vorhanden sein Misstrauen zwischen diesen Entitäten. Mit anderen Worten, Blockchains sind eine Technologie für Datenbanken mit mehreren nicht vertrauenswürdigen Autoren.

Sie könnten denken, dass Misstrauen nur zwischen verschiedenen Organisationen entsteht, wie den Banken, die auf einem Markt handeln, oder den Unternehmen, die an einer Lieferkette beteiligt sind. Es kann aber auch existieren innerhalb einer einzigen großen OrganisationZum Beispiel zwischen Abteilungen oder den Betrieben in verschiedenen Ländern.

Was meine ich konkret mit Misstrauen? Ich meine, dass ein Benutzer nicht bereit ist, einen anderen Datenbankeinträge ändern zu lassen, die ihm „gehören“. Wenn es darum geht, den Inhalt der Datenbank zu lesen, wird ein Benutzer die „Wahrheit“, wie sie von einem anderen Benutzer berichtet wird, nicht als Evangelium akzeptieren, da jeder unterschiedliche wirtschaftliche oder politische Anreize hat.

4. Disintermediation

Das bisher definierte Problem besteht also darin, eine Datenbank mit mehreren nicht vertrauenswürdigen Autoren zu aktivieren. Und für dieses Problem gibt es bereits eine bekannte Lösung: der vertrauenswürdige Vermittler. Das heißt, jemand, dem alle Autoren vertrauen, auch wenn sie sich nicht voll vertrauen. In der Tat ist die Welt mit Datenbanken dieser Art gefüllt, wie zum Beispiel dem Kontenbuch einer Bank. Deine Bank steuert die Datenbank und stellt sicher, dass jede Transaktion von dem Kunden gültig und autorisiert ist, dessen Geld er bewegt. Egal wie höflich Sie fragen, Ihre Bank wird niemals zulassen, dass Sie ihre Datenbank direkt ändern.

Blockchains machen vertrauenswürdige Vermittler überflüssig, indem sie aktiviert werden Datenbanken mit mehreren nicht vertrauenswürdigen Autoren, die direkt geändert werden sollen. Es ist kein zentraler Gatekeeper erforderlich, um Transaktionen zu überprüfen und ihre Quelle zu authentifizieren. Stattdessen wird die Definition einer Transaktion um einen Autorisierungsnachweis und einen Gültigkeitsnachweis erweitert. Transaktionen können daher sein unabhängig von jedem Knoten überprüft und verarbeitet Hiermit wird eine Kopie der Datenbank verwaltet.

Aber die Frage, die Sie stellen müssen, ist: Wollen oder brauchen Sie diese Disintermediation? Ist in Anbetracht Ihres Anwendungsfalls etwas falsch daran, eine zentrale Partei zu haben, die eine autorisierende Datenbank unterhält und als Transaktions-Gatekeeper fungiert? Gute Gründe, eine Blockchain-basierte Datenbank einem vertrauenswürdigen Vermittler vorzuziehen, könnten niedrigere Kosten, schnellere Transaktionen und automatische Transaktionen sein Versöhnung, eine neue Regelung oder eine einfache Unfähigkeit, einen geeigneten Vermittler zu finden.

5. Transaktionsinteraktion

Blockchains sind daher sinnvoll für Datenbanken, die von mehreren Autoren gemeinsam genutzt werden, die sich nicht vollständig vertrauen und diese Datenbank direkt ändern. Aber das reicht immer noch nicht. Blockchains leuchten wirklich dort, wo es welche gibt Interaktion zwischen den Transaktionen erstellt von diesen Autoren.

Was meine ich mit Interaktion? Im wahrsten Sinne des Wortes bedeutet dies, dass Transaktionen, die von verschiedenen Autoren erstellt wurden, häufig voneinander abhängen. Nehmen wir zum Beispiel an, Alice schickt etwas Geld an Bob und dann schickt Bob etwas an Charlie weiter. In diesem Fall hängt die Transaktion von Bob von der von Alice ab, und es gibt keine Möglichkeit, die Transaktion von Bob zu überprüfen, ohne zuerst die von Alice zu überprüfen. Aufgrund dieser Abhängigkeit gehören die Transaktionen natürlich in a zusammen einzelne gemeinsam genutzte Datenbank.

Ein schönes Merkmal von Blockchains ist, dass Transaktionen erstellt werden können gemeinsam von mehreren Autoren, ohne dass sich eine Partei einem Risiko aussetzt. Das erlaubt es Lieferung versus Zahlung Die Abwicklung muss sicher über eine Blockchain erfolgen, ohne dass ein vertrauenswürdiger Vermittler erforderlich ist.

Ein guter Fall kann auch für Situationen gemacht werden, in denen Transaktionen von verschiedenen Autoren miteinander korreliert sind, selbst wenn sie unabhängig bleiben. Ein Beispiel könnte eine gemeinsam genutzte Identitätsdatenbank sein, in der mehrere Entitäten unterschiedliche Aspekte der Verbraucheridentität validieren. Obwohl jede solche Zertifizierung für sich steht, bietet die Blockchain eine nützliche Möglichkeit, alles auf einheitliche Weise zusammenzuführen.

6. Legen Sie die Regeln fest

Dies ist nicht wirklich eine Bedingung, sondern eine unvermeidliche Folge der vorherigen Punkte. Wenn eine Datenbank direkt von mehreren Autoren geändert wurde und diese Autoren sich nicht vollständig vertrauen, muss die Datenbank eingebettete Regeln enthalten Einschränkung der durchgeführten Transaktionen.

Diese Regeln unterscheiden sich grundlegend von den Einschränkungen die in traditionellen Datenbanken erscheinen, weil sie sich auf die beziehen Legitimität von Transformationen eher als der Status der Datenbank zu einem bestimmten Zeitpunkt. Jede Transaktion wird von jedem Knoten im Netzwerk anhand dieser Regeln überprüft, und diejenigen, die fehlschlagen, werden abgelehnt und nicht weitergeleitet.

Asset-Ledger enthalten ein einfaches Beispiel für diese Art von Regel, um zu verhindern, dass Transaktionen Assets aus dem Nichts erstellen. Die Regel besagt, dass die Gesamtmenge jedes Vermögenswerts im Hauptbuch vor und nach jeder Transaktion gleich sein muss.

7. Wählen Sie Ihre Validatoren aus

Bisher haben wir eine verteilte Datenbank beschrieben, in der Transaktionen an vielen Orten entstehen, sich Peer-to-Peer zwischen Knoten ausbreiten und von jedem Knoten unabhängig überprüft werden können. Woher kommt also eine „Blockchain“? Nun, die Aufgabe einer Blockchain ist es, die zu sein maßgebliches endgültiges Transaktionsprotokoll, über deren Inhalt sich nachweislich alle Knoten einig sind.

Warum brauchen wir dieses Protokoll? Erstens können neu hinzugefügte Knoten den Inhalt der Datenbank von Grund auf neu berechnen, ohne einem anderen Knoten vertrauen zu müssen. Zweitens wird die Möglichkeit angesprochen, dass einige Knoten aufgrund von Systemausfällen oder Kommunikationsfehlern einige Transaktionen verpassen. Ohne ein Transaktionsprotokoll würde dies dazu führen, dass die Datenbank eines Knotens von der der anderen abweicht, was das Ziel einer gemeinsam genutzten Datenbank untergräbt.

Drittens können zwei Transaktionen in Konflikt stehen, sodass nur eine akzeptiert werden kann. Ein klassisches Beispiel ist a doppelte Ausgaben in dem das gleiche Asset an zwei verschiedene Empfänger gesendet wird. In einer Peer-to-Peer-Datenbank ohne zentrale Berechtigung haben Knoten möglicherweise unterschiedliche Meinungen darüber, welche Transaktion akzeptiert werden soll, da dies der Fall ist keine objektive richtige Antwort. Indem Transaktionen in einer Blockchain "bestätigt" werden müssen, stellen wir sicher, dass alle Knoten bei derselben Entscheidung konvergieren.

Endlich in EthereumBlockchains im Stil, die präzise Bestellung von Transaktionen spielt eine entscheidende Rolle, weil jede Transaktion kann beeinflussen, was passiert in jedem folgenden. In diesem Fall definiert die Blockchain die maßgebliche Chronologie, ohne die Transaktionen überhaupt nicht verarbeitet werden können.

Eine Blockchain ist buchstäblich eine Blockkette, in der jeder Block eine Reihe von Transaktionen enthält, die als Gruppe bestätigt werden. Aber wer ist für die Auswahl der Transaktionen verantwortlich, die in jeden Block gehen? In der Art von "privater Blockchain", die für Unternehmensanwendungen geeignet ist, ist die Antwort eine geschlossene Gruppe von Validatoren ("Miner"), die die von ihnen erstellten Blöcke digital signieren. Diese Whitelist wird mit einer Art verteiltem Konsensschema kombiniert, um zu verhindern, dass eine Minderheit der Validatoren die Kontrolle über die Kette übernimmt. Beispielsweise verwendet MultiChain ein Schema namens Bergbauvielfalt, in denen die zugelassenen Bergleute in a Round-Robin Mode, mit einem gewissen Maß an Nachsicht, um nicht funktionierende Knoten zu ermöglichen.

Unabhängig davon, welches Konsensschema verwendet wird, haben die Validierungsknoten weitaus weniger Leistung als der Eigentümer einer herkömmlichen zentralisierten Datenbank. Validatoren können keine Transaktionen fälschen oder die Datenbank unter Verstoß gegen ihre Regeln ändern. In einem Vermögensbuch bedeutet dies, dass sie weder das Geld anderer Personen ausgeben noch die Gesamtmenge der dargestellten Vermögenswerte ändern können. Dennoch gibt es immer noch zwei Möglichkeiten, wie Validatoren den Inhalt einer Datenbank übermäßig beeinflussen können:

  • Transaktionszensur. Wenn genügend Validatoren böswillig zusammenarbeiten, können sie verhindern, dass eine bestimmte Transaktion in der Blockchain bestätigt wird, sodass sie dauerhaft in der Schwebe bleibt.
  • Voreingenommene Konfliktlösung. Wenn zwei Transaktionen in Konflikt stehen, entscheidet der Prüfer, der den nächsten Block erstellt, welche Transaktion in der Blockchain bestätigt wird, wodurch die andere abgelehnt wird. Die faire Wahl wäre die Transaktion, die zuerst gesehen wurde, aber Validatoren können basierend auf anderen Faktoren wählen, ohne dies preiszugeben.

Aufgrund dieser Probleme müssen Sie bei der Bereitstellung einer Blockchain-basierten Datenbank eine klare Vorstellung davon haben Wer sind Ihre Prüfer und warum vertrauen Sie ihnen?gemeinsam, wenn nicht allein. Abhängig vom Anwendungsfall können die Validatoren ausgewählt werden als: (a) ein oder mehrere Knoten, die von einer einzelnen Organisation gesteuert werden, (b) eine Kerngruppe von Organisationen, die die Kette verwalten, oder (c) jeder Knoten im Netzwerk.

8. Sichern Sie Ihr Vermögen

Wenn Sie so weit gekommen sind, haben Sie vielleicht bemerkt, dass ich Blockchains eher als gemeinsam genutzte Datenbanken bezeichne als als die allgemeineren „gemeinsam genutzten Hauptbücher“. Warum? Weil Blockchains als Technologie auf Probleme angewendet werden können, die weit über die Verfolgung des Eigentums an Vermögenswerten hinausgehen. Jede Datenbank mit mehreren nicht vertrauenswürdigen Autoren kann über eine Blockchain implementiert werden, ohne dass ein zentraler Vermittler erforderlich ist. Beispiele hierfür sind freigegebene Kalender, Zusammenarbeit im Wiki-Stil und Diskussionsforen.

Allerdings scheinen Blockchains vor allem für diejenigen von Interesse zu sein, die die Bewegung und den Austausch von finanziellen Vermögenswerten verfolgen. Ich kann mir zwei Gründe dafür vorstellen: (a) Der Finanzsektor reagiert auf die (im Nachhinein winzige) Bedrohung durch Kryptowährungen wie Bitcoin, und (b) ein Asset-Ledger ist das einfachste und natürlichste Beispiel für eine gemeinsame Datenbank mit voneinander abhängige Transaktionen, die von mehreren nicht vertrauenswürdigen Entitäten erstellt wurden.

Wenn Sie eine Blockchain als Asset-Ledger verwenden möchten, müssen Sie eine weitere wichtige Frage beantworten: Wie werden die Assets verschoben? Damit meine ich nicht nur Bargeld oder Anleihen oder Frachtbriefe, obwohl das natürlich auch wichtig ist. Die Frage ist eher: Wer steht hinter den in der Blockchain dargestellten Assets? Wenn die Datenbank besagt, dass ich 10 Einheiten von etwas besitze, wer erlaubt mir dann, diese 10 Einheiten zu beanspruchen in der echten Welt? Wen verklage ich, wenn ich das, was in der Blockchain steht, nicht in traditionelle physische Assets umwandeln kann? (Sieh dir das an Vermögensvereinbarung zum Beispiel.)

Die Antwort hängt natürlich vom Anwendungsfall ab. Bei Geldanlagen kann man sich vorstellen, dass Depotbanken Bargeld in traditioneller Form annehmen und dann die Konten der Einleger in einem Blockchain-basierten verteilten Hauptbuch gutschreiben. Bei der Handelsfinanzierung würden Akkreditive und Frachtbriefe von der Bank des Importeurs bzw. der Reederei unterstützt. Und weiter in der Zukunft können wir uns eine Zeit vorstellen, in der die Erstausgabe von Unternehmensanleihen erfolgt direkt in einer Blockchain durch das Unternehmen, das Mittel beschaffen möchte.

Zusammenfassung

Wie ich in der Einleitung erwähnt habe, wenn Ihr Projekt nicht erfüllt jede einzelne dieser Bedingungensollten Sie keine Blockchain verwenden. Wenn keine der ersten fünf vorhanden ist, sollten Sie Folgendes in Betracht ziehen: (a) reguläre Dateispeicherung, (b) eine zentralisierte Datenbank, (c) Master-Slave Datenbankreplikationoder (d) mehrere Datenbanken, auf die Benutzer zugreifen können Abonnieren.

Und wenn Sie die ersten fünf erfüllen, gibt es noch viel zu tun. Sie müssen in der Lage sein, die Regeln Ihrer Anwendung in Bezug auf die Transaktionen auszudrücken, die eine Datenbank zulässt. Sie müssen sicher sein, wem Sie als Validatoren vertrauen können und wie Sie verteilten Konsens definieren. Wenn Sie ein gemeinsames Hauptbuch erstellen möchten, müssen Sie wissen, wer die Assets unterstützt, die dieses Hauptbuch darstellt.

Hast du alle Antworten? Herzlichen Glückwunsch, Sie haben einen echten Blockchain-Anwendungsfall. Und Wir würden gerne von Ihnen hören.

Bitte posten Sie Kommentare auf LinkedIn. Siehe auch dieses Follow-up: Vier echte Blockchain-Anwendungsfälle.

Zeitstempel:

Mehr von Multikette