Von der Blockchain zur DAG: Vermittler loswerden

In diesem Artikel erzähle ich Ihnen etwas über DAG (Directed Asymmetric Graph) und seine Anwendung in verteilten Ledgern und vergleiche es mit der Blockchain.

Von der Blockchain zur DAG: Vermittler loswerden

DAG ist in der Welt der Kryptowährungen nichts Neues. Sie haben vielleicht schon davon gehört, dass es eine Lösung für Blockchain-Skalierbarkeitsprobleme darstellt. Aber heute werden wir nicht über Skalierbarkeit sprechen, sondern darüber, was Kryptowährungen von allem anderen unterscheidet: Dezentralisierung, Mangel an Vermittlern und Zensurresistenz.

Von der Blockchain zur DAG: Vermittler loswerden

Ich werde Ihnen auch zeigen, dass DAG tatsächlich zensurresistenter ist und es keine Zwischenhändler gibt, die auf das Hauptbuch zugreifen können.

Von der Blockchain zur DAG: Vermittler loswerden

Bei den uns bekannten Blockchains haben Nutzer keinen direkten Zugriff auf das Ledger selbst. Wenn Sie eine Transaktion zum Ledger hinzufügen möchten, müssen Sie den Blockproduzenten (auch bekannt als „Miner“) „bitten“, dies zu tun. Es sind die Miner, die entscheiden, welche Transaktion zum nächsten Block hinzugefügt wird und welche nicht. Es sind die Miner, die exklusiven Zugriff auf Blöcke haben und das Recht haben zu entscheiden, welche Transaktion zur Aufnahme in das Hauptbuch akzeptiert wird.

Miner sind Vermittler, die zwischen Ihnen und dem Distributed Ledger stehen.

Von der Blockchain zur DAG: Vermittler loswerden

In der Praxis kontrolliert normalerweise eine kleine Anzahl von Miner-Pools gemeinsam mehr als die Hälfte der Rechenleistung des Netzwerks. Für Bitcoin sind das vier Pools, für Ethereum zwei. Wenn sie Absprachen treffen, können sie alle gewünschten Transaktionen blockieren.

Von der Blockchain zur DAG: Vermittler loswerden

In den letzten Jahren wurden viele Variationen von Blockchains vorgeschlagen, die sich in den Prinzipien der Auswahl der Blockproduzenten unterscheiden. Aber die Blockproduzenten selbst gehen nirgendwo hin, sie stehen immer noch „an der Barriere“: Jede Transaktion muss über den Blockproduzenten laufen, und wenn er sie nicht akzeptiert, dann existiert die Transaktion tatsächlich nicht.

Von der Blockchain zur DAG: Vermittler loswerden

Dies ist ein unvermeidliches Problem bei Blockchain. Und wenn wir es lösen wollen, müssen wir das Design radikal ändern und Blöcke und Blockproduzenten vollständig abschaffen. Und anstatt eine Blockkette aufzubauen, werden wir die Transaktionen selbst verbinden, einschließlich der Hashes mehrerer vorheriger Transaktionen in jeder Transaktion. Als Ergebnis erhalten wir eine Struktur, die in der Mathematik als gerichteter azyklischer Graph – DAG – bekannt ist.

Jetzt hat jeder direkten Zugriff auf das Register, ohne Zwischenhändler. Wenn Sie eine Transaktion zum Hauptbuch hinzufügen möchten, fügen Sie sie einfach hinzu. Sie wählen mehrere übergeordnete Transaktionen aus, fügen Ihre Daten hinzu, signieren und senden Ihre Transaktion an Kollegen im Netzwerk. Bereit. Es gibt niemanden, der Sie daran hindert, sodass Ihre Transaktion bereits im Hauptbuch aufgeführt ist.

Dies ist die dezentralste und zensursicherste Möglichkeit, Transaktionen ohne Zwischenhändler zum Hauptbuch hinzuzufügen. Weil jeder einfach seine Transaktionen zur Registrierung hinzufügt, ohne jemanden um Erlaubnis zu bitten.

Von der Blockchain zur DAG: Vermittler loswerden

DAGs können als dritte Stufe in der Entwicklung von Registern betrachtet werden. Zuerst gab es zentralisierte Register, bei denen eine Partei den Zugriff darauf kontrollierte. Dann kamen Blockchains, die bereits mehrere Controller hatten, die Transaktionen im Hauptbuch aufzeichneten. Und schließlich gibt es im DAG überhaupt keine Controller; Benutzer fügen ihre Transaktionen direkt hinzu.

Von der Blockchain zur DAG: Vermittler loswerden

Jetzt, wo wir diese Freiheit haben, sollte es nicht zum Chaos führen. Wir müssen uns über den Stand des Registers einig sein. Und diese Vereinbarung oder dieser Konsens bedeutet normalerweise eine Einigung über zwei Dinge:

  1. Was ist passiert?
  2. In welcher Reihenfolge geschah dies?

Die erste Frage können wir leicht beantworten: Sobald eine korrekt erstellte Transaktion zum Hauptbuch hinzugefügt wurde, ist sie erfolgt. Und Punkt. Informationen darüber erreichen möglicherweise alle Teilnehmer zu unterschiedlichen Zeiten, aber letztendlich erhalten alle Knoten diese Transaktion und wissen, dass sie stattgefunden hat.

Wenn es eine Blockchain wäre, würden die Miner entscheiden, was passiert. Was auch immer der Miner in einen Block aufnehmen möchte, passiert. Alles, was er nicht in den Block aufnimmt, passiert nicht.

In Blockchains lösen Miner auch ein zweites Konsensproblem: die Ordnung. Sie dürfen die Transaktionen innerhalb des Blocks nach Belieben anordnen.

Wie kann die Reihenfolge der Transaktionen in einem DAG bestimmt werden?

Von der Blockchain zur DAG: Vermittler loswerden

Nur weil unser Graph gerichtet ist, haben wir bereits eine gewisse Ordnung. Jede Transaktion bezieht sich auf eine oder mehrere vorherige, übergeordnete Transaktionen. Eltern wiederum beziehen sich auf ihre Eltern und so weiter. Eltern erscheinen offensichtlich vor untergeordneten Transaktionen. Wenn eine der Transaktionen durch Eltern-Kind-Link-Übergänge erreicht werden kann, kennen wir genau die Reihenfolge zwischen den Transaktionen in dieser Transaktionskette.

Von der Blockchain zur DAG: Vermittler loswerden

Die Reihenfolge zwischen Transaktionen kann jedoch nicht immer allein anhand der Form des Diagramms bestimmt werden. Zum Beispiel, wenn zwei Transaktionen auf parallelen Zweigen des Diagramms liegen.

Von der Blockchain zur DAG: Vermittler loswerden

Zur Klärung von Unklarheiten greifen wir in solchen Fällen auf sogenannte Auftragsgeber zurück. Wir nennen sie auch „Zeugen“. Hierbei handelt es sich um normale Benutzer, deren Aufgabe es ist, ständig Transaktionen in geordneter Weise an das Netzwerk zu senden, d. h. sodass jede ihrer vorherigen Transaktionen durch Übergänge entlang der Eltern-Kind-Links erreicht werden kann. Bestellanbieter sind vertrauenswürdige Benutzer, und das gesamte Netzwerk verlässt sich darauf, dass sie diese Regel nicht verletzen. Damit rational Vertrauen Sie ihnen. Wir verlangen, dass jeder Auftragsgeber eine bekannte (nicht anonyme) Person oder Organisation ist und etwas zu verlieren hat, wenn er gegen die Regeln verstößt, beispielsweise seinen Ruf oder ein auf Vertrauen basierendes Geschäft.

Von der Blockchain zur DAG: Vermittler loswerden

Bestellanbieter werden von Benutzern ausgewählt, und jeder Benutzer fügt bei jeder Transaktion, die er an das Netzwerk sendet, eine Liste seiner vertrauenswürdigen Anbieter hinzu. Diese Liste besteht aus 12 Anbietern. Dies ist eine ausreichend kleine Zahl, damit eine Person die Identität und den Ruf jedes Einzelnen überprüfen kann, und ausreichend, um sicherzustellen, dass das Netzwerk im Falle unvermeidlicher Probleme mit einer Minderheit von Auftragsanbietern weiterhin funktioniert.

Diese Liste der Anbieter variiert von Benutzer zu Benutzer, die Listen benachbarter Transaktionen können sich jedoch um bis zu einen Anbieter unterscheiden.

Von der Blockchain zur DAG: Vermittler loswerden

Da wir nun über Auftragsanbieter verfügen, können wir deren Transaktionen in einem DAG isolieren und alle anderen Transaktionen rund um die von ihnen erstellte Bestellung anordnen. Es ist möglich, einen solchen Algorithmus zu erstellen (siehe. Obyte-Whitepaper für technische Details).

Die Reihenfolge des gesamten Netzwerks kann jedoch nicht sofort bestimmt werden; wir benötigen Zeit, damit die Auftragsanbieter eine ausreichende Anzahl ihrer Transaktionen senden können, um die endgültige Reihenfolge vergangener Transaktionen zu überprüfen.

Und da die Reihenfolge nur durch die Positionen der Transaktionen der Anbieter im DAG bestimmt wird, werden alle Knoten im Netzwerk früher oder später alle Transaktionen erhalten und hinsichtlich der Reihenfolge der Transaktionen zu demselben Schluss kommen.

Von der Blockchain zur DAG: Vermittler loswerden

Wir sind uns also darüber einig, was unserer Meinung nach passiert ist: Jede Transaktion, die im DAG landet, ist passiert. Wir sind uns auch über die Reihenfolge der Ereignisse einig: Diese ergibt sich entweder aus den Beziehungen der Transaktionen oder ergibt sich aus der Reihenfolge der von den Auftragsgebern übermittelten Transaktionen. Wir sind uns also einig.

Von der Blockchain zur DAG: Vermittler loswerden

Wir haben diese Version des Konsenses in Obyte. Obwohl der Zugriff auf das Obyte-Ledger vollständig dezentralisiert ist, ist der Konsens über die Reihenfolge der Transaktionen dennoch zentralisiert 10 von 12 Anbietern werden vom Ersteller (Anton Churyumov) kontrolliert und nur zwei von ihnen sind unabhängig. Wir sind auf der Suche nach Kandidaten, die bereit sind, einer der unabhängigen Auftragsanbieter zu werden, um uns dabei zu helfen, die Bestellung des Hauptbuchs zu dezentralisieren.

Kürzlich ist ein dritter unabhängiger Kandidat aufgetaucht, der bereit ist, einen Auftragsanbieterknoten zu installieren und zu warten – die Universität von Nikosia.

Von der Blockchain zur DAG: Vermittler loswerden

Wie kontrollieren wir nun Doppelausgaben?

Gemäß den Regeln gewinnt die Transaktion, die in der endgültigen Reihenfolge aller Transaktionen an erster Stelle steht, wenn festgestellt wird, dass zwei Transaktionen dieselbe Münze ausgeben. Der zweite wird durch den Konsensalgorithmus ungültig.

Von der Blockchain zur DAG: Vermittler loswerden
Wenn es möglich ist, eine Ordnung zwischen zwei Transaktionen herzustellen, bei denen dieselbe Münze ausgegeben wird (über Eltern-Kind-Verbindungen), dann lehnen alle Knoten einen solchen Versuch einer doppelten Ausgabe sofort ab.

Von der Blockchain zur DAG: Vermittler loswerden

Falls der Auftrag nicht aus den übergeordneten Beziehungen zwischen zwei solchen Transaktionen ersichtlich ist, werden beide in das Hauptbuch aufgenommen, und wir müssen auf einen Konsens und die Festlegung des Auftrags zwischen ihnen mithilfe der Auftragsanbieter warten. Dann gewinnt die frühere Transaktion und die zweite wird ungültig.

Von der Blockchain zur DAG: Vermittler loswerden

Auch wenn die zweite Transaktion ungültig wird, verbleibt sie dennoch in der Registrierung, da bereits darauf verweisende Folgetransaktionen vorhanden sind, die nichts verletzt haben und nicht wussten, dass diese Transaktion in Zukunft ungültig werden würde. Andernfalls müssten wir das übergeordnete Element guter Folgetransaktionen entfernen, was gegen das Hauptprinzip des Netzwerks verstoßen würde – jede korrekte Transaktion wird in das Hauptbuch aufgenommen.

Von der Blockchain zur DAG: Vermittler loswerden

Dies ist eine sehr wichtige Regel, die es dem gesamten System ermöglicht, Zensurversuchen standzuhalten. 

Stellen wir uns vor, dass alle Auftragsgeber gemeinsam versuchen, eine bestimmte Transaktion zu „zensieren“. Sie können es ignorieren und es niemals als „übergeordnetes Element“ für ihre Transaktionen auswählen, aber das reicht nicht aus, die Transaktion kann immer noch indirekt als übergeordnetes Element einer anderen Transaktion einbezogen werden, die von einem beliebigen Benutzer im Netzwerk ausgegeben wird, der nicht an einer Absprache beteiligt ist. Im Laufe der Zeit wird eine solche Transaktion immer mehr Kinder, Enkel und Urenkel von normalen Benutzern erhalten und wie ein Schneeball wachsen, und alle vereinbarten Auftragsgeber werden diese Transaktionen ebenfalls ignorieren müssen. Letztendlich müssen sie das gesamte Netzwerk zensieren, was einer Sabotage gleichkommt.

Von der Blockchain zur DAG: Vermittler loswerden

Auf diese Weise bleibt die DAG auch bei Absprachen zwischen Auftragsgebern zensurresistent und übertrifft damit die zensurresistente Blockchain, bei der wir nichts tun können, wenn die Miner beschließen, keine der Transaktionen einzubeziehen. Und dies ergibt sich aus dem Haupteigentum der DAG: Die Teilnahme am Register erfolgt völlig unabhängig und ohne Zwischenhändler, und Transaktionen sind irreversibel.

Source: habr.com

Kommentar hinzufügen