IOTAs Leaderless Consensus

01. Aug'21

Übersetzung des reddit Beitrags von Autor Linus Naumann


Realität als soziales Konstrukt - Wie IOTAs radikale Tech-Entscheidungen beabsichtigen, den DLT-Bereich zu disruptieren.

Viele von Ihnen kennen IOTA wegen seiner ambitionierten technologischen Ziele, die in der DLT-Community eine Menge Kontroversen ausgelöst haben. Während die Befürworter der Meinung sind, dass sie die Geburt einer weiteren technologischen Revolution miterleben, halten andere die hochgesteckten Ziele von IOTA für Hirngespinste und Vaporware.

Hier möchte ich etwas Substanz in diese Debatte bringen, indem ich erkläre, WARUM IOTA behauptet, eine disruptive und bahnbrechende DLT zu entwickeln, und wie dieser Anspruch auf einer verblüffenden technologischen Entscheidung beruht: Die objektive Realität im Netzwerk aufzugeben.



Was ist das Problem mit Blockchains?

Blockchains sind aufgrund grundlegender Konstruktionsmerkmale in ihrer Nutzung und realen Anwendung eingeschränkt, was nicht durch eine Feinabstimmung einiger Parameter behoben werden kann - um einen echten Durchbruch zu erzielen, muss stattdessen das gesamte Konzept in Frage gestellt werden.


Problem 1: Blockchains werden nie vollständig dezentralisiert sein und immer auf Mittelsmänner angewiesen sein

Datenbanken verlassen sich traditionell auf autorisierte Leader (dt. Anführer), die entscheiden, welche Transaktionen (tx) im Ledger verbucht werden. Die Neuheit von Bitcoin bestand darin, einen Weg zu finden, einen vorübergehenden Leader zwischen nicht vertrauenswürdigen Parteien zu bestimmen - wer auch immer das Hash-Rätsel zuerst löst, darf über die Änderungen im nächsten Block entscheiden. Heute kennen wir verschiedene Methoden zur Ermittlung solcher Leader, die beliebtesten sind Proof-of-Work (PoW) und Proof-of-Stake (PoS). Doch obwohl die Blockchain ein guter Schritt in Richtung Dezentralisierung war, werden sich die Teilnehmer dieser Netzwerke immer auf eine sehr kleine Minderheit mächtiger Personen verlassen, die sich am Netzwerk beteiligen: Entweder Unternehmen (professionelle Miner) oder reiche Leute (Staker).

Ein weiterer schwerwiegender Nachteil der Leader-basierten DLTs ist, dass sie mit Gebühren bezahlt werden müssen, um sie davon zu überzeugen, einen tx aufzunehmen. Es entsteht ein Bieterwettstreit um den begrenzten Platz auf der Blockchain, der zu unvorhersehbaren und manchmal explodierenden Preisen führt. PoW hat zudem das Problem, dass es komplett auf einen immensen Energieeinsatz angewiesen ist - eine Praxis, die in Zeiten der Klimakrise von vielen als anachronistisch angesehen wird.

PoS hingegen leidet unter einem sehr hohen Risiko zunehmender Zentralisierung, da die reichsten Staker kontinuierlich mit immer mehr Token belohnt werden - was eine Rückkopplungsschleife der Machtakkumulation für die bereits Reichen schafft. Schreckliche Szenarien entstehen, wenn sich eine mächtige Entität als viele, scheinbar unverbundene, Netzwerkteilnehmer tarnt und ihre Macht nutzt, um das Netzwerk zu kontrollieren. Die Teilnehmer würden glauben, dass sie Teil eines dezentralen Netzwerks sind, während sie in Wirklichkeit in einer verdeckten Diktatur leben.


Problem 2: Blockchains lassen sich nicht skalieren

Es gibt viele Anwendungsfälle im Finanzwesen, in der digitalen Identität, bei Smart Contracts, in der Token-Wirtschaft und in der Datenwirtschaft, die in hohem Maße auf große Mengen schneller Datenübertragung angewiesen sind. Aus dieser Feststellung ergeben sich mindestens zwei Anforderungen an das zugrunde liegende DLT-Protokoll:

  1. Es muss in der Lage sein, sehr hohe Übertragungsraten zu verarbeiten.
  2. Die Gebühren pro Übertragung müssen sowohl vernachlässigbar als auch vorhersehbar sein, oder, was noch besser ist, sie müssen gleich null sein (Gebührenfrei).

Die Tatsache, dass die Anpassung von DLTs an die reale Welt meist ins Stocken gerät, zeigt, dass die derzeitigen Protokolle noch keine Lösungen für diese Anforderungen bieten können. Um diese Probleme anzugehen, versuchen einige Blockchains zu skalieren und die Gebühren durch statisches Sharding zu reduzieren (z. B. Aufteilung der Hauptblockchain in 64 kleinere Blockchains, jede mit nur 1/64 der Sicherheit), während andere sich mehr auf 2nd-Layer-Lösungen mit ähnlichen Kompromissen konzentrieren.



Realität als soziales Konstrukt - IOTAs Leaderless Consensus

Das IOTA-Protokoll wurde als eine "Blockchain, aber ohne Blöcke und ohne Kette" beschrieben. Aber wie kann sich ein Protokoll ohne einen wahrheitsentscheidenden Leader gegen den grundlegendsten aller Themen, den Versuch der Doppel-Ausgaben, schützen?

IOTA ist ein gerichteter azyklischer Graph (DAG), in dem tx nicht linear als Kette, sondern parallel zueinander ablaufen. Ohne einen Leader ist jede Node gleichberechtigter Teil des Netzwerks und kann seine tx direkt an den Ledger-State anhängen - kein Mittelsmann wird benötigt, keine Gebühren müssen bezahlt werden. Dazu teilt eine Node seine tx seinem Nachbar-Node mit. Diese Nachbarn leiten diese Änderung dann weiter ins Netz. Mithilfe dieses Gossiping-Protokolls verbreitet sich der ausgegebene tx im Netzwerk, bis jede Node von der Tx gehört haben.

  

Abbildung 1: Überblick über die Netzwerktopologie von Blockchains und DAGs. 

Quelle: https://www.quantyca.com/wp-content/uploads/2020/03/Blockchain_vs_tangle_bottleneck.png

 

 

Großes Problem: Doppelte-Ausgabe Transaktionen

Basierend auf diesem Design ergibt sich ein unmittelbares Problem: Eine Node könnte eine Doppelte-Ausgabe Transaktion (tx) ausgeben, indem sie verschiedenen benachbarten Nodes unterschiedliche Varianten dieser tx mitteilt.

Zum Beispiel: Node A teilt Node B mit, dass sie tx1 ausgibt, die Token von Adresse A nach Adresse B überträgt. 

Gleichzeitig teilt Node A Node C mit, dass sie tx2 ausgibt, die dieselben Token von Adresse A nach Adresse C überträgt. 

Sobald Node B und Node C sich austauschen, finden sie schnell heraus, dass es sich um einen Versuch einer Doppelten-Ausgabe handelt. Tx1 und tx2 können nicht zur gleichen Zeit wahr sein. 

 

Abbildung 2: Node A sendet widersprüchliche Informationen an Node B und C. Node B und C sind sich einig, dass ein Versuch einer Doppelten-Ausgabe vorliegt, können sich aber nicht einigen, welche tx die erste war.

 


Aber wie können sich die beiden Nodes darauf einigen, welcher tx zuerst kam?

Im Moment leben beide Nodes in objektiv unterschiedlichen Realitäten und haben keine Möglichkeit, logisch abzuleiten, wessen Wahrnehmung richtig und wessen falsch ist.


Der parallel-reality based ledger-state

Anstatt das Netzwerk anzuhalten, bis der Konflikt gelöst ist (z.B. indem man jede einzelnen Node im Netzwerk nach ihrer Wahrnehmung befragt und demokratisch entscheidet, welche tx die erste war. Dieser Ansatz wäre verdammt langsam und würde nicht skalieren), machen beide Nodes mit ihren parallelen Realitäten weiter. Sie geben ihre Variante der Wahrheit an das Netzwerk weiter und verarbeiten die anderen Messages, als ob nichts geschehen wäre.

 

Realitätskonstruktion durch On-Tangle-Voting (auch bekannt als "Multiverse-Konsens")

Wie entscheiden Gesellschaften, wie ein Konflikt zu lösen ist, wenn sie sich nicht auf einen autoritären Leader verlassen wollen? Sie führen eine demokratische Abstimmung durch! Das Problem ist, dass es in einem erlaubnislosen Netzwerk wie IOTAs Tangle unmöglich ist, eine klassische demokratische Entscheidung zu treffen (1 Entität = 1 Stimme), da eine böswillige Entität das Netzwerk einfach mit unzähligen Nodes überfluten könnte, um die Abstimmung zu manipulieren.

Die geheime Zutat liegt hier in einem Node-Reputationssystem namens "Consensus-Mana" (cMana). Nodes verdienen cMana, indem sie dem Netzwerk eine Wert-Transaktion zuweisen. Jede Node im Netzwerk kann das cMana eines anderen Nodes verifizieren, indem sie dessen jüngsten Verlauf der Wert-TX-Verarbeitung überprüft.

Die Nodes stimmen automatisch darüber ab, welcher tx einer Doppel-Ausgabe "die richtige" ist, indem sie einfach ihre Version der Realität an andere Nodes weitergeben. Der Versuch der Doppelten-Ausgabe wird aufgelöst, wenn 51% der gesamten cMana im Netzwerk einer Version der Doppelte-Ausgabe zustimmen.

Beispiel: Der Versuch einer Doppelten-Ausgabe verbreitet sich im Netzwerk durch Gossiping (dt. Klatsch und Tratsch).

 

Abbildung 3: Der Versuch einer Doppelten-Ausgabe breitet sich im Netzwerk aus. 

Die Kreise stellen Nodes dar, die Linien stehen für den Klatsch zwischen den Nodes und die Farben und Zahlen geben an, welche tx der Double-Spend die Node zuerst gesehen hat.

 

Mit der Zeit kristallisiert sich ein Gewinner heraus: Einer der konkurrierenden tx sammelt 51% aller cMana Zustimmung hinter sich. Hinweis: Es wird nicht entschieden, welche tx tatsächlich zuerst eintraf, sondern nur, welche von den Nodes mit 51% der cMana zuerst wahrgenommen wurde. Die Nodes konstruieren die Realität des Netzwerks gemeinschaftlich.

Was passiert mit den Nodes, die für die verlorene Transaktion gestimmt haben? Die Nodes werden im Laufe der Zeit erfahren, dass die Mehrheit von cMana die andere tx genehmigt hat. Da diese Nodes ehrlich sind und nur für den verlierenden tx gestimmt haben, weil es ihre objektive Realität war, dass dieser tx zuerst kam (nicht weil sie betrügen wollten), werden sie nun ihre Meinung umdrehen und sich der Mehrheit von cMana anschließen. Der verlorene tx und alle folgenden tx desselben Geldbetrags werden fallen gelassen und das Netzwerk gibt vor, das sie nie passiert sind.


Abbildung 4: Mehr als 51 % von cMana stimmen zu, dass tx2 tatsächlich die erste tx des Versuchs der Doppelten-Ausgabe war. 

Alle ehrlichen Nodes, die zuerst von tx1 gehört haben, werden nun ihre Meinung umdrehen, um sich der Meinung der Mehrheit von cMana anzuschließen.

 

Abbildung 5: Das Netz hat sich auf eine gemeinsame Realität geeinigt. Tx1 wird verworfen und spielt in der Zukunft keine Rolle mehr.



Leaderless Consensus - echte Dezentralisierung braucht keine Mittelsmänner und keine Gebühren

Die IOTA Foundation hat ein völlig neues Konsensmodell entwickelt, das wirklich dezentralisiert ist: Keine Mining- oder Staking-Oligopole entscheiden über die Geschicke des Netzwerks. Da jede Node seine eigene tx in den Tangle schreibt, ohne Leader oder Mittelsmänner, funktioniert das Netzwerk gebührenfrei. Da sich nicht alle Nodes zu jeder Zeit über den Zustand der Realität einig sein müssen, ist das Netzwerk schnell und skalierbar (derzeit 1000+ tps im Mainnet, <10s Verfestigungszeit).



Verbleibende Probleme (Stand August'21)

Die jüngsten Durchbrüche haben Jahre der Forschung, Analyse, des Ausprobierens in Testnetzen und des Inputs von Wissenschaft und Industrie in Anspruch genommen und sind noch in keinem Testnetz vollständig umgesetzt. Derzeit ist das Mainnet von IOTA vollständig zentralisiert, mit nur einem speziellen Node (dem Koordinator), der über Double-spend-Konflikt entscheidet.

Die IOTA Foundation hat jedoch kürzlich das vollständig dezentralisierte IOTA 2.0 DevNet veröffentlicht, um ihre funktionierenden Lösungen vorzustellen. Das DevNet ist noch nicht vollständig (einige Module wie Congestion-control und die Dust-protection fehlen, und die aktuellen Funktionen sind noch anfällig für Änderungen). Die Dezentralisierung des Mainnets ("Coordicide") wird dieses Jahr nicht stattfinden.