Zephyrnet-Logo

R3 Corda: Tiefer Tauchgang und technische Überprüfung

Datum:

Ein detaillierter Blick auf die Blockchain ohne Blockchain

Im Laufe der Zeit hat sich die Blockchain-Welt in zwei Teile geteilt. Einerseits haben öffentliche Blockchains mit den dazugehörigen Kryptowährungen in jüngster Zeit ein bemerkenswertes Comeback erlebt und so manchen Multimillionär geprägt. Auf der anderen Seite hat die Verwendung von genehmigten oder Enterprise-Blockchains leise, aber stetig zugenommen, da sie ihre ersten gesehen haben Live-Bereitstellungen branchenübergreifend im Jahr 2017.

Eine interessante Frage ist die angemessene Ähnlichkeit zwischen diesen beiden Kettentypen. Beide implementieren eine gemeinsam genutzte Datenbank mithilfe von Peer-to-Peer-Netzwerken, Kryptografie mit öffentlichen und privaten Schlüsseln, Transaktionsregeln und Konsensmechanismen, die böswillige Akteure überleben können. Das ist eine Menge Gemeinsamkeiten. Öffentliche und private Blockchains stellen jedoch unterschiedliche Anforderungen an Vertraulichkeit, Skalierbarkeit und Governance. Vielleicht deuten diese Unterschiede auf die Notwendigkeit radikal unterschiedlicher Designs hin.

Das Seil Plattform, entwickelt von der R3 Das Bankenkonsortium nimmt zu dieser Frage eine klare Haltung ein. Während einige Aspekte von öffentlichen Blockchains inspiriert wurden, wurde Corda von Grund auf neu entwickelt, basierend auf den Bedürfnissen der R3-Mitglieder. In der Tat, obwohl R3 immer noch das Wort "Blockchain" verwendet ausführlich Um die Vermarktung ihres Produkts zu unterstützen, hat Corda überhaupt keine Blockkette. Mehr als jede andere mir bekannte Plattform für verteilte Hauptbücher weicht Corda radikal von der Architektur herkömmlicher Blockchains ab.

Mein Ziel in diesem Stück ist es, diese Unterschiede zu erklären und ihre Auswirkungen für gut und schlecht zu diskutieren. Tatsächlich ist gut und schlecht der falsche Weg, weil die interessantere Frage lautet: "Gut und schlecht für was?" Dieser Artikel ist alles andere als kurz. Aber am Ende hoffe ich, dass die Leser ein gewisses Verständnis für die Unterschiede in Corda und die daraus resultierenden Kompromisse gewinnen. Corda ist wichtig, weil seine Designentscheidungen viele der Dilemmata von Unternehmensblockchains deutlich lösen.

Eine letzte Sache, bevor wir eintauchen. Als CEO des Unternehmens dahinter MultichainWarum schreibe ich so ausführlich über ein angeblich konkurrierendes Produkt? Der Standardgrund wäre, für die Überlegenheit von MultiChain zu argumentieren, aber das ist hier nicht meine Motivation. Tatsächlich sehe ich Corda und MultiChain nicht als Konkurrenten, weil sie sich in Bezug auf Design, Architektur und Publikum grundlegend unterscheiden. Corda und MultiChain konkurrieren auf die gleiche Weise wie Kreuzfahrtschiffe und Jetskis - während beide Menschen auf dem Seeweg transportieren, gibt es fast keine realen Situationen, in denen beide eingesetzt werden könnten.

Persönlicher gesagt, ich habe in den letzten Jahren viel von Cordas technischer Führung gelernt, sei es durch Besprechungen, Korrespondenz oder deren öffentliche Schriften, von denen viele vor ihrem Eintritt bei R3 stattfanden. Ein Teil meines Interesses an Corda beruht auf dem Respekt, den ich diesem Team entgegenbringe, und allein aus diesem Grund lohnt es sich, Corda für alle zu studieren, die das verteilte Hauptbuch verstehen möchten.

Blockchains einführen

Um Corda zu verstehen, ist es hilfreich, mit herkömmlichen Blockchains zu beginnen. Der Zweck einer Blockchain besteht darin, eine Datenbank oder ein Hauptbuch direkt und sicher von nicht vertrauenswürdigen Parteien gemeinsam nutzen zu lassen. Dies steht im Gegensatz zu zentralisierten Datenbanken, die von einer einzigen Organisation gespeichert und gesteuert werden. Eine Blockchain hat mehrere „Knoten“, von denen jeder eine Kopie der Datenbank speichert und zu einer anderen Organisation gehören kann. Knoten verbinden sich in einer dichten Peer-to-Peer-Weise miteinander, wobei ein „Klatschprotokoll“ verwendet wird, bei dem jeder Knoten seinen Peers ständig alles erzählt, was er lernt. Infolgedessen kann jeder Knoten über viele alternative Pfade schnell eine Nachricht an das gesamte Netzwerk senden.

Eine Datenbank, ob zentralisiert oder blockchain-basiert, beginnt in einem leeren Zustand und wird über „Transaktionen“ aktualisiert. Eine Transaktion ist definiert als eine Reihe von Datenbankänderungen, die "atomar" sind, was bedeutet, dass sie insgesamt erfolgreich sind oder fehlschlagen. Stellen Sie sich eine Datenbank vor, die ein Finanzbuch mit einer Zeile pro Konto darstellt. Eine Transaktion, bei der Alice Bob 10 US-Dollar zahlt, besteht aus drei Schritten: (1) Überprüfen Sie, ob Alices Konto mindestens 10 US-Dollar enthält, (2) Ziehen Sie 10 US-Dollar von Alices Konto ab und (3) fügen Sie Bob 10 US-Dollar hinzu. Grundsätzlich muss jede Datenbankplattform sicherstellen, dass keine Transaktion eine andere stört. Diese „Isolation“ wird erreicht, indem die Zeilen für Alice und Bob gesperrt werden, während die Zahlung ausgeführt wird. Jede andere Transaktion mit diesen Zeilen muss warten, bis diese abgeschlossen ist.

In einer Blockchain verarbeitet jeder Knoten unabhängig jede Transaktion auf einer eigenen Kopie der Datenbank. Transaktionen werden an einer beliebigen Stelle im Netzwerk erstellt und automatisch an alle anderen Knoten weitergegeben. Da die Organisationen, auf denen Knoten ausgeführt werden, möglicherweise unterschiedliche (oder sogar widersprüchliche) Interessen haben, können sie sich nicht darauf verlassen, dass sie fair handeln. Blockchains benötigen daher Regeln, die definieren, ob eine bestimmte Transaktion gültig ist oder nicht. In einem gemeinsamen Finanzbuch verhindern diese Regeln, dass Benutzer sich gegenseitig Geld ausgeben oder Geld aus dem Nichts beschwören.

Neben den Regeln, die die Gültigkeit von Transaktionen bestimmen, müssen Blockchains auch definieren, wie Transaktionen bestellt werden, da diese Reihenfolge in vielen Fällen kritisch ist. Wenn Alice 15 US-Dollar hat und versucht, in zwei getrennten Transaktionen 10 US-Dollar an Bob und Charlie zu senden, kann nur eine dieser Zahlungen erfolgreich sein. Während wir vielleicht sagen möchten, dass die erste Transaktion Vorrang hat, hat ein Peer-to-Peer-Netzwerk keine objektive Definition von „zuerst“, da Nachrichten in unterschiedlichen Reihenfolgen an verschiedenen Knoten ankommen können.

Transaktionsregeln

Im Allgemeinen werden die Informationen in einer Datenbank in Datensätze oder „Zeilen“ unterteilt, und eine Transaktion kann drei verschiedene Aktionen ausführen: Zeilen löschen, Zeilen erstellen und / oder Zeilen ändern. Diese können weiter auf zwei reduziert werden, da das Ändern einer Zeile dem Löschen dieser Zeile und dem Erstellen einer neuen Zeile an ihrer Stelle entspricht. Um zu Alices Zahlung an Bob zurückzukehren, wird ihre Zeile mit 15 US-Dollar gelöscht und zwei neue Zeilen erstellt - eine mit 10 US-Dollar für Bob und die andere mit 5 US-Dollar für Alice.

Nach der Terminologie von Bitcoin und Corda bezeichnen wir die von einer Transaktion gelöschten Zeilen als "Eingaben" und die als "Ausgaben" erstellten Zeilen. Jede von einer Transaktion gelöschte Zeile muss von einer vorherigen Transaktion erstellt worden sein. Daher verbraucht (oder "verbringt") jede Transaktionseingabe die Ausgabe einer vorherigen Transaktion. Der aktuelle Inhalt der Datenbank wird durch die Menge der "nicht ausgegebenen Transaktionsausgaben" oder "UTXOs" definiert.

In einer Blockchain ist eine Transaktion gültig, wenn sie die folgenden drei Bedingungen erfüllt:

  1. Richtigkeit. Die Transaktion muss eine legitime Transformation von Eingaben zu Ausgaben darstellen. In einem Finanzbuch muss beispielsweise die Gesamtmenge der Mittel in den Inputs mit der Gesamtmenge in den Outputs übereinstimmen, um zu verhindern, dass Geld auf magische Weise erscheint oder verschwindet. Die einzigen Ausnahmen sind spezielle „Emissions-“ oder „Ruhestandstransaktionen“, bei denen Gelder explizit hinzugefügt oder entfernt werden.
  2. Genehmigung. Die Transaktion muss vom Eigentümer jeder von ihren Eingaben verbrauchten Ausgabe autorisiert werden. In einem Finanzbuch verhindert dies, dass sich die Teilnehmer ohne Erlaubnis gegenseitig Geld ausgeben. Die Transaktionsautorisierung wird mithilfe der Kryptografie mit asymmetrischem (oder öffentlich-privatem Schlüssel) verwaltet. Jede Zeile hat einen Eigentümer, der durch einen öffentlichen Schlüssel identifiziert wird und dessen entsprechender privater Schlüssel geheim gehalten wird. Um autorisiert zu werden, muss eine Transaktion vom Eigentümer jeder ihrer Eingaben digital signiert werden. (Beachten Sie, dass Zeilen auch komplexere "Multisignatur" -Eigentümer haben können, z. B. wenn zwei von drei Parteien ihre Verwendung autorisieren können.)
  3. Einzigartigkeit. Wenn eine Transaktion eine bestimmte Ausgabe verbraucht, kann keine andere Transaktion diese Ausgabe erneut verbrauchen. Auf diese Weise verhindern wir, dass Alice widersprüchliche Zahlungen an Bob und Charlie leistet. Während die Transaktionen für diese beiden Zahlungen korrekt und autorisiert sein könnten, stellt die Eindeutigkeitsregel sicher, dass nur eine von der Datenbank verarbeitet wird.

In einer herkömmlichen Blockchain überprüft jeder Knoten jede Transaktion hinsichtlich dieser drei Regeln. Später werden wir sehen, wie Corda diese Verantwortung anders aufteilt.

Bausteine

Eine Blockchain ist buchstäblich eine Blockkette, in der jeder Block über einen „Hash“, der seinen Inhalt eindeutig identifiziert, mit dem vorherigen verknüpft ist. Jeder Block enthält einen geordneten Satz von Transaktionen, die nicht miteinander oder mit denen in vorherigen Blöcken in Konflikt stehen dürfen, sowie einen Zeitstempel und einige andere Informationen. Genau wie Transaktionen breiten sich Blöcke schnell im Netzwerk aus und werden von jedem Knoten unabhängig überprüft. Sobald eine Transaktion in einem Block angezeigt wird, wird sie "bestätigt", was dazu führt, dass Knoten widersprüchliche Transaktionen ablehnen.

Wer ist für die Erstellung dieser Blöcke verantwortlich und wie können wir sicher sein, dass sich alle Knoten auf die maßgebliche Kette einigen? Diese Frage der „Konsensalgorithmen“ ist an sich schon ein großes Thema, gefüllt mit wundersamen Akronymen wie PoW (Proof of Work), PBFT (Practical Byzantine Fault Tolerance) und DPoS (Delegated Proof of Stake). Wir werden hier nicht darauf eingehen. Es genügt zu sagen, dass genehmigte Blockchains für Unternehmen eine Art Abstimmungsschema verwenden, bei dem Stimmen an „Validator-Knoten“ vergeben werden, die gemeinsam verantwortlich sind. Das Schema stellt sicher, dass, solange eine gute Mehrheit der Validierungsknoten korrekt und ehrlich funktioniert, Transaktionen in einer (nahezu) fairen Reihenfolge in die Kette eingehen, Zeitstempel (ungefähr) korrekt sind und bestätigte Transaktionen anschließend nicht rückgängig gemacht werden können.

Bevor ich einige der Herausforderungen von Blockchains diskutiere, möchte ich drei zusätzliche Punkte klarstellen. Erstens, während ich in diesem Artikel anhand eines Beispiels ein Finanzbuch verwende, unterstützt das Input-Output-Modell von Transaktionen eine viel größere Vielfalt von Anwendungsfällen. Jede Zeile kann ein umfangreiches Datenobjekt (denken Sie an JSON) enthalten, das viele verschiedene Arten von Informationen enthält. Aus diesem Grund verwendet Corda das Wort "Status" anstelle von "Zeile". Reichere Zustände ändern nichts Grundlegendes an Transaktionsregeln: Die Korrektheit wird immer noch in Bezug auf Ein- und Ausgaben definiert, für jede Eingabe ist weiterhin eine Autorisierung erforderlich, und die Eindeutigkeit stellt sicher, dass jede Ausgabe nur einmal ausgegeben werden kann.

Zweitens gibt es viele Blockchain-Anwendungsfälle, in denen Zeilen nur in der Datenbank erstellt und nie gelöscht werden. Diese Anwendungen beziehen sich auf die allgemeine Datenspeicherung, Zeitstempelung und Beglaubigung, anstatt eine Art Hauptbuch zu führen, das sich im Fluss befindet. In diesen Nur-Daten-Anwendungen fügen Transaktionen Daten in ihre Ausgaben ein, verbrauchen jedoch keine in ihren Eingaben, wodurch die Regeln für Korrektheit, Autorisierung und Eindeutigkeit vereinfacht werden können. Obwohl reine Datenanwendungsfälle ein zunehmender Schwerpunkt unserer eigenen Entwicklung bei MultiChain sind, erwähne ich sie hier nur beiläufig, da Corda eindeutig nicht für sie entwickelt wurde.

Schließlich ist anzumerken, dass einige Blockchain-Plattformen kein Eingabe-Ausgabe-Modell verwenden. Ethereum stellt ein alternatives Paradigma vor, bei dem die Kette einen virtuellen Computer mit einem globalen Status steuert, der von „Verträgen“ verwaltet wird, und Transaktionen nicht explizit miteinander verbunden werden. Eine Diskussion des Ethereum-Modells in erlaubten Blockchains würde hier unseren Rahmen sprengen, aber siehe Dieser Artikel für eine detaillierte Erklärung und Kritik. Ein wesentlicher Vorteil des Input-Output-Paradigmas besteht darin, dass die meisten Transaktionen parallel und unabhängig voneinander verarbeitet werden können. Diese Eigenschaft ist für Corda von entscheidender Bedeutung, wie wir später sehen werden.

Blockchain-Herausforderungen

Stellen wir uns vor, die Banken der Welt haben ein gemeinsames Hauptbuch erstellt, um das Eigentum, die Übertragung und den Austausch einer Vielzahl von finanziellen Vermögenswerten darzustellen. Theoretisch könnte dies wie oben beschrieben in einer regulären Blockchain implementiert werden. Jede Zeile würde drei Spalten enthalten - eine Asset-ID wie toget oder USD, die im Besitz befindliche Menge und den öffentlichen Schlüssel des Eigentümers. Jede Transaktion würde ein oder mehrere Vermögenswerte von ihren Inputs auf ihre Outputs übertragen, mit Sonderfällen für die Ausgabe und den Ruhestand.

Jede Bank im Netzwerk würde einen oder mehrere Knoten ausführen, die eine Verbindung zu den anderen herstellen und Transaktionen weitergeben und überprüfen. Ältere Mitglieder würden als Validatoren fungieren und die kollektive Verantwortung für die Bestätigung, Bestellung und Zeitstempelung von Transaktionen tragen. Das Fehlverhalten eines Validators wäre für alle Knoten im Netzwerk sichtbar, was zu Tadel, Verbannung und / oder Gerichtsverfahren führen würde. Mit all dem könnte jeder finanzielle Vermögenswert innerhalb von Sekunden auf der ganzen Welt bewegt werden, wobei die Regeln der Korrektheit, Autorisierung und Eindeutigkeit die Integrität des Hauptbuchs gewährleisten.

Was ist falsch mit diesem Bild? Tatsächlich gibt es drei Probleme: Skalierbarkeit, Vertraulichkeit und Interoperabilität. Das Problem der Skalierbarkeit ist einfach genug. Unsere vorgeschlagene Interbank-Blockchain würde erfordern, dass jedes Mitglied jede von jeder Bank auf der Welt durchgeführte Transaktion überprüft, verarbeitet und speichert. Selbst wenn dies für die größten Finanzinstitute technisch machbar wäre, würden die Kosten für Berechnung und Speicherung für viele ein erhebliches Hindernis darstellen. Sicherlich würden wir ein System bevorzugen, bei dem die Teilnehmer nur die Transaktionen sehen, an denen sie unmittelbar beteiligt sind.

Aber lassen Sie uns die Skalierbarkeit beiseite legen, da sie letztendlich mit teuren Computern und cleverer Technik gelöst werden kann. Ein grundlegenderes Problem ist die Vertraulichkeit. Während es utopisch klingt, wenn jede Transaktion überall sichtbar ist, ist solch radikale Transparenz in der realen Welt ein Nichtstarter in Bezug auf Wettbewerb und Regulierung. Wenn JP Morgan und HSBC zwei Vermögenswerte austauschen, ist es unwahrscheinlich, dass Citi und die Bank of China sehen, was sie getan haben. Wenn die Transaktion im Auftrag der Kunden dieser Banken durchgeführt wurde, könnte es für sie illegal sein, sie auf diese Weise offenzulegen.

Eine vorgeschlagene Lösung für das Problem der Vertraulichkeit sind "Kanäle", wie sie in Hyperledger Fabric implementiert sind. Jeder Kanal hat bestimmte Mitglieder, die eine Teilmenge der Knoten im gesamten Netzwerk sind. Die Transaktionen eines Kanals sind nur für seine Mitglieder sichtbar, sodass jeder Kanal effektiv als separate Blockchain fungiert. Dies hilft zwar bei der Vertraulichkeit, untergräbt aber auch den gesamten Punkt der Übung. Assets können nicht ohne die Hilfe eines vertrauenswürdigen Vermittlers, der auf beiden aktiv ist, von einem Kanal auf einen anderen verschoben werden. Die Schwierigkeit dieses Ansatzes wurde kürzlich von SWIFT hervorgehoben Versöhnungsnachweis, die schätzungsweise über 100,000 Kanäle in der Produktion benötigen würde. Das sind 100,000 Inseln, zwischen denen Vermögenswerte nicht direkt verschoben werden können.

In Nur-Daten-Anwendungsfällen, in denen Transaktionen keine Daten in Eingaben verbrauchen, kann das Vertraulichkeitsproblem umgangen werden, indem die Daten in Ausgaben verschlüsselt oder gehasht werden und der Entschlüsselungsschlüssel oder nicht verwaschene Daten außerhalb der Kette bereitgestellt werden. Bei einer Transaktion, deren Eingaben die Ausgaben anderer Transaktionen verbrauchen, muss jeder Knoten diese Ein- und Ausgaben sehen, um die Transaktion zu validieren. Während fortgeschrittene kryptografische Techniken wie vertrauliche Vermögenswerte und Keine Wissensnachweise wurden entwickelt, um dieses Problem für Finanzbücher teilweise oder vollständig zu lösen. Diese stellen eine erhebliche Leistungsbelastung dar und / oder können nicht auf eine Korrektheitsregel verallgemeinert werden.

Lassen Sie uns abschließend über die Interoperabilität sprechen. In einer idealen Welt würde jede Bank am Tag ihrer Gründung sofort unserer globalen Blockchain beitreten. In der Realität würden jedoch mehrere Blockchains von verschiedenen Gruppen von Banken übernommen, basierend auf der Geografie oder bereits bestehenden Beziehungen. Im Laufe der Zeit möchte ein Mitglied einer Gruppe möglicherweise mit Transaktionen mit einem Mitglied einer anderen Gruppe beginnen, indem es einen Vermögenswert zwischen Ketten überträgt. Genau wie bei Kanälen kann dies nur mit Hilfe eines vertrauenswürdigen Vermittlers erreicht werden, der den Zweck der Blockchain zunichte macht.

Corda zielt darauf ab, diese miteinander verbundenen Probleme der Skalierbarkeit, Vertraulichkeit und Interoperabilität durch ein radikales Überdenken der Funktionsweise verteilter Hauptbücher zu lösen.

Cordas Teilansicht

Der grundlegende Unterschied in Corda ist leicht zu erklären: Jeder Knoten sieht nur einige und nicht alle der im Netzwerk verarbeiteten Transaktionen. Während ein einziges logisches und konzeptionelles Ledger durch alle diese Transaktionen definiert wird, sieht kein einzelner Knoten dieses Ledger in seiner Gesamtheit. Um einen Vergleich zu ziehen, befindet sich zu jedem Zeitpunkt jede Dollarnote der Welt an einem bestimmten Ort, aber niemand weiß, wo sie sich alle befinden.

Welche Transaktionen sieht ein Corda-Knoten? Zuallererst diejenigen, an denen es direkt beteiligt ist, weil es einen der Ein- oder Ausgänge dieser Transaktion besitzt. In einem Finanzbuch umfasst dies jede Transaktion, bei der ein Knoten Geld sendet oder empfängt. Nehmen wir an, Alice erstellt eine Transaktion, die ihre 15 US-Dollar für eine Eingabe verbraucht und zwei Ausgaben hat - eine mit 10 US-Dollar für mich und die andere mit 5 US-Dollar für "Wechselgeld" für sie. Nachdem Alice mir diese Transaktion gesendet hat, kann ich sie auf Richtigkeit und Autorisierung überprüfen und überprüfen, ob die Ein- und Ausgänge ausgeglichen sind und ob Alice unterschrieben hat.

Diese Transaktion allein reicht jedoch nicht aus. Ich muss auch überprüfen, ob Alices $ 15-Eingabestatus wirklich existiert und sie hat es nicht nur erfunden. Das heißt, ich muss die Transaktion sehen, die diesen Status erstellt hat, und sie auch auf Richtigkeit und Autorisierung überprüfen. Wenn diese vorherige Transaktion, die Alice 15 US-Dollar geschickt hat, eine 10-Dollar-Eingabe von Denzel und eine weitere 5-Dollar-Eingabe von Eric hat, muss ich auch die Transaktionen überprüfen, die diese erstellt haben. Und so weiter geht es zurück bis zur ursprünglichen „Emission“ -Transaktion, bei der der Vermögenswert erstellt wurde. Die Anzahl der Transaktionen, die ich überprüfen muss, hängt davon ab, wie oft die Assets den Besitzer gewechselt haben und inwieweit sie rückwärts verzweigt sind.

Da Corda-Knoten nicht automatisch jede Transaktion sehen, wie erhalten sie die benötigten? Die Antwort kommt vom Absender jeder neuen Transaktion. Bevor Alice eine Transaktion erstellt, die ihre 15 US-Dollar kostet, muss sie die Transaktion, in der sie sie erhalten hat, bereits überprüft haben. Und da Alice die oben beschriebene rekursive Technik angewendet haben muss, verfügt sie über eine Kopie jeder Transaktion, die für diese Überprüfung benötigt wird. Bob fordert diese Transaktionen einfach von Alice als Teil ihrer Interaktion an. Wenn Alice nicht angemessen reagiert, kommt Bob zu dem Schluss, dass Alice versucht, ihn auszutricksen, und lehnt die eingehende Zahlung ab. Für den Fall, dass Bob eine neue Transaktion gesendet wird, deren Eingaben mehrere Eigentümer haben, kann er von jedem die erforderlichen Beweise erhalten.

Notare vorstellen

Bisher haben wir erklärt, wie Bob die Richtigkeit und Autorisierung einer eingehenden Transaktion überprüfen kann, einschließlich der rekursiven Rückverfolgung der Ursprünge ihrer Eingaben. Aber es gibt noch eine Regel, über die wir nachdenken müssen: Einzigartigkeit. Nehmen wir an, Alice ist bösartig. Sie kann eine Transaktion generieren, bei der sie Bob 10 US-Dollar zahlt, und eine andere, bei der sie Charlie die gleichen 10 US-Dollar zahlt. Sie kann diese Transaktionen zusammen mit einem vollständigen Nachweis der Richtigkeit und Autorisierung an Bob bzw. Charlie senden. Während beide Transaktionen miteinander in Konflikt stehen, indem sie denselben Status verbrauchen, können Bob und Charlie dies nicht wissen.

Herkömmliche Blockchains lösen dieses Problem, indem jeder Knoten jede Transaktion sieht, sodass Konflikte leicht erkannt und zurückgewiesen werden können. Wie geht Corda mit seiner teilweisen Transaktionssichtbarkeit das gleiche Problem an? Die Antwort erfolgt mit Hilfe eines „Notars“. Ein Notar ist eine vertrauenswürdige Partei (oder Parteien, die zusammenarbeiten), die garantiert, dass ein bestimmter Staat nur einmal konsumiert wird. Jeder Staat hat einen bestimmten Notar, der jede Transaktion unterzeichnen muss, in der dieser Staat verbraucht wird. Sobald ein Notar dies getan hat, darf er keine weitere Transaktion für denselben Staat unterzeichnen. Notare sind die Hüter des Netzwerks für die Einzigartigkeit von Transaktionen.

Während jeder Staat einen anderen Notar haben kann, müssen alle von einer bestimmten Transaktion verbrauchten Staaten demselben zugeordnet werden. Dies vermeidet Probleme im Zusammenhang mit Deadlocks und Synchronisation, die für Personen mit verteilter Datenbankerfahrung bekannt sein sollten. Nehmen wir an, Alice und Bob vereinbaren, Alices 10 Dollar gegen Bobs 7 Pfund einzutauschen. Die Transaktion für diesen Austausch muss von den Notaren beider Staaten unterzeichnet werden, aber welche geht zuerst? Wenn Alices Notar unterschreibt, Bob jedoch aus irgendeinem Grund versagt, bleibt Alice eine unvollständige Transaktion und kann ihre 10 Dollar nie wieder verwenden. Wenn Bob zuerst unterschreibt, ist er ähnlich exponiert. Während wir möchten, dass Notare einfach zusammenarbeiten, erfordert dies in der Praxis gegenseitiges Vertrauen und die Verwendung eines Konsensprotokolls, Komplikationen, die Cordas Designer vermeiden wollten.

Wenn Staaten mit unterschiedlichen Notaren als Eingaben für eine einzelne Transaktion erforderlich sind, führen ihre Eigentümer zunächst spezielle „Notarwechsel“ -Transaktionen aus, die einen Staat von einem Notar in einen anderen verschieben und nichts anderes ändern. Wenn Parteien eine Transaktion mit mehreren Eingaben erstellen, müssen sie sich zunächst auf den zu verwendenden Notar einigen und dann die erforderlichen Notaränderungen vornehmen. Während der Entwickler in mir beim Lesen dieser Problemumgehung einen leichten Schmerz verspürte, gibt es keinen Grund, warum dies nicht funktioniert, solange Notare mitspielen.

Es sollte auch klargestellt werden, dass jeder Notar zwar ein einziger logischer Akteur in Bezug auf die Unterzeichnung von Transaktionen ist, jedoch nicht unter der Kontrolle einer einzelnen Partei stehen muss. Eine Gruppe von Organisationen könnte gemeinsam einen Notar führen und dabei ein geeignetes Konsensprotokoll verwenden, bei dem die Mehrheit der Teilnehmer benötigt wird, um eine gültige Unterschrift zu erstellen. Dies würde verhindern, dass eine einzelne böswillige Partei die Einzigartigkeit untergräbt, indem sie widersprüchliche Transaktionen signiert. Theoretisch könnten wir sogar jedem Knoten im Netzwerk erlauben, an dieser Art der gemeinsamen Beglaubigung teilzunehmen, obwohl wir in diesem Fall mehr oder weniger zu einer herkömmlichen Blockchain zurückkehren würden.

Punktzahl erzielen

Lassen Sie uns die wichtigsten Unterschiede zwischen Corda und herkömmlichen Blockchains zusammenfassen. In Corda gibt es keine einheitliche Blockchain, die alle bestätigten Transaktionen enthält. Knoten sehen nur die Transaktionen, an denen sie direkt beteiligt sind oder von denen sie historisch abhängen. Knoten sind für die Überprüfung der Transaktionskorrektheit und -autorisierung verantwortlich, verlassen sich jedoch auf vertrauenswürdige Notare, um die Eindeutigkeit zu überprüfen.

Natürlich hat Corda noch viel mehr zu bieten: die Verwendung digitaler Zertifikate zur Authentifizierung der Identität, „Netzwerkkarten“, mit denen Knoten einander finden und vertrauen können, „Verträge“ pro Staat, die die Richtigkeit aus Sicht jedes Staates definieren, a deterministische Version der Java Virtual Machine, die diese Verträge ausführt, "Flows", die Transaktionsverhandlungen automatisieren, "Zeitfenster", die Transaktionen zeitlich einschränken, "Orakel", die externe Fakten bestätigen, und "CorDapps", die viele Dinge für eine einfache Verteilung bündeln . Während jede dieser Funktionen interessant ist, finden sich Entsprechungen für alle in anderen Blockchain-Plattformen. Mein Ziel in diesem Artikel ist es, mich auf das zu konzentrieren, was Corda einzigartig macht.

Also hält Corda, was es verspricht? Löst es die Skalierbarkeits-, Vertraulichkeits- und Interoperabilitätsprobleme von Blockchains? Und wie viel von einem Preis zahlt Corda, wenn er seine besonderen Entscheidungen trifft?

Manchmal skalierbarer

Beginnen wir mit der Skalierbarkeit. Hier scheint der Vorteil von Corda klar zu sein, da Knoten nur einige der Transaktionen in einem Netzwerk sehen. In einer regulären Blockchain wird der maximale Durchsatz durch die Geschwindigkeit des langsamsten Knotens bei der Verarbeitung von Transaktionen begrenzt. Im Gegensatz dazu könnte ein Corda-Netzwerk eine Million Transaktionen pro Sekunde verarbeiten, während jeder Knoten nur einen winzigen Bruchteil davon sieht. Die Skalierbarkeit erstreckt sich auch auf Notare, da die Aufgabe, Transaktionen zur Eindeutigkeit zu unterzeichnen, auf viele verschiedene Notare verteilt werden kann, von denen jeder für einen kleinen Teil der Netzwerkzustände verantwortlich ist.

Allerdings gibt es eine Situation, in der Corda weitaus schlechter abschneidet als eine Blockchain. Dies tritt auf, wenn ein Knoten eine neue Transaktion empfängt, die von vielen anderen Transaktionen abhängt, die er zuvor noch nicht gesehen hat. Stellen Sie sich einen hochliquiden Vermögenswert vor, der vor 10 Jahren ausgegeben wurde und etwa alle fünf Minuten den Besitzer wechselt. Der Weg von einer neuen Transaktion zurück zur Emission dieses Vermögenswerts wird über eine Million Transaktionen lang sein. Wenn ein Knoten dieses Asset zum ersten Mal empfängt, muss er diese Millionen Transaktionen vom Absender abrufen und nacheinander überprüfen. Bei einer (ziemlich optimistischen) Rate von 1000 Transaktionen pro Sekunde würde es eine Verzögerung von 17 Minuten geben, bevor der Empfänger den Vermögenswert weiterleiten könnte - eindeutig zu lang für etwas so Flüssiges.

Warum leiden Blockchains nicht unter diesem Problem? Da Knoten jede Transaktion sehen und überprüfen, während sie auftritt, aktualisieren sie ständig den Status des Ledgers und wissen genau, wem derzeit jedes Asset gehört. Selbst wenn ein Knoten noch nie zuvor ein bestimmtes Asset gehalten hat, kann er die Transaktion, in der er es empfängt, sofort überprüfen und dann sofort weiterleiten. Um es anders auszudrücken, Blockchain-Knoten müssen Transaktionen überprüfen, die für sie möglicherweise nicht relevant sind. Dabei zahlen sie jedoch die Kosten für die Überprüfung künftiger eingehender Transaktionen im Voraus. Während Corda-Knoten insgesamt weniger beschäftigt sind, führen sie die aus Risiko, sofort eine große Menge an Arbeit erledigen zu müssen. Daran ist nichts Skalierbares.

Etwas vertraulicher

Gehen wir zur Vertraulichkeit über. In Corda sehen Knoten nur einige Transaktionen eines Netzwerks, was zweifellos eine bessere Privatsphäre bedeutet als herkömmliche Blockchains. Trotzdem ist Corda weit davon entfernt, das Vertraulichkeitsproblem zu lösen, da Knoten immer noch einige Transaktionen sehen, die sie nichts angehen. Um ein einfaches Beispiel zu nennen: Wenn Alice Bob 10 US-Dollar zahlt und Bob diese 10 US-Dollar an Charlie weiterleitet, muss Charlies Knoten die Transaktion zwischen Alice und Bob angezeigt werden, obwohl er nicht daran beteiligt ist. Zu dem Zeitpunkt, als Alice Bob bezahlte, hatte sie keine Möglichkeit zu wissen, wer diese Transaktion in Zukunft sehen könnte, und jeder könnte sie jederzeit erhalten.

Um fair zu sein, sind sich die Entwickler von Corda dieses Problems bewusst und diskutieren es in Kapitel 15 Technisches Weißbuch. Das Papier schlägt einfache Strategien vor, wie die Verwendung mehrerer öffentlicher Schlüssel pro Entität oder die Verringerung der Rückverfolgbarkeit durch Rückgabe von Vermögenswerten an Emittenten zur erneuten Ausgabe (ähnlich wie bei Kryptowährungs-Münzmischern). Es werden auch fortgeschrittenere zukünftige Möglichkeiten erwähnt, wie die Verwendung von Tor-ähnlichen Anonymisierungsnetzwerken, um die IP-Adressen der Teilnehmer zu verbergen, und die Nutzung von Null-Wissensnachweisen oder von Intel sichere Enklaven Transaktionen zu validieren, ohne deren Inhalt preiszugeben. Alle diese Vorschläge sind gültig, können jedoch auch mithilfe des Eingabe-Ausgabe-Modells auf reguläre Blockchains angewendet werden und waren tatsächlich in Kryptowährungen wie Dash, Zcash und Verge enthalten. Der einzige einzigartige Vorteil von Corda in Bezug auf die Vertraulichkeit bleibt die reduzierte Transaktionssichtbarkeit - bestenfalls eine unvollständige Lösung.

Alles in der Zucht

Um den Skalierbarkeits- und Vertraulichkeitsvorteil von Corda besser zu verstehen, sollten wir beachten, wie dies von der Dichte und Überlappung der Beziehungen zwischen Transaktionen abhängt. Stellen Sie sich einen „Stammbaum“ der in einem Netzwerk durchgeführten Transaktionen vor, in dem die Eltern jeder Transaktion die vorherigen sind, von denen sie unmittelbar abhängt. Insbesondere wenn die Ausgabe einer Transaktion von der Eingabe einer anderen Transaktion verbraucht wird, zeichnen wir einen Pfeil, der die Beziehung von Eltern zu Kind darstellt. Transaktionen können eine beliebige Anzahl von Eltern und Kindern haben, obwohl wir in den meisten Fällen nur wenige erwarten würden.

In Anbetracht dieses Stammbaums definieren wir die Vorfahren einer Transaktion als ihre Eltern, Großeltern, Urgroßeltern und so weiter. Die „Adam und Eva“ unseres Baumes sind die Emissionstransaktionen, die Vermögenswerte geschaffen haben und keine eigenen Eltern haben. Wie in normalen Stammbäumen können zwei Transaktionen keine Vorfahren voneinander sein. In formalen Informatikbegriffen ist dies ein gerichteter azyklischer Graph oder DAG, in der Abstammung als der transitive Abschluss der Elternbeziehung definiert ist.

Denken Sie daran, dass ein Corda-Knoten, wenn er eine Transaktion verarbeitet, alle Vorfahren dieser Transaktion herunterladen und überprüfen muss, mit Ausnahme derjenigen, die er zuvor gesehen hat. Wenn der Stammbaum also tief ist, können neue eingehende Transaktionen eine große Anzahl von Vorfahren haben, die überprüft werden müssen, was das Skalierbarkeitsproblem von Corda auslöst. Wenn der Stammbaum einen hohen Grad an Kreuzung enthält, können die Vorfahren einer neuen Transaktion viele oder die meisten früheren Transaktionen im Netzwerk enthalten. In diesem Fall bietet Corda wenig Vorteile in Bezug auf die Privatsphäre.

Im Gegensatz dazu treten die Vorteile von Corda in den Vordergrund, wenn der Stammbaum der Transaktionen flach ist und viele nicht verbundene Inseln enthält, die nicht miteinander interagieren. Knoten müssen niemals eine große Anzahl von Transaktionen gleichzeitig überprüfen und können über die meisten Transaktionen, die nicht mit ihren eigenen zusammenhängen, im Dunkeln gehalten werden. Wenn Corda als Finanzbuch verwendet wird, kann man sagen, dass es ideal für stark fragmentierte Märkte ist, deren Vermögenswerte selten den Besitzer wechseln.

Bad-Corda-vs-Good-Corda-Stammbäume

Interoperabilität für den Sieg

Hier ist ein Bereich, in dem Corda wirklich glänzt. Stellen Sie sich zwei separate Corda-Netzwerke mit unterschiedlichen Assets und Teilnehmern vor. Irgendwann möchte ein Teilnehmer in einem Netzwerk einen Vermögenswert an jemanden im anderen senden. Im Gegensatz zu herkömmlichen Blockchains wird nicht erwartet, dass ein Knoten alle früheren Transaktionen überprüft hat, sodass der Knoten, der dieses neue Asset empfängt, nichts Ungewöhnliches erfährt. Wenn die Transaktion eingeht, fordert sie einfach den relevanten Verlauf an und überprüft ihn, ohne zu wissen, dass dieser von einem „separaten Netzwerk“ stammt. Um ein Klischee zu strecken, könnten wir sagen, dass es in Corda keine Fremden gibt - nur Freunde, die sich noch nicht getroffen haben.

In Wirklichkeit sind die Dinge nicht ganz so einfach. Jeder Corda-Knoten entscheidet explizit, welchen Notaren er vertrauen soll, da ein sich schlecht benehmender Notar finanzielles Chaos verursachen kann. Darüber hinaus benötigen Knoten ein von einem "Portier" ausgestelltes "Zertifikat", um eine Verbindung zu anderen Knoten in einem Netzwerk herzustellen, da wir nicht zulassen können, dass zufällige Mitglieder der Öffentlichkeit eine Verbindung zu Knoten herstellen und ihre Ressourcen verschwenden. Bevor ein Knoten in einem Netzwerk Transaktionen von einem anderen Netzwerk anfordern und überprüfen kann, muss er die Liste der vertrauenswürdigen Notare ergänzen und das entsprechende Zertifikat erhalten. Dies erfordert zwar einige manuelle Konfiguration und Verwaltung, ist jedoch das Minimum, das für ein System dieser Art zu erwarten ist. Insgesamt kann man zu dem Schluss kommen, dass Interoperabilität Cordas großer Gewinn gegenüber herkömmlichen Blockchains ist.

Wiedervermittlung

Es ist Zeit, über Disintermediation zu sprechen, den Elefanten in Cordas Zimmer. Disintermediation bedeutet im Kontext von Blockchains, dass jeder Teilnehmer jede Transaktion für sich selbst überprüfen kann, ohne vom guten Verhalten Dritter abhängig zu sein. Im meine SichtDisintermediation ist der Hauptvorteil von Blockchains gegenüber zentralisierten Datenbanken, bei denen alle Teilnehmer vollständig vom Eigentümer dieser Datenbank abhängig sind. Wenn die Teilnehmer eines Netzwerks einen Vermittler haben, auf den sie sich verlassen können, und es keinen geschäftlichen oder behördlichen Grund für eine Disintermediation gibt, gibt es einen keinen sinn bei der Verwendung einer Blockchain. Zentralisierte Datenbanken sind schneller und effizienter und vermeiden das Problem der Vertraulichkeit von Transaktionen.

Erreichen die Teilnehmer eines Corda-Netzwerks eine Disintermediation? Nun ja, ja und ja, aber nein. Für die Transaktionszustellung aktiviert Corda das Kästchen, da die an einer Transaktion beteiligten Knoten direkt miteinander kommunizieren. In Bezug auf Korrektheit und Autorisierung ist es auch in gutem Zustand, da jeder Knoten diese Eigenschaften für sich selbst überprüfen kann. Wenn es jedoch darum geht, die Eindeutigkeit von Transaktionen zu überprüfen, besteht Corda den Disintermediationstest nicht. Knoten können die Eindeutigkeit nicht für sich selbst bestätigen, da sie nicht jede Transaktion im Netzwerk sehen und die Aufgabe an vertrauenswürdige Notare ausgelagert wird.

Corda-Teilnehmer sind in vielerlei Hinsicht Notaren ausgeliefert. Erstens kann ein Notar die Unterzeichnung einer Transaktion verweigern, selbst wenn seine Eingaben Ausgaben verbrauchen, die zuvor noch nie verwendet wurden. In einem Finanzbuch verhindert dies, dass jemand sein Vermögen sendet oder umtauscht. Zweitens könnte ein Notar zwei widersprüchliche Transaktionen unterzeichnen, die dieselbe Leistung verbrauchen, was zwei Parteien zu der Annahme veranlasst, dass sie dasselbe erhalten haben. Da beide Empfänger des doppelten Vermögenswerts es bei weiteren Transaktionen senden oder austauschen, breitet sich die Ansteckung aus, und die Integrität des gesamten Hauptbuchs könnte bald untergraben werden. Schließlich kann ein Notar die Unterzeichnung einer Transaktion zur Änderung des Notars verweigern, um einen Staat an einen Wettbewerber zu übertragen, wodurch der Eigentümer des Vermögenswerts effektiv als Geisel genommen wird. Für eine Transaktion, an der Staaten mit unterschiedlichen Notaren beteiligt sind, ist es weit zu sagen, dass Corda einführt mehr Vermittlung als eine zentralisierte Datenbank, weil mehrere Dritte die Kontrolle haben.

Um dieses Risiko ins rechte Licht zu rücken, sollte daran erinnert werden, dass die Notare von Corda nicht von einer einzigen Organisation kontrolliert werden müssen. Sie können auch aus einer Gruppe von Knoten bestehen, auf denen ein Konsensalgorithmus ausgeführt wird, der schlechte Akteure tolerieren kann. In diesem Fall funktioniert ein Notar einwandfrei, solange die meisten seiner Mitgliedsknoten den Regeln folgen. An der Oberfläche klingt dies eher wie eine Blockchain, die davon abhängt, dass sich die Mehrheit der Validatoren gut verhält. In Corda sind die Risiken jedoch deutlich höher. Das Schlimmste, was eine Kabale von Blockchain-Validatoren tun kann, ist zu verhindern, dass einige Transaktionen bestätigt werden. Ein böswilliger Corda-Notar kann auch widersprüchliche Transaktionen unterzeichnen und das Hauptbuch in einen inkonsistenten Abgrund schicken.

Ein seltsames Tier

Wenn man Skalierbarkeit, Vertraulichkeit, Interoperabilität und Disintermediation zusammenfasst, ist es schwierig, ein einfaches Urteil über die Corda-Alternative zu fällen. Insgesamt scheint es aus der Sicht dieses Entwicklers der Blockchain-Plattform… überzeugend, aber seltsam. Die Lösungen von Corda wurden entwickelt, um die Hauptprobleme der Skalierbarkeit und Vertraulichkeit zu lösen. Sie sind unvollständig und hängen stark von der Form des Transaktions- „Stammbaums“ ab. Um diese Teilsiege zu erzielen, verliert Corda jedoch eine Kerneigenschaft von Blockchains - die Entfernung von Transaktionsvermittlern. Während Corda zweifellos über Interoperabilität verfügt, ist das wirklich genug?

Wenn wir skeptisch sein wollten, könnten wir sagen, dass Cordas Team eine unmögliche Aufgabe hatte - eine Blockchain-Variante zu entwerfen, die zu den Banken passt, die R3 finanzieren. Der Hauptvorteil von Blockchains gegenüber zentralisierten Datenbanken ist jedoch die Disintermediation, die zu Lasten einer verringerten Vertraulichkeit geht. Wie könnte dieser Kompromiss für Finanzinstitute sinnvoll sein, die als Vermittler Geld verdienen und sehr sensibel gegenüber der Privatsphäre sind? In diesem Licht könnte man Corda als einen heldenhaften, aber letztendlich unbefriedigenden Kompromiss zwischen dem Wunsch der R3-Mitglieder, etwas Blockchainisches zu tun, und den kommerziellen und regulatorischen Zwängen, unter denen sie existieren, loben.

Depotbank 2.0

Aber ich bevorzuge einen positiveren Ansatz. Anstatt uns auf den Vergleich mit Blockchains zu konzentrieren, können wir Corda als eine wichtige technische Verbesserung des finanziellen Status quo ansehen. Ersetzen Sie einfach das Wort "Notar" durch "Verwalter", und alles passt ziemlich gut zusammen. (EIN verwahrer ist ein Finanzinstitut, das Vermögenswerte im Namen anderer hält.) Ja, Notare sind Vermittler, die sowohl Transaktionen blockieren als auch Konflikte zulassen können. Dies gilt jedoch auch für die heutigen Depotbanken. Eine „notarielle Änderungstransaktion“ kann als Übertragung von Vermögenswerten von einer Depotbank auf eine andere angesehen werden. Und Corda-Transaktionen werden von nur einem Notar aus demselben Grund unterzeichnet, aus dem wir möchten, dass der Austausch von Vermögenswerten an einem Ort stattfindet - um zu verhindern, dass eine Partei aus eigener Tasche kommt.

Wenn wir Corda auf diese Weise betrachten, können wir sehen, wie es das traditionelle Sorgerechtsmodell verbessert:

  • Es definiert ein Standard-Berechnungsparadigma und -format für die Angabe von finanziellen Vermögenswerten und anderen vertraglichen Verpflichtungen.
  • Es bietet Open-Source-Software zur Interpretation und Ausführung dieser Verpflichtungen und garantiert, dass sich die Transaktionsparteien und Depotbanken auf das Ergebnis jeder Transaktion einigen.
  • Durch die Nutzung fehlertoleranter Konsensalgorithmen können komplexe Mehrparteien-Depotbanken erstellt werden, die vor Missbrauch schützen (nur mit Software!).
  • Für die Übertragung von Vermögenswerten zwischen Depotbanken ist ein Standardverfahren („Notarwechsel“) definiert, das von keiner Depotbank abgelehnt werden darf.
  • Depotbanken können ohne die Zustimmung des Eigentümers keinen Vermögenswert unter ihrer Verwahrung verwenden, da Transaktionen auch von den Eigentümern ihrer Inputs unterzeichnet werden müssen.

Ich bin weit davon entfernt, Banker zu sein, aber für mich klingt das alles ziemlich vielversprechend. Und vielleicht könnte Corda auch auf andere Branchen mit komplexen Verwaltungsstrukturen wie Versicherungen oder Schifffahrt angewendet werden. Während Cordas Design möglicherweise nicht die vollständige Disintermediation einer Blockchain bietet, schlägt es eine starke Transformation für Branchen vor, in denen Intermediäre eine wesentliche Rolle spielen.

Sobald wir diese Denkrichtung durchgehen, stellt sich unweigerlich die Frage: Wenn wir Notaren bereits die Aufgabe übertragen, die Einzigartigkeit auf Leben und Tod zu überprüfen, warum sollten wir uns nicht auch auf sie verlassen, um ihre Richtigkeit und Autorisierung zu gewährleisten? Corda hat bereits den Begriff eines „validierenden Notars“, der Transaktionen vollständig überprüft, bevor er seine Unterschrift hinzufügt. Fragen Sie stattdessen einfach einen Notar, anstatt die regulären Corda-Knoten herunterzuladen und die Vorfahren ihrer Transaktionen zu überprüfen. Dies könnte zur Skalierbarkeit und Vertraulichkeit beitragen, da die meisten Knoten keine anderen Transaktionen als ihre eigenen sehen würden. Wir könnten sogar vorschlagen, dass die Notare eines Netzwerks sich gegenseitig voll vertrauen, sodass Sie sich keine Sorgen um Vorfahren machen müssen. Der Notar jedes Staates könnte für seine Gültigkeit bürgen und nur die Transaktion überprüfen, die ihn mit Hilfe anderer Notare erstellt hat.

Lass Corda Corda sein

All dies bringt uns zurück zu unserem Ausgangspunkt: Corda ist kein wirklicher Konkurrent für konventionelle Blockchains, einschließlich MultiChain. Corda ist Corda - eine interessante neue Art von verteiltem Hauptbuch, das für die Bedürfnisse derjenigen optimiert wurde, die es finanzieren. Ich habe keine Ahnung, ob Corda letztendlich erfolgreich sein oder scheitern wird, da ich die tatsächlichen Kosten und Vorteile im Vergleich zur derzeitigen Vorgehensweise nicht kenne. Aber egal was in Zukunft passiert, es lohnt sich auf jeden Fall, in Bezug auf Philosophie und Design zu studieren.

Bei MultiChain verfolgen wir einen anderen Ansatz. Eine Linie stehlen von The West WingWir sind entschlossen, "Blockchain Blockchain sein zu lassen". Blockchains sind das, was sie sind, und wir haben nicht vor, sie in etwas anderes zu verwandeln. Als Dateninfrastruktur für eine gemeinsam genutzte Anwendung stellt eine Blockchain im Vergleich zu einer zentralisierten Datenbank einen spezifischen Kompromiss dar - ein Gewinn bei der Disintermediation auf Kosten einer verringerten Vertraulichkeit. Und wir arbeiten hart daran, MultiChain 2.0 zum bestmöglichen zu machen Blockchain Plattform für Anwendungsentwickler.

Bitte posten Sie Kommentare auf LinkedIn.

Quelle: https://www.multichain.com/blog/2018/05/r3-corda-deep-dive-and-technical-review/

spot_img

Neueste Intelligenz

spot_img