Parallele Realitäten und IOTAs bahnbrechender "Multiverse-Consensus"

18. Aug'21

Übersetzung des Blogpost von Autor Linus Naumann.

 

Eine lustige Tatsache über unser Universum: Es gibt keine objektive Zeit. Jeder Beobachter erlebt seine eigene Dauer und Abfolge von Ereignissen, abhängig von seinen relativen Geschwindigkeiten zueinander. Sogar die Reihenfolge der Ereignisse verschwimmt: Zwei Ereignisse, die für den einen Beobachter gleichzeitig stattfinden, können für den anderen nacheinander eintreten (siehe ladder-paradox).

Warum erzähle ich Ihnen das in einem Subreddit für Kryptowährungen? Weil es in verteilten Ledgern (wie Blockchains oder DAGs) auch keine objektive Abfolge von Ereignissen gibt. Jede Node im Netzwerk erlebt ihre ganz eigene Reihenfolge der Transaktionen. Und ob Sie es glauben oder nicht: Diese Zeitrelativität ist der Grund, warum Sie für Ihre Bitcoin-Transaktionen Gebühren zahlen.


Zeitrelative Netzwerke sind anfällig für Doppel-Ausgaben (engl. Double-spend)

Verteilte Netzwerke bestehen aus Nodes, die sich gegenseitig ihre Meinung über den Zustand des Ledgers mitteilen. Wenn also eine Node eine Transaktion durchführen möchte, teilt sie dies zunächst ihren benachbarten Nodes mit. Diese leiten es dann an ihre Nachbarn weiter und so weiter - die Informationen verbreiten sich im Netz. Diese Form der Kommunikation wird als "Gossip" (dt. Klatsch, Tratsch) bezeichnet und ist hoch skalierbar. Ein wesentlicher Nebeneffekt ist jedoch, dass der Zeitpunkt und die Reihenfolge der Transaktionen relativ werden. Jede Node sieht seine eigene Version der Realität, genau wie Beobachter im physischen Universum. Problem: Dies eröffnet Anfälligkeiten für Doppel-Ausgaben.

 

Abb. 1: Klassische Doppel-Ausgabe: Node A gibt dasselbe Geld zweimal aus, wobei er jedes Mal nur Node B oder Node C über jede Transaktion informiert. Node A und B erfahren über Gossiping von der doppelten Ausgabe, können sich aber nicht einigen, welche Transaktion zuerst getätigt wurde.



Grobe, aber funktionierende Lösung: Bezahlen Sie jemanden, der sich um Konflikte kümmert

Bis heute hat keine Blockchain eine Lösung gefunden, um konstruktiv mit der Relativität der Zeit zu arbeiten. Stattdessen wird das Problem der doppelten Ausgaben allgemein auf eine recht einfache Weise gelöst: Man verlangsamt das Netzwerk und organisiert es in künstlichen Kontrollpunkten, auch "Blöcke" genannt, um Meinungen zu synchronisieren. Das Problem ist, dass sich diese Blöcke nicht auf natürliche Weise aus dem Distributed Ledger entwickeln. Stattdessen wird eine externe Instanz benötigt, um sie willkürlich zu definieren. Diese Instanz wird als "Leader" (dt. Anführer) bezeichnet und in der Regel durch Arbeitsnachweis (Miner) oder Einsatznachweis (Staker) bestimmt. Sie sorgen dafür, dass ein Block ohne interne Konflikte entsteht.

Und es funktioniert: Mit dieser Methode wird das Problem der Doppel-Ausgaben gelöst. Sie ist jedoch auch mit mehreren hohen Kosten verbunden:

Problem 1: Leader verlangsamen alles

Die Suche nach einem Leader kostet Zeit. Anstelle eines kontinuierlichen und reibungslosen Transaktionsflusses wird das Netzwerk in festen Intervallen (Blockzeiten) angehalten. Erst NACHDEM ein Block vollständig validiert wurde, kann der nächste Stapel von Transaktionen verarbeitet werden.


Problem 2: Die Leader wollen Ihr Geld

Miner und Staker sind nur vertrauenswürdig, weil wir auf ihr finanzielles Eigeninteresse zählen. Dieses finanzielle Interesse muss ständig durch Gebühren und/oder Token-Inflation befriedigt werden. Gebühren aber laufen der Nutzbarkeit des Netzwerks genau zuwider: Sie sind ein direkter Anreiz, das Netzwerk NICHT zu nutzen, und sie zerstören viele mögliche Anwendungsfälle (siehe No-coin DLT Anwendungsfälle).


Problem 3: Leader sind Mittelsmänner

Solange reguläre Nodes nicht selbst direkt Transaktionen in den Ledger schreiben können, sondern Dritte (Miner/Staker) bezahlen müssen, sind Kryptowährungen nicht wirklich das, was Satoshi ursprünglich vorschwebte: "Peer-to-Peer electronic cash". Es wird immer viel weniger Leader (z.B. Mining-Pools) als Nodes im Netzwerk geben (in Bitcoin kontrollieren 4 Mining-Pools 51% der Hash-Power..). Dies hat langfristig ernsthafte Probleme, die hier diskutiert werden.



IOTAs radikale Idee: Die Relativität der Zeit akzeptieren, Miner/Steaker rausschmeißen

Eines der grundlegenden Konzepte von IOTA ist es, NICHT auf einer totalen Ordnung der Transaktionen zu bestehen. Diese einzige Entscheidung hat unmittelbare und starke Konsequenzen für das Netzwerk:

  • Gebührenfrei (da es keine Leader gibt, die bezahlt werden müssen)
  • Schnell (da es keine Notwendigkeit gibt, auf die Validierung von Blöcken zu warten)
  • Grün (da es keinen wettbewerbsorientierten PoW gibt)
  • Dezentralisiert (da ALLE Nodes Leader sind, nicht nur einige wenige)

 

Abb.2: Blockchains können nicht effektiv skalieren, weil sie den natürlichen Fluss von Transaktionen in Blöcke fester Größe zwingen. IOTAs Tangle erlaubt es allen Nodes, jederzeit frei Transaktionen in das Ledger zu schreiben.



Aber wie werden Doppel-Ausgaben aufgelöst?

Kurze Antwort: Demokratie

Längere Antwort: IOTA hat einen völlig neuen "Leaderless Consensus" entwickelt, der auf parallel-reality based ledger states und On-Tangle-Voting (auch bekannt als "Multiverse Consensus") basiert.

Der auf paralleler Realität basierende Ledger-State erlaubt es jeder Node, seine eigene Meinung über die Reihenfolge der Transaktionen im Netzwerk zu haben. Das bedeutet, dass es zu jedem Zeitpunkt viele Versionen des IOTA-Ledgers gibt: Eine "Realität" für jede Node. Diese Realitäten können sogar in Konflikt miteinander stehen!

Infolgedessen spaltet sich das Netzwerk praktisch immer auf, wenn ein Konflikt auftritt (ähnlich wie bei der Viele-Welten-Interpretation der Quantenphysik). Um wieder zu einer gemeinsamen Realität zu verschmelzen, müssen die Nodes den heaviest branch (dt. schwersten Zweig) im Netzwerk finden - genau wie beim "heaviest-chain wins"-Konsens in Blockchains.

Aber wie findet man den heaviest branch / heaviest reality? Bei Blockchains ist die längste Chain leicht zu finden: Die Leader posten einfach ihre gehashten Blöcke und die Nodes zählen, wer die längste Chain hat. Beim Multiversum-Consensus hingegen wird der heaviest branch durch das On-Tangle-Voting (OTV) ermittelt.

Die Nodes stimmen darüber ab, an welche Realität sie am meisten glauben, indem sie sich mit anderen Nodes austauschen. Eine einfache "Eine Node, eine Stimme"-Demokratie könnte jedoch leicht gefälscht werden, da jeder auf billige Weise so viele Nodes (und damit Stimmen) erzeugen kann, wie er will. Daher ist eine geheimnisvolle Zutat notwendig, um das Netzwerk zu schützen. Diese Zutat wird "Consensus-Mana" (cMana) genannt und wird von den Nodes durch die Abwicklung von Werttransaktionen im Netzwerk verdient (so dass "nützlichere" Nodes eine gewichtigere Meinung haben).

 

Abb. 3: Ein Konflikt spaltet das Netzwerk in zwei oder mehr "Realitäten". Die Realität, die die Mehrheit der cMana hinter sich versammelt, ist der "heaviest branch". Alle ehrlichen Nodes fügen sich wieder zu diesem Branch zusammen, indem sie alle widersprüchlichen Meinungen fallen lassen. Quelle: https://v2.iota.org/how-it-works/decentralized



Im Laufe der Zeit wird eine Realität des Netzwerks 51% der cMana hinter sich versammeln und somit der heaviest branch werden. Alle ehrlichen Nodes werden diese Tatsache anerkennen und ihre widersprüchlichen Meinungen fallen lassen, um sich wieder zusammenzuschließen. Diese Methode kann zu unglaublich komplexen Multiversen-Strukturen führen (z.B. wenn neue Konflikte innerhalb bereits gespaltener Realitäten entstehen), aber es wird immer genau eine Realität entstehen, die von der Mehrheit der cMana anerkannt wird. Konflikte werden also "on-the-run" gelöst, ohne Leader und ohne irgendwelche Gebühren.



Wie weit ist IOTA bei der Verwirklichung dieser Vision? (Stand August'21)

IOTA befindet sich derzeit in einer "Beta"-Phase (genannt IOTA 1.5 oder "Chrysalis"). Werttransaktionen im Mainnet sind noch unter dem Koordinator-Node zentralisiert, der von der IOTA Foundation betrieben wird. Reine Datentransaktionen sind jedoch vollständig dezentralisiert.

Das vollständig dezentralisierte "IOTA 2.0 DevNet" läuft bereits seit einigen Monaten, ist aber noch nicht vollständig und befindet sich noch im Aufbau. Sie können das DevNet hier live verfolgen: https://v2.iota.org/visualizer