Verständlicher Artikel über die Dezentralisierung des Konsensmechanismus

01. Apr'20

Übersetzung des Blogartikel von Autor Daniel De Michele (Carpincho Dem). Full Stack Web Developer, Buenos Aires IOTA Regional Community Leader, IEN Member and IOTA Hispano Head of contents.

 

 

Einführung

In diesem Artikel soll auf leichte und sehr vereinfachte Weise erklärt werden, wie die Forschungs- und Ingenieurteams der IOTA-Stiftung auf das Ziel hinarbeiten, den Koordinator zu entfernen und somit eine vollständige Dezentralisierung im Hinblick auf den Konsens zu erreichen. Denken Sie daran, dass es sich bei Coordicide um ein dynamisches Projekt handelt und sich einige der in diesem Beitrag erläuterten Punkte in den kommenden Wochen ändern können.

 

 

IOTA Gegenwärtiger Stand

Wie wir alle wissen, ist IOTA eine revolutionäre DLT, die einen gerichteten azyklischen Graphen (DAG) namens "Tangle" als Datenstruktur anstelle der bekannten Blockchain verwendet. Der Grund dafür ist vor allem die begrenzte Skalierbarkeit von Blockchains: Jeder Block in der Kette kann eine begrenzte Anzahl von Transaktionen übertragen. Abgesehen davon beruhen Blockchain basierende DLTs auf Konsensmechanismen, die eine Art von Mining erfordern, was dazu führt, dass pro Transaktion eine Gebühr für die Arbeit der Miner erhoben werden muss.

Zum Zeitpunkt der Niederschrift dieses Artikels ist die IOTA in Bezug auf ihr Ledger dezentralisiert: Genau wie Bitcoin besteht das IOTA-Netzwerk aus Tausenden von Full-Nodes, die Nachrichten über das Gossip-Protokoll (Klatschprotokoll) übermitteln. Jeder Node verwendet dieses Protokoll, um zu validieren, dass seine Kopie des Ledgers mit dem Rest des Netzwerks konsistent ist.

Die Art und Weise, wie die Konsens-Finalität im Tangle erreicht wird, ist heute zentralisiert. Eine Reihe von Transaktionen, die der DAG des Tangle hinzugefügt werden, werden von einem zentralisierten spezialisierten Node namens Koordinator als valide ausgewählt, während andere widersprüchliche Transaktionen zurückbleiben ohne jemals bestätigt zu werden.

 

Der nächste große Schritt für die IOTA besteht darin, einen Weg zu finden, einen Konsensmechanismus ohne zentralisierte Einrichtungen, Gebühren oder Miner zu schaffen.

Dieser Artikel wird auf einfache Weise erklären, wie dies erreicht werden kann.

 

 

IOTA-Konsens nach dem Coordicide

Nach der Analyse verschiedener Ansätze kam das IF-Forschungsteam zu einer Lösung namens Coordicide, die auf der Lösung von Konflikten mit Hilfe eines Abstimmungssystems beruht. Dies bedeutet, dass die Nodes bei zwei beliebigen Transaktionen, die in Konflikt stehen, abstimmen und ihre Meinung darüber austauschen, welche als gültig erachtet wird. Jeder Node wird in der Lage sein, eine zufällig ausgewählte Gruppe von Nodes zu fragen/zu antworten, was sie über die in Konflikt stehenden Transaktionen denken. Jedes Mal, wenn ein Node die Meinung eines anderen zufälligen Node benötigt, zählt als eine Runde. Nachdem eine ausreichende Anzahl von Runden erreicht ist, entscheiden die Nodes, welche Transaktion gültig ist, und der Konsens erreicht die Endgültigkeit.

Dies scheint ziemlich einfach zu sein - und das ist es auch - aber damit ein solches Modell sicher funktioniert, müssen andere Maßnahmen ergriffen werden, um einige der Angriffsvektoren, denen dieser Prozess ausgesetzt ist, zu bekämpfen. Sybil-Angriffe (Nodes, die ihre Identität vortäuschen, während sie versuchen, falsche Informationen zu verbreiten), Spam, Eclipse-Angriffe (Nodes, die einen bestimmten Node umgeben, um ihn mit gefälschten Daten zu füttern) sind nur einige der Angriffsvektoren, die bekämpft werden müssen.

Coordicide handhabt all dies mit einer Reihe von Modulen und Funktionalitäten, die zusammenwirken, um das Erreichen eines Konsenses zu gewährleisten.

Als nächstes werden wir erklären, was diese Funktionen sind und warum sie benötigt werden.

Coordicide-Blockdiagramm

 

a. Verantwortlichkeit der Nodes

Da die Nodes ihre Meinungen austauschen werden und unehrliche Nodes erwartet werden, ist eine Methode zur Identifizierung jedes Netzwerkteilnehmers unerlässlich. Auf diese Weise enthält jeder Datenaustausch die ID des Absenders, und wenn Nodes den Konsens böswillig stören, können sie leicht identifiziert und bestraft werden. Dies ist der Schlüssel zur Bewältigung von Sybil-Angriffsszenarien, wie wir später noch erörtern werden

 

 

b. Mana: ein Reputationssystem

Von der Konzeption her begünstigt IOTA Akteure, die sich im Netzwerk gut verhalten. Wenn Sie Ihre Transaktion im Tangle platzieren wollen und zwei andere Tips, die vom Tip Selection Algorithmus (TSA) vorgeschlagen werden, validieren, wird Ihre Transaktion wahrscheinlich schnell validiert werden.

Dasselbe gilt für das vorgeschlagene Konsensmodell: Nodes, die sich korrekt verhalten (d.h.: Transaktionen für eine bestimmte Dauer im Netzwerk korrekt verarbeiten und kommunizieren), sind von Wert und werden an Reputation gewinnen. Dies ist nützlich und notwendig, um sie aus dem Universum der bestehenden Nodes richtig identifizieren zu können. Sie werden wissen wollen, wer diese ehrlichen Leute sind und sie anderen Nodes mit weniger Mana vorziehen, wenn sie im Netzwerk Transaktionen durchführen müssen oder fragen, was sie über eine verdächtige Transaktion denken.

Dafür ist Mana gedacht. Sie können es sich als ein Reputationssystem vorstellen, das das gute Verhalten der Nodes widerspiegelt, indem Sie ihnen Reputation zuweisen. Jedes Mal, wenn sich ein Node erwartungsgemäß verhält, indem er Werttransaktionen verarbeitet, erhält er eine Manamenge, die der Anzahl der Tokens der von ihm verarbeiteten Werttransaktion entspricht. Wenn wir also Alices Node verwenden, um Bob 10 Giotas zu senden, erhält ihr Node 10 Gi an Mana.

 

Bevor wir weitermachen, ist es wichtig, einige Aspekte zu erklären, die zu häufigen Missverständnissen bezüglich dieses parallelen Token führen. (IOTA und Mana Token)

  1. Mana kann nicht gehandelt werden. Die Nodes erhalten eine bestimmte Menge an Mana, die die von ihnen verarbeiteten Werttransaktionen widerspiegelt (1:1), aber die Betreiber der Nodes können kein Mana an andere Nodes übertragen, ohne dass auch IOTA-Token übertragen werden.
  2. Mana kann nicht in einer Weise angesammelt werden, dass massiv genutzte Nodes (wie z.B. Exchange Nodes) eine riesige Menge an Mana erhalten können. Der Grund dafür ist, dass Mana einen Zerfallsmechanismus hat, durch den Nodes kontinuierlich Mana abbauen, so dass sie eine gute Menge Mana nur dann behalten können, wenn sie wie erwartet im Netzwerk weiterarbeiten, sobald sie jedoch stillstehen, werden sie es verlieren.
  3. Mana ist schwer zu bekommen und sehr leicht zu verlieren. Sobald ein Node mit hohem Mana-Anteil etwas versucht, das nach dem Protokoll als illegal gilt, verliert er Mana.

 

Mana ist ein Schlüsselelement des IOTA Konsensmechanismus ohne Koordinator, da viele Vorgänge, wie die oben beschriebene Auswahl von Nodes zur Abfrage von Meinungen zu widersprüchlichen Transaktionen, seriöse Nodes gegenüber anderen, die keine ehrliche Tätigkeit im Netzwerk nachweisen können, bevorzugen werden.

 

 

c. Autopeering

Die aktuelle IOTA-Implementierung verwendet manuelles Peering: Die Node-Betreiber müssen sich gegenseitig auf den Nachbarn einigen. Dies ist nicht nur mühsam, sondern auch unsicher, da Sie Ihre Nachbarn kennen und ihnen vertrauen müssen, um sicher zu sein, dass die Transaktionen, die sie an Ihren Node senden, ehrlich sind. Wir sagen, dass ein Node einen Eclipse-Angriff erleidet, wenn seine Sicht auf das aktuelle Ledger dadurch verändert wird, dass seine Nachbarn gefälschte Informationen senden, um seine Sichtweise zu ändern.

Die vom Forschungsteam vorgeschlagene Autopeering-Methode wirkt auf eine Weise, die diese Angriffe wirklich schwierig macht, indem sie Ihre Nachbarn automatisch auswählt. Jeder Node wird 8 Nachbarn haben: 4, die vom Node ausgewählt wurden (Ausgewählte Nachbarn) und 4, die diesen Node als Nachbarn ausgewählt haben (Akzeptierte Nachbarn). Der Auswahlprozess verwendet eine Distanzfunktion mit einem öffentlichen Salt, die die Entfernung zwischen den Nodes berücksichtigt und das öffentliche Salt periodisch erneuert. Wenn man bedenkt, dass dieses (unbekannte und sich ändernde) Public Salt für den Peer-Betrieb benötigt wird und dass die 8 Nachbarn periodisch rotieren, wird es wirklich schwierig, einen Node per Eclipse zu verdunkeln.

 

 

d. Raten-Steuerung

Dies ist der Teil von Coordicide, der für die Behandlung von Spam und die Regulierung der Anzahl der Transaktionen, die von den Nodes verarbeitet werden können, um Überlastungen/Engpässe zu vermeiden, zuständig ist. Aber wie funktioniert das?

Die vorgeschlagene Lösung implementiert einen anpassungsfähigen Arbeitsnachweis (Proof of Work), der sicherstellt, dass die Nodes ein Puzzle erhalten, das so schwierig zu lösen ist, wie es zur Vermeidung von Staus/Überflutungen/Spam erforderlich ist, während andere Geräte mit geringen Rechenkapazitäten ein kleines festes PoW durchführen können.

Die Ratensteuerung ermöglicht es, den Arbeitsaufwand, den ein Node für die Verarbeitung von Transaktionen leisten muss, unter Berücksichtigung seines Durchsatzes und des Transaktionsverarbeitungsvolumens anzupassen. Spammer, die eine große Anzahl von Transaktionen versenden, müssen sich also im Grunde genommen mit einem härteren Arbeitsnachweis auseinandersetzen, um Spam zu versenden, während andere Nodes, die sich normal verhalten, weiterhin mit dem regulären PoW arbeiten können.

 

 

e. Abstimmung

Wie wir bereits in diesem Artikel beschrieben haben, erfolgt die Konfliktlösung durch Abstimmung. Wählermodelle sind nicht so neu: Sie existieren seit dem 70er Jahren und haben sich bei der Konsensfindung mehrfach als effektiv erwiesen. Die IOTA-Stiftung schlägt ein neuartiges Wählermodell mit dem Namen Fast Probabilistic Consensus (FPC) vor (von Serguei Popov und William J. Buchanan).

Die Art und Weise wie dieses Modell funktioniert: An das Tangle gesendete Transaktionen bleiben für einen kurzen Zeitraum ausstehend (pending), sodass vorhandene Konflikte gesucht und gefunden werden können. Wenn es keine Konflikte gibt, wird eine Transaktion sofort bestätigt. Wenn ein Konflikt besteht, findet FPC statt, so dass der Node, der den Konflikt erhalten hat, andere zufällig aus dem Netzwerk ausgewählte Nodes zu ihrer Meinung darüber konsultieren kann, welche die echte Transaktion ist.

Da die Nodes, die wir bitten, eine der konfligierenden Transaktionen zu mögen oder nicht zu mögen, nach dem Zufallsprinzip aus dem Netzwerk ausgewählt werden (beachten Sie, dass Anfragen an Nodes gerichtet werden, die nicht in der Nähe des Emittenten liegen), ist es wirklich schwierig, das Abstimmungsergebnis zu beeinflussen.

Hinzu kommt, dass Nodes mit einem guten Ruf im Netzwerk (hohes Mana) eher aus dem Nodes-Pool ausgewählt werden, den ein jeder Nodes aufweist. Selbst wenn es einem Angreifer gelingt, einen großen Prozentsatz der Nodes im Netzwerk zu kontrollieren, müsste er sich eine Zeit lang gut benehmen, um bei einem Konflikt für die unehrliche Transaktion stimmen zu können. Das ist möglich, aber es ist eine Menge Arbeit, nur um einige Stimmen für ein paar Transaktionen zu bekommen und als Folge davon wahrscheinlich schnell Mana zu verlieren.

 

 

Einige Anmerkungen

Wie zu Beginn dieses Artikels festgestellt wurde, ist dies ein naiver Beitrag dazu, wie der IOTA-Konsens in der Zeit nach dem Koordinator funktionieren wird, mit dem Ziel, für Leser ohne technischen Hintergrund verständlich zu sein. Jedes einzelne der hier behandelten Module kann im Coordicide Whitepaper eingehend studiert werden, wo Sie mathematische Beweise und Simulationsergebnisse finden, die mit Goshimmer, dem Prototyp, in dem die IOTA-Stiftung die Module für die vorgeschlagene Lösung erstellt, erzielt wurden.

Es ist wichtig, klarzustellen, dass es, sobald dies auf dem Mainnet implementiert ist, es kein Zurück mehr gibt, wenn etwas schief geht. Deshalb ergreift die IOTA-Stiftung alle Maßnahmen, um jede Komponente zu testen, und eine Zwischeninstanz wird auf dem Testnet (Chrysalis) eingesetzt werden, um diese Lösung in der realen Welt vollständig zu überprüfen.

Ich hoffe, dass dies zum Verständnis der Grundsätze der Funktionsweise des neuen Konsenses beiträgt!