Die Vertrauensmaschine - Teil2: Ein Modell des kompletten DLT-Space

21. Jun'21

Übersetzung des Blogartikel von Autor Hans Moog, IOTA Foundation.



Entwurf einer geisteswissenschaftlichen Vertrauensschicht für die digitale Welt

Im letzten Teil dieser Serie von Blog-Beiträgen haben wir diskutiert, wie auf knappen Ressourcen basierende Sybil-Schutz-Mechanismen für das Skalierbarkeits-Trilemma verantwortlich sind und wie eine andere Form des Sybil-Schutzes, die Vertrauen in die reale Welt nutzt, verspricht, diese und andere Einschränkungen zu überwinden.

Bevor ich fortfahre, die fehlenden Teile der Spezifikation vorzustellen, möchte ich einen kurzen Umweg machen und ein Modell entwickeln, das es uns erlaubt, nicht nur alle existierenden, sondern auch potentiell unentdeckte Konsensmechanismen zu klassifizieren.

Dieses Modell wird nicht nur unsere Design-Entscheidungen auf dem Weg dorthin leiten, sondern es wird auch das Verständnis dafür erleichtern, warum ich den vorgeschlagenen Konsens-Mechanismus für überlegen gegenüber bestehenden Lösungen halte.

 


Die Grundlagen

Um ein solches Modell entwickeln zu können, müssen wir zunächst einige grundlegende Fakten über Distributed Ledger verstehen.

1. Zwei Formen der Kommunikation

Alle existierenden DLTs verwenden zwei Formen der Kommunikation, die unterschiedliche Eigenschaften haben.


1.1 Punkt-zu-Punkt-Kommunikation

Die Punkt-zu-Punkt-Kommunikation basiert auf der direkten Kontaktaufnahme mit einem Peer über eine dedizierte Verbindung. Sie kann damit verglichen werden, dass man die Nummer seiner Oma wählt und dann mit ihr telefoniert.

Die Vorteile dieser Form der Kommunikation sind, dass sie sehr schnell ist und der Austausch von persönlichen Informationen möglich ist.

Die Nachteile dieser Form der Kommunikation sind, dass sie nicht sehr gut mit großen Netzwerken skaliert (stellen Sie sich vor, Sie haben Tausende von Anrufen zur gleichen Zeit) und dass es notwendig ist, seine Telefonnummer (IP-Adresse + Port) zu veröffentlichen, was Angriffsvektoren wie DDOS-Angriffe eröffnet, bei denen Angreifer ständig unsere Nummer anrufen, um zu verhindern, dass ehrliche Verbindungen aufgebaut werden.


1.2 Gossip-Protokoll

Das Gossip-Protokoll basiert auf der Punkt-zu-Punkt-Kommunikation, aber anstatt jeden Netzwerkteilnehmer einzeln zu kontaktieren, haben die Nodes eine begrenzte Anzahl von Nachbarn, mit denen sie Nachrichten austauschen.

Jede empfangene Nachricht wird an die Nachbarn weitergeleitet. Wenn die Anzahl der Nachbarn größer als 1 ist, dann verbreiten sich die Nachrichten exponentiell schnell an alle Netzwerkteilnehmer.

Die Vorteile dieses Ansatzes sind, dass er relativ schnell ist, dass man seine Adresse nicht allen Netzwerkteilnehmern preisgeben muss und dass er auf ein beliebig großes Netzwerk skaliert.

Der Nachteil dieses Ansatzes ist, dass es nicht möglich ist, persönliche Informationen auszutauschen - alle Nodes sehen exakt die gleichen Nachrichten.

 

2. Nodes in einem DLT haben ein relativistisches Zeitempfinden

Nodes in einem dezentralen Netzwerk sind per Definition räumlich getrennt (verteilt). Da sich Informationen nur mit einer maximalen Geschwindigkeit fortbewegen können, werden sie die Nachrichten natürlich in einer anderen Reihenfolge sehen.

Der Grund dafür ist ziemlich offensichtlich: Da die Nodes Computer sind, die in unserem Universum existieren, erben sie dieselben physikalischen Beschränkungen, die in unserem Universum existieren, und sie erben daher auch ein Äquivalent der Relativität der Gleichzeitigkeit, bei dem verschiedene Koordinaten im Netzwerk (Nodes) eine unterschiedliche Wahrnehmung der Zeit haben.

Der Versuch, einen Konsens-Mechanismus aufzubauen, der auf jeden Fall versucht, eine Gesamtreihenfolge der Ereignisse festzulegen (wie Blockchain), ist zwar möglich, aber irgendwie gegen die Natur dessen, wie die Nodes ihr Universum wahrnehmen.

In der Tat ist die einzige Möglichkeit, eine Gesamtordnung zu etablieren, entweder die Begrenzung der Größe des Universums (Anzahl der Validatoren) oder die künstliche Verlangsamung der Nachrichten, die das Netzwerk synchron werden lässt.

 

3. Konsens bedeutet Abstimmung (engl. voting)

Eine direkte Folge davon, dass Nodes Nachrichten in einer unterschiedlichen Reihenfolge sehen, ist, dass wir, um bei Konflikten einen Konsens zu erreichen, abstimmen müssen, welche der widersprüchlichen Nachrichten gewinnen soll.

Das bedeutet, dass jeder existierende Konsensmechanismus letztlich ein Abstimmungsmechanismus ist und die Suche nach der besten DLT ist dementsprechend die Suche nach dem effizientesten und flexibelsten Abstimmungsmechanismus.


Nachdem wir nun diese grundlegenden Fakten festgestellt haben, können wir unser Modell weiterentwickeln, indem wir zwei der wichtigsten Konsensmechanismen miteinander vergleichen.

 



Klassischer Konsens

Entgegen der landläufigen Meinung begann die Konsensforschung nicht mit Satoshi im Jahr 2008, sondern bereits Jahrzehnte früher in den 1980er Jahren mit der Arbeit an den Algorithmen der Paxos-Familie und ihren Nachfolgern. Zu Beginn boten diese Algorithmen nur Fehlertoleranz (Widerstandsfähigkeit gegen abgestürzte oder nicht reagierende Prüfer), wurden aber später erweitert, um gegen beliebige byzantinische Fehler (Prüfer, die lügen oder aktiv versuchen, das System zu brechen) sicher zu sein.

Diese Algorithmen bieten nicht nur sehr schnelle Finalitätszeiten (mit deterministischer Finalität), sondern sie sind auch sehr gut erforscht und nachweislich sicher gegen 1/3 der schlechten Akteure.

 

Im Vergleich zur Nakamoto-Blockchain haben sie jedoch einige Nachteile, was höchstwahrscheinlich der Grund ist, warum wir die DLT-Revolution nicht viel früher gesehen haben:

1. Sie funktionieren nur mit ein paar Dutzend Validatoren

Die Algorithmen basieren darauf, die Meinungen aller anderen Validatoren zu kennen, was erfordert, dass sich die Nodes regelmäßig gegenseitig über eine Punkt-zu-Punkt-Kommunikation abfragen.

Dies hat eine exponentielle Messaging-Komplexität, was bedeutet, dass der für die Aufrechterhaltung des Konsens erforderliche Durchsatz in größeren Netzwerken zu groß wird.


2. Sie funktionieren nur in einer festen Komitee-Einstellung

Alle Netzwerkteilnehmer müssen sich im Voraus über die Identitäten aller Validatoren einigen, was einen naiven Einsatz in einer offenen und erlaubnisfreien Umgebung verhindert.


3. Sie sind anfällig für DDOS-Angriffe

Die Protokolle basieren auf der direkten Abfrage der anderen Teilnehmer über das Punkt-zu-Punkt-Kommunikationsprotokoll, was sie anfällig für DDOS-Angriffe macht.

Dies in Kombination mit der Tatsache, dass die Anzahl der Validatoren klein sein muss, macht es relativ einfach, das gesamte Netzwerk durch einen Angriff auf nur ein paar Validatoren (1/3, was etwa 7-11 Knoten sein dürften) zu Fall zu bringen.



Nakamoto-Konsens

Lange Zeit schien es, als wüssten wir alles über den Konsens und seine Grenzen, bis etwas Unerwartetes geschah.

Im Jahr 2008 veröffentlichte Satoshi Nakamoto sein Bitcoin-Whitepaper, das fast alle der genannten Probleme elegant löste.

Der größte Durchbruch von Bitcoin war die Einführung eines Abstimmungsschemas auf einer Blockchain (eine Datenstruktur, die 1991 von Stuart Haber und W. Scott Stornetta erfunden wurde), die mit Hilfe des Gossip-Protokolls effizient zwischen Nodes repliziert werden konnte.

Blöcke, die von Blockproduzenten in regelmäßigen Abständen ausgegeben werden, enthalten die Zustandsänderungen, die dem Ledger hinzugefügt werden, und eine Referenz auf den Block des vorherigen Blockproduzenten. Durch diese Referenz bilden die Blöcke eine Kette (engl. chain), in der jeder Block implizit alle vorherigen Blöcke genehmigt, was eine Abstimmung des Blockproduzenten darüber darstellt, was er als die richtige Chain ansieht. Die Chain, die die meisten Stimmen erhalten hat (längste Chain), gewinnt.

Anstatt dass alle Nodes regelmäßig alle Validatoren kontaktieren, wird periodisch die Meinung eines einzigen, zufällig ausgewählten Validators berücksichtigt, dessen Aussage der Blockchain hinzugefügt und an alle anderen Netzwerkteilnehmer repliziert wird.


Vorteile

Diese beiden kleinen Änderungen (die Berücksichtigung nur einer einzigen Meinung und die Verwendung des Gossip-Protokolls zur Verteilung) hatten einen großen Einfluss auf die Eigenschaften des Konsens-Algorithmus:

1. Unbegrenzte Netzwerkgröße

Durch die Möglichkeit, das Gossip-Protokoll zu verwenden, skaliert der Nakamoto-Konsens auf eine unbegrenzte Anzahl von Netzwerk-Nodes.


2. Vertrauensfreie Verifizierung

Da die Blockchain zu allen Netzwerkteilnehmern repliziert wird (auch zu denen, die nicht aktiv an der Erstellung von Blöcken beteiligt sind), haben sie Zugriff auf dieselben Informationen und können dieselben Zustandsänderungen anwenden. Darüber hinaus ist es für Nodes, die offline waren oder dem Netzwerk später beitreten, möglich, alle vorherigen Blöcke herunterzuladen und zum gleichen Ergebnis zu kommen, ohne einer dritten Partei vertrauen zu müssen.


3. Unveränderlichkeit

Da die Blöcke über Hashes miteinander verknüpft sind, ist der Inhalt der Blöcke unveränderlich. Wenn auch nur ein einziges Bit geändert wird, ändert der enthaltende Block seinen Hash und die Chain wird unterbrochen.


4. Die byzantinische Schwelle ist höher als beim klassischen Konsens

Anstatt nur 33% böswillige Akteure tolerieren zu können, ist der Nakamoto-Konsens in der Lage, 50% böswillige Akteure zu tolerieren.


5. Robustheit + dynamische Verfügbarkeit

Da die Nodes über das Gossip-Protokoll kommunizieren, müssen die IP-Adressen der Validatoren nicht für jeden öffentlich zugänglich sein. Dies macht es sehr schwer, einzelne Akteure auszuschalten oder das Netzwerk durch Dinge wie DDOS-Angriffe zu schädigen.

Außerdem funktioniert das Netzwerk auch dann noch, wenn eine erhebliche Anzahl von Blockproduzenten das Netzwerk verlässt.


6. Das Netzwerk kann offen und erlaubnisfrei sein

Anstatt sich auf die Identitäten aller Validatoren einigen zu müssen, müssen die Netzwerkteilnehmer nur zustimmen, ob die Blöcke, die sie sehen, legitim sind. In Kombination mit Proof of Work ermöglicht dies, dass das Netzwerk offen und erlaubnisfrei wird, ohne dass eine gemeinsame Wahrnehmung von Identitäten etabliert werden muss.


7. Flexibilität + Freiheitsgrad

Das wirklich Schöne an diesem Abstimmungsschema ist jedoch seine Flexibilität. Anstatt nur auf den Proof of Work beschränkt zu sein, gibt es völlige Freiheit über die Art und Weise, wie die Blockproduzenten ausgewählt werden.

Dies hat ein ganzes Forschungsfeld in Gang gesetzt, das versucht, die Blockproduzenten effizienter zu wählen. Heute haben wir PoW-Chains (Bitcoin), PoS-Chains (Cardano), VDF-Chains (Solana), permissioned Chains (Hyperbole), semi-permissioned Chains (EOS) und alle möglichen anderen Varianten.


Dieses Maß an Freiheit und Flexibilität ist der Grund, warum 99 % aller DLTs eine Blockchain verwenden.

 

Trade offs (Kompromisse)

Obwohl der Nakamoto-Konsens eine Menge wirklich überzeugender Eigenschaften hat und der erste Ansatz ist, der einen robusten verteilten Konsens in großen Netzwerken ermöglicht, hat er auch seine Kompromisse:

1. Probabilistische Endgültigkeit

Der erste Kompromiss, den der Nakamoto-Konsens im Vergleich zum klassischen Konsens eingeht, ist, dass er eine probabilistische Finalität verwendet. Das bedeutet, dass die Dinge im Nakamoto-Konsens nie wirklich endgültig sind (nur immer schwieriger umkehrbar). In Bitcoin werden Dinge normalerweise als endgültig angesehen, sobald sie von 6 Blöcken bestätigt wurden.


2. Langsame Bestätigungen

Da Dinge durch eine bestimmte Anzahl von Blöcken bestätigt werden müssen, bevor sie als "unumkehrbar" gelten können, und da Blöcke mit einer relativ großen Verzögerung ausgegeben werden müssen, dauert es wirklich lange, bis Dinge als bestätigt gelten können.




Definieren des Modells

Die beiden genannten Konsensmechanismen sind in ihren Eigenschaften so unterschiedlich, dass sie sehr wahrscheinlich an entgegengesetzten Enden des DLT-Spektrums liegen.

Dieser Annahme folgend, wählen wir die beiden markantesten Unterschiede - die Form der Kommunikation, die für die Abstimmung verwendet wird, und die Anzahl der berücksichtigten Validatoren - als Eckpfeiler für unser Modell.

Das Ergebnis ist ein zweidimensionaler Raum mit 6 Quadranten, wobei nur 5 von 6 praktikable Optionen für DLTs darstellen und einer die klassische zentralisierte Client/Server-Architektur ist, die wir von Diensten wie PayPal oder Visa kennen:

 


Ich behaupte, dass wir allein durch die Betrachtung dieser beiden Aspekte eines Protokolls fast alle seine Eigenschaften und Kompromisse ableiten können. Weiterhin behaupte ich, dass je nachdem, welchen Platz ein Projekt in diesem Modell einnimmt, es nur schlechter, aber nie besser werden kann als das, was sein Quadrant an Nachteilen und Einschränkungen vorgibt.

Es ist möglich, Ansätze aus verschiedenen Quadranten zu kombinieren, um das Beste aus mehreren Welten zu erhalten, aber dies führt auch zur Vererbung der entsprechenden Nachteile und Kompromisse.

Lassen Sie uns einen Blick auf einige der wichtigsten Metriken für DLTs werfen!

 

Probabilistische vs. deterministische Endgültigkeit

Eine der einfachsten und offensichtlichsten Klassifizierungen ist die Trennung zwischen Protokollen, die eine:

  • deterministischer Endgültigkeit, was bedeutet, dass die Dinge wirklich endgültig sind und es keine Chance für Rollbacks im System gibt.
  • probabilistischer Endgültigkeit, was bedeutet, dass die Dinge immer schwieriger rückgängig zu machen sind, aber nie wirklich endgültig werden.

 


Wenn jede Node im Netzwerk die exakte Meinung jedes Validators kennt, dann gibt es keine Möglichkeit für einen von ihnen, jemals einzugreifen und vorzugeben, dass er eigentlich etwas anderes gemeint hat. Wenn wir jedoch nur die Meinungen einer Teilmenge aller Validatoren berücksichtigen, dann gibt es eine kleine, aber von Null verschiedene Chance, dass wir anfangs eine Minderheitsmeinung gehört haben. Rollbacks sind also möglich, werden aber immer unwahrscheinlicher.


Während probabilistische Finalität zunächst schlechter klingt, wird sie normalerweise als ebenso sicher angesehen, da sie eine höhere Anzahl an böswilligen Knoten (50% statt 33%) und ein größeres Netzwerk zulässt (mehr dazu später).



Zeit bis zur Finalität

Eine weitere wichtige Metrik ist die Zeit, die es dauert, bis Transaktionen abgeschlossen sind.

Je mehr Meinungen in einem bestimmten Zeitrahmen gesammelt werden können, desto schneller ist es möglich, einen Punkt zu erreichen, an dem alle Nodes im Netzwerk eine ähnliche Wahrnehmung der Mehrheitsmeinung haben.


 

Dementsprechend sollten alle Konsensmechanismen, die die Anzahl der gesammelten Meinungen nicht auf eine einzige beschränken, einigermaßen schnelle Bestätigungszeiten haben.



Skalierbarkeit (unterstützte Netzwerkgröße)

Jedes DLT basiert auf einem Peer-to-Peer-Netzwerk von verteilten Nodes, wobei zumindest einige dieser Nodes als Validatoren (oder Konsensproduzenten) fungieren.

Um die Skalierbarkeit des Netzwerks in Bezug auf die unterstützte Anzahl von Validatoren und Nodes zu analysieren, werden wir uns jeden Quadranten einzeln ansehen.

 


Punkt-zu-Punkt-Kommunikation / alle Validatoren:

Dieser Quadrant repräsentiert die am besten erforschte Klasse von Konsensalgorithmen - die klassischen Konsensalgorithmen.

Wir wissen aus unserer früheren Diskussion, dass sie nur sehr kleine Netzwerkgrößen von ein paar Dutzend Nodes unterstützen (aufgrund einer exponentiellen Messaging-Komplexität).


Gossip-Protokoll / alle Validatoren:

Da dieser Typ von DLT immer noch die Meinungen aller Validatoren berücksichtigt, erbt er ähnliche Einschränkungen wie die vorherige Kategorie. Die Verwendung des Gossip-Protokolls kann jedoch als potenziell effizienter angesehen werden, was die Skalierbarkeit der vorherigen Kategorie um etwa eine Größenordnung erhöhen sollte, was bedeutet, dass eine solche DLT in der Lage sein sollte, bis zu etwa 1000 Validatoren zu handhaben (mit einer potenziell unbegrenzten Anzahl von konsenskonsumierenden Nodes).


Punkt-zu-Punkt-Kommunikation / Teilmenge von Validatoren:

Da die Menge der gesammelten Meinungen begrenzt ist, erwarten wir, dass auch die Komplexität der Nachrichtenübermittlung begrenzt ist.

Das bedeutet, dass die unterstützte Netzwerkgröße theoretisch unbeschränkt ist. Dies gilt jedoch nur, wenn die Last der gegenseitigen Abfrage von Meinungen gleichmäßig auf alle Nodes verteilt werden kann. Gäbe es z. B. einen Validatoren, der mehr Einfluss als andere hat, dann würde diese Node häufiger abgefragt werden.

Es gibt keinen Sybil-Schutz, der eine vollkommen gleichmäßige Verteilung des Gewichts bewirkt. Das bedeutet, dass die Netzwerkgröße größer sein kann als die beiden vorherigen Kategorien, aber sie ist für alle praktischen Zwecke immer noch begrenzt.


Gossip-Protokoll / Teilmenge von Validatoren (einschließlich eines einzelnen):

Diese Klasse von Konsensmechanismen verteilt die Meinungen über Gossip, was bedeutet, dass alle Nodes letztendlich die gleichen Nachrichten sehen. Das Ergebnis ist, dass selbst Validatoren, die einen großen Einfluss auf den Konsensus haben, ihre Meinung nur ein einziges Mal senden müssen, ohne dass sie von jeder Node abgefragt werden müssen.

Das Ergebnis ist ein Netzwerk, das auf eine unbegrenzte Anzahl von Nodes und Validatoren skaliert.



Sicherheit und Robustheit

Eine weitere sehr wichtige Metrik ist die Sicherheit und Robustheit des Protokolls und in Anlehnung an das letzte Beispiel werden wir jeden Quadranten einzeln besprechen.

 


Punkt-zu-Punkt-Kommunikation / alle Validatoren:

Das größte Problem dieses Quadranten ist die sehr geringe Anzahl von Validatoren, die sich durch die Veröffentlichung ihrer IP-Adresse exponieren müssen. Dementsprechend wird es sehr einfach, das Netzwerk mit Dingen wie DDOS-Attacken anzugreifen.


Gossip-Protokoll / alle Validatoren:

Die relativ große Anzahl von unterstützten Validatoren in Kombination mit der Tatsache, dass die Nodes ihre IP-Adresse durch die Verwendung des Gossip-Protokolls maskieren können, macht diese Familie von Konsensmechanismen robust gegen Angriffe von außen.

Die Tatsache, dass die Meinungen über Gossip repliziert werden, stellt zusätzlich sicher, dass alle Nodes die gleichen Nachrichten sehen und zum gleichen Schluss kommen, was Dinge wie Zustimmungsfehler ausschließen sollte.


Punkt-zu-Punkt-Kommunikation / Teilmenge der Validatoren:

Die Nodes geben ihre IP-Adresse als Teil des Protokolls preis, was sie anfällig für DDOS-Angriffe macht. Dies stellt jedoch nur für die Nodes selbst eine Bedrohung dar und nicht für das Netzwerk als Ganzes, da die Menge der unterstützten Validatoren potentiell groß ist.

Die Tatsache, dass die Nodes ihre Meinung auf der Grundlage einer subjektiven Wahrnehmung der Welt bilden, lässt jedoch Dinge wie das Scheitern von Vereinbarungen zu. Es ist möglich, die Wahrscheinlichkeit relativ gering zu halten, aber es ist unmöglich, sie vollständig auszuschließen.


Gossip-Protokoll / Teilmenge der Validatoren (einschließlich eines einzelnen):

Diese Kategorie kann als die Heimat der sichersten und robustesten Konsensmechanismen angesehen werden, die wir kennen.

Die Verwendung des Gossip-Protokolls schließt nicht nur Zustimmungsfehler aus, sondern erlaubt es den Nodes auch, ihre IP-Adresse als Teil des Gossip-Protokolls zu verbergen, was es schwer macht, einzelne Nodes und damit das Netzwerk als Ganzes anzugreifen.



Level der Freiheit (Sybillenschutz)

Die DLT-Revolution wurde eingeleitet, indem die Forderung nach einem absoluten Konsens über die Identitäten der Validatoren auf einen absoluten Konsens über das Gewicht der gossiped (geklatschten) Nachrichten gesenkt wurde.

Es klingt wie eine kleine Änderung, aber sie ermöglichte die Integration eines externen Sybil-Schutzes wie Proof of Work. Da wir eine DLT bauen wollen, die direkt Vertrauen nutzt, ist dies eine der wichtigsten Metriken und wir werden die Quadranten wieder einzeln diskutieren.

 

 

Alle Validatoren:

Die Konsensmechanismen, die auf dem Sammeln der Meinungen aller Validatoren beruhen, benötigen natürlich einen absoluten Konsens über die Identitäten dieser Validatoren.


Punkt-zu-Punkt-Kommunikation / Teilmenge von Validatoren:

Die Idee, die Meinungen einer Teilmenge von Validatoren zu sammeln, zielt darauf ab, eine Schätzung der Meinungen aller Validatoren zu erhalten. Diese Schätzung wird natürlich nicht 100%ig genau sein, was bedeutet, dass die Konsensmechanismen eine Möglichkeit haben müssen, diese Art von Ungenauigkeit zu berücksichtigen.

Wenn sie eine Ungenauigkeit beim Sammeln der Meinungen zulassen, dann sind sie potentiell auch in der Lage, mit einem ungefähren Konsens über das Gewicht der Validatoren umzugehen.


Gossip-Protokoll / Teilmenge der Validatoren:

Ähnlich wie bei der vorherigen Kategorie erwarten wir, dass diese Konsensmechanismen potenziell in der Lage sind, mit einer gewissen Ungenauigkeit bei den gesammelten Meinungen umzugehen.

Die Verwendung des Gossip-Protokolls erhöht jedoch den Freiheitsgrad etwas, da nur ein ungefährer Konsens über die Gewichtung der zirkulierten Nachrichten erforderlich ist.

Da alle Nodes letztendlich die gleichen Nachrichten sehen, können wir eine gewisse zusätzliche Ungenauigkeit in der wahrgenommenen Gewichtung der Validatoren zulassen.


Gossip-Protokoll / 1 Validator:

Wenn die Nodes nur die Meinung eines einzigen Validators berücksichtigen sollen, dann brauchen wir einen Weg, um mit widersprüchlichen Aussagen verschiedener Validatoren umzugehen.

Die einzige Möglichkeit, zwischen solchen Forks zu entscheiden, ist ein absoluter Konsens über die Gewichtung der einzelnen Aussagen.




Zusammenfassung

Wir haben ein Modell eingeführt, das es uns erlaubt, DLTs in 5 verschiedene Kategorien zu klassifizieren. Diese Kategorien diktieren die meisten ihrer grundlegenden Eigenschaften (unabhängig von den übrigen Designentscheidungen).

Die folgende Grafik zeigt eine Übersicht über die untersuchten Eigenschaften - mit einer Farbkodierung, die von grün (gut) bis rot (schlecht) reicht:

 


Die Anzahl der Konsensmechanismen, die nicht eine Kombination aus mehreren verschiedenen Ansätzen sind, ist relativ gering. Die folgende Grafik zeigt einige der wichtigsten:

 


Implikationen

Der Nakamoto-Konsens ist der robusteste, sicherste und skalierbarste Konsens-Mechanismus, den wir kennen, und die probabilistische Finalität durch eine replizierte Datenstruktur wie die Blockchain hat uns nicht nur ein Werkzeug an die Hand gegeben, das Zustimmungsfehler vollständig eliminiert, sondern sich auch als sicher erwiesen, solange mehr als 50% der Validatoren ehrlich sind.

Aber während dies für ein nicht geshardetes System sehr vorteilhaft zu sein scheint, wird es für Sharding zu einem riesigen Blocker.

Da eine Blockchain per Definition eine einzelne, längste Chain verfolgt, besteht die einzige Möglichkeit, ein solches System zu sharden, darin, mehrere Instanzen davon parallel laufen zu lassen. Die Konsequenz ist, dass es irgendeine Form von Kommunikationsprotokoll zwischen den Shards geben muss. Andernfalls wäre es unmöglich, Gelder zwischen den Shards zu verschieben und sie wären komplett isoliert.

Um die Übertragung von Geldern zwischen Shards zu ermöglichen, benötigen wir jedoch entweder eine präzise Wahrnehmung der Endgültigkeit (die beim Nakamoto-Konsens von vornherein fehlt) oder die Möglichkeit, Cross-Chain-Rollbacks durchzuführen, was als schwer in vernünftiger Weise zu implementieren gilt.

Die einzige Möglichkeit, ein solches System zuverlässig zu sharden, wäre es, wirklich pessimistische Annahmen über die Länge möglicher Rollbacks zu haben. Das ist der Grund, warum Drivechains (einer der Skalierungsvorschläge für Bitcoin) mehrere Monate benötigen, um Geld zwischen zwei Shards zu transferieren.

Aber es ist nicht nur die Shardability, die ein Problem darstellt. Die langsamen Bestätigungszeiten verhindern, dass viele Anwendungsfälle, die mit Krypto zu tun haben, als eine Form von digitalem Bargeld verwendet werden. Es ist völlig undurchführbar, mehrere Minuten oder sogar Stunden auf die Bestätigung einer Transaktion zu warten. Das berühmte Beispiel "einen Kaffee mit Bitcoin kaufen" zeigt, dass wir für viele Anwendungsfälle in der realen Welt schnellere Bestätigungen brauchen.



Das Aufkommen des Bitcoin-Maximalismus

Die Erkenntnis, dass eine neue Technologie nur dann erfolgreich sein kann, wenn sie besser ist als bestehende Lösungen, in Kombination mit der vorherigen Beobachtung, führte zu einer großen Spaltung in der Krypto-Community.

Auf der einen Seite gibt es die Krypto-Enthusiasten, die sich vorstellen, dass DLTs eine wichtige Rolle in der Zukunft der Menschheit spielen werden und die diese Technologie um jeden Preis zum Erfolg führen wollen, und auf der anderen Seite gibt es die Bitcoin-Maximalisten, die nicht bereit sind, irgendwelche Kompromisse einzugehen, wenn es um die Sicherheit oder Robustheit des Systems geht.

Sie argumentieren, dass wir bereits ein funktionierendes Fiat-System für den täglichen Zahlungsverkehr haben und das einzige, was wirklich fehlt, ein sicheres Wertaufbewahrungsmittel ist. Sie sehen Bitcoin nicht als ein Tauschmittel, sondern als eine Möglichkeit, Werte über die Zeit zu transportieren.

Diese Argumente machen durchaus Sinn, aber nur, wenn wir davon ausgehen, dass es keine andere Lösung für die genannten Probleme gibt, die wir einfach noch nicht gefunden haben.

 


Hybride Lösungen

Um diese Einschränkungen zu überwinden, versuchen die meisten aktuellen DLTs, verschiedene Lösungen zu kombinieren, um das Beste aus mehreren Welten zu erhalten.

Der populärste Ansatz ist derzeit, eine kleine Teilmenge aller Validatoren zufällig als Konsensproduzenten für eine gewisse Zeit (eine Epoche) auszuwählen und sie einen klassischen Konsensalgorithmus ausführen zu lassen. Sie propagieren ihre Entscheidungen als Teil von Blöcken in einer Blockchain, was es diesen Projekten ermöglicht, die schnelle und deterministische Endgültigkeit, die für Sharding erforderlich ist, mit der Skalierbarkeit traditioneller Blockchains zu kombinieren.

Durch die Verwendung eines klassischen Konsens-Algorithmus auf einer Blockchain werden sie jedoch nicht nur viel komplexer, sondern sie tauschen auch Teile dessen, was den Nakamoto-Konsens robust gemacht hat, gegen schnellere Bestätigungen. Das ist einer der Gründe, warum Bitcoin-Maximalisten nicht sehr angetan sind von vielen der existierenden Next-Gen-Projekte.

Und tatsächlich würden viele dieser neueren Blockchain-Projekte vor massiven Problemen stehen, wenn es jemals einen Punkt geben würde, an dem 1/3 der zufällig ausgewählten Validatoren (etwa 7-11 Knoten) es nicht schaffen würden, rechtzeitig Konsens-Aussagen zu machen.

Einige von ihnen würden einfach aufhören, Transaktionen zu bestätigen (z.B. ETH 2.0), während andere komplett zum Stillstand kommen würden und mit einer Hard Fork neu gestartet werden müssten (z.B. Cosmos).

Wenn man bedenkt, dass das Ziel von DLT ist, eine technologische Grundlage für die monetäre Zukunft der Menschheit zu schaffen, scheinen diese Kompromisse sehr problematisch zu sein.

Solange DLTs hauptsächlich zu Investitionszwecken verwendet werden, mag es nicht so kritisch sein, diese Kompromisse zu akzeptieren, aber sobald wir darüber sprechen, sie in unsere Wirtschaft zu integrieren, indem wir sie als Tauschmittel verwenden, stellt diese Fragilität eine große Bedrohung für die gesamte Gesellschaft dar.

Stellen Sie sich vor, ein ausländischer Akteur wäre in der Lage, die Wirtschaft eines ganzen Landes lahmzulegen, indem er eine Handvoll Nodes vor einem Krieg mit DDOS belegt. Die Tatsache, dass diese Nodes von Durchschnittsmenschen betrieben werden sollen, die nicht unbedingt Experten darin sind, ihre Infrastruktur gegen ausgeklügelte Angriffe zu schützen, macht dieses Problem noch schlimmer.

 


Der unerforschte Quadrant

Wenn wir unser Modell betrachten, stellen wir fest, dass es einen einzigen Quadranten (Teilmenge der Validatoren / Gossip-Protokoll) gibt, der derzeit von keinem Konsensmechanismus abgedeckt wird.

Dieser Quadrant löst nicht nur die Nachteile des Nakamoto-Konsens ohne zusätzliche Kompromisse, sondern bietet auch die größte Flexibilität, wenn es um den verwendeten Sybil-Schutzmechanismus geht.

Die Aussage, dass es keinen existierenden Konsens-Mechanismus gibt, der in diesem Quadranten arbeitet, ist eigentlich nicht richtig, denn es gibt derzeit zwei Projekte, die an einem solchen Konsens-Mechanismus arbeiten.

 


Eines davon ist das SPECTRE-Protokoll, das einen BlockDAG verwendet, um Validatoren die Möglichkeit zu geben, Bestätigungen parallel auszustellen, und das andere ist IOTA, das komplett blockfrei ist.

Während SPECTRE definitiv die Skalierbarkeit des ursprünglichen Nakamoto-Konsens erhöht, erfordert es immer noch einen absoluten Konsens über das Gewicht der Nachrichten, um zwischen konfligierenden Aussagen zu entscheiden. Dies erzwingt die Verwendung eines auf knappen Ressourcen basierenden Sybil-Schutzes wie Proof of Work mit all seinen Nachteilen

Nur ein blockloses Protokoll wie IOTA, das in der Lage ist, über das Schicksal jeder einzelnen Transaktion individuell abzustimmen, ist in der Lage, alle Vorteile des gegebenen Quadranten vollständig zu nutzen und ist daher potentiell in der Lage, Vertrauen direkt in die DLT zu integrieren.


Durch die Verwendung von Cardanos EUTXO-Modell ist diese blocklose Architektur sogar in der Lage, Smart Contracts direkt zu modellieren (ohne Wahrnehmung einer Gesamtordnung). Der Zustand kann in Form einer Ausgabe offengelegt werden, ohne auf eine Instanz angewiesen zu sein, die eine Gesamtreihenfolge aller Anfragen festlegt. Wenn zwei Entitäten gleichzeitig denselben Zustand konsumieren wollen, dann stellt der Konsensmechanismus sicher, dass nur eine von ihnen erfolgreich ist.

 


Fazit

Wir haben ein Modell entwickelt, das es uns erlaubt, die potentiellen Vor- und Nachteile verschiedener Konsensmechanismen unabhängig von deren spezifischen Designentscheidungen zu beurteilen.

Indem wir die potenziellen Vor- und Nachteile mit den tatsächlichen Vor- und Nachteilen vergleichen, können wir Ineffizienzen im Design der entsprechenden DLT identifizieren.

Dies wird uns helfen, die Design-Entscheidungen der folgenden Blog-Beiträge zu beurteilen und ermöglicht uns, ein Verständnis dafür zu bekommen, wie nahe IOTA am tatsächlichen Optimum ist, das man jemals erreichen könnte.