Systemschlüssel für das IOTA-Konsensmodell ohne Koordinator
07’Mrz’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.

In diesem Beitrag soll erklärt werden, was Mana ist, da diese Coordicide-Funktion für das IOTA-Konsensmodell essentiell ist, um korrekt zu funktionieren, sobald der Koordinator abgeschaltet ist. Es muss berücksichtigt werden, dass die meisten der hier untersuchten Konzepte das Ergebnis einer laufenden Forschungsarbeit sind, so dass sie, selbst wenn sie Teil des Coordicide Whitepapers sind, nur den aktuellen Forschungsstand widerspiegeln.
Wenn Sie nicht “Verständlicher Artikel über die Dezentralisierung des Konsensmechanismus” gelesen haben, wäre es vielleicht eine gute Idee, einige Minuten darauf zu verwenden, da es einige der Konzepte erklärt, auf die in diesem Beitrag Bezug genommen wird.
Mana ist ein Mechanismus, der entwickelt wurde, um mit Sybil-Angriffen umzugehen und zu garantieren, dass das Konsensergebnis die richtigen Entscheidungen widerspiegelt, während über zwei widersprüchliche Transaktionen abgestimmt wird. Als nächstes werden wir versuchen zu erklären, was Sybil-Angriffe sind und welche Systeme es gibt, um damit umzugehen.
Sybil-Angriffe verstehen
Eines der bekanntesten Sicherheitsprobleme in Peer-to-Peer (P2P)-Netzwerken – in denen Peers kommunizieren, um Informationen auszutauschen und Entscheidungen zu treffen – ist die Schaffung falscher Identitäten, um das Ergebnis des Entscheidungsprozesses zu manipulieren.
Dieser Angriffsvektor ist als Sybil-Angriff bekannt, in Anlehnung an das Thema des Buches “Sybil” (1973, Flora Rheta Schreiber), einer Fallstudie über eine Frau, bei der eine dissoziative Identitätsstörung diagnostiziert wurde.
In P2P-Netzwerken, die die Schaffung von Identitäten ohne großen Aufwand ermöglichen, können Angreifer mehrere Identitäten einführen, die aus der Perspektive der bestehenden Peers als ehrliche Teilnehmer angesehen werden. Wenn diese falschen Identitäten einmal eingeführt sind, können sie dazu benutzt werden, den Prozess der Konsensfindung bezüglich der vom Netzwerk übertragenen Daten zu manipulieren.

Ein Beispiel für einen Sybil Angriff. Beachten Sie, wie der grüne Node fast vollständig von den Sybil-Nodes verdeckt wird.
Sybil-Angriffe können als Sprungbrett für andere Angriffe wie z.B. Eclipse-Angriffe verwendet werden, wo es böswilligen Akteuren gelingt, einen Node von der Kommunikation mit ehrlichen Nodes zu isolieren, die Peer-Informationen zu blockieren und damit die Sicht des Nodes auf das Netzwerk zu verändern.
Einige Mechanismen zur Bewältigung von Sybil-Angriffen
In P2P-Netzwerken werden Sybil-Angriffe dadurch bewältigt, indem die Teilnehmer eine Aufgabenstellung (Proof of Work) erledigen, die ihre Ehrlichkeit als Gleichrangige (engl. peer) demonstriert oder indem sie den Besitz einer bestimmten endlichen knappen Ressource überprüfen (Proof of Stake, Proof of Scarcity), um eine neue Identität im Netzwerk einzuführen.
Auf diese Weise hat das Fälschen von Identitäten einen Preis, der normalerweise zu hoch ist im Vergleich zu dem, was man durch einen solchen Angriff gewinnen könnte. Beispielsweise kostet beim Bitcoin die Menge an Rechenleistung, die benötigt wird, um Identitäten zu fälschen, den Konsens zu beeinflussen und so das Netzwerk anzugreifen, viel mehr als das, was ein Angreifer auf diese Weise erhalten könnte.
Lassen Sie uns kurz einige der in P2P-Netzwerken verwendeten Methoden zum Schutz vor Sybil-Angriffen betrachten.
Proof of Work (PoW)
Mit PoW erhalten P2P-Netzwerke einen gewissen Schutz vor Sybil- oder Spam-Angriffen, indem sie die Ausführung einer rechenintensiven Aufgabe verlangen. PoW wird von Bitcoin und anderen ge-minten Coins verwendet. Da dies viel Rechenleistung erfordert und die IOTA Technologie auf die Bedürfnisse für das Internet der Dinge zugeschnitten ist, eignet sich dieses System nicht als Schutzmechanismus für IOTA.
Proof of Stake (PoS)
In PoS-Systemen stützt sich der Konsens auf ein Komitee von Nodes, die auf der Grundlage der Menge der Token, die sie besitzen (stake), ausgewählt werden. Die Abstimmung liegt in den Händen einiger weniger Teilnehmer, die ihre eigenen Token als Sicherheit hinterlegen, während jeder Teilnehmer bei der Konsensfindung hilft. Der Nachweis der Beteiligung ermöglicht es, einen Konsens ohne Mining (PoW) zu erreichen, aber um zu funktionieren erfordert die Arbeit der Nodebetreiber eine Art von Anreiz, so dass für ein PoS-basiertes System in der Regel eine Art von Gebühren (engl. fees) erhoben werden.
Proof of Resource (PoR)
Wie Proof of Stake bezieht sich PoR auf einige knappe Ressourcen, über die die Netzwerkteilnehmer verfügen müssen, um ihre Ehrlichkeit zu beweisen. Diese Ressource kann durch alles repräsentiert werden, was einen gewissen Aufwand erfordert, um sie zu erhalten: PoR kann rechnerische Arbeit sein, wie z.B. im PoW oder das Staken einer endlichen Ressource die durch Tätigkeiten gewonnen wird, die auf den Betrieb des Netzwerks abgestimmt sind. Einige Beispiele hierfür könnten PoMemory oder PoDiskSpace sein.
Das Mana-System
Man kann sich Mana als ein paralleles Reputations-Token zum IOTA-Token vorstellen, das von Adressen in einem proportionalen Verhältnis zu den IOTA-Token gehalten wird. Dies wird als Pending Mana (dt. ausstehend / schwebend) bezeichnet, welches bei Werttransaktionen an Nodes verpfändet wird. Wenn eine bestimmte Menge an Iota-Token von einer Adresse zu einer anderen Adresse transferiert wird, wird ein vom Emittenten ausgewählter Node mit Mana belohnt, wodurch “Vertrauen” gewonnen wird. Die Menge an Mana, die dieser Node erhält, ist proportional zu der Menge an Iota-Token, die bei der Transaktion gesendet werden.
Mana will den am Netzwerk teilnehmenden Nodes eine Rangfolge/Reputation verleihen, die es ermöglicht, ehrlich arbeitende Nodes mit einer gesicherten Historie von neuen Nodes (Identitäten) die dem Netzwerk gerade erst beigetreten sind zu unterscheiden.
Es ist wichtig klarzustellen, dass Mana an den Node verpfändet wird, der für die IOTA-Token-Transaktion verwendet wird, auf diese Weise können neue Nodes eine Reputation erhalten, um im Netzwerk zu arbeiten (etwas Nützliches, wenn es sich um IoT-Nodes handelt, die von etwas Mana profitieren würden).
Zitat Coordicide Whitepaper: “Das Prinzip eines Mana-Systems ist, dass man mehr Mana bekommt oder besitzen sollte, je mehr man zum Netzwerk beiträgt. Beiträge sind natürlich damit verbunden, wie viel Token (stake) jemand hält. Obwohl der Besitz von Tokens dem Netzwerk hilft, sollte man nicht in der Lage sein, eine unkontrollierte Menge Mana “zu minen / zu sammeln”, indem man einfach eine gewisse Menge von Token über einen längeren Zeitraum hält oder durch häufiges versenden von Token.”
Aber wie schützt Mana das Netzwerk vor Identitätsfälschung und Sybil-Angriffen? Ganz einfach: Die meisten Aspekte des neuen Protokolls (Voting, Peering, Ratensteuerung) werden Nodes mit hohem Mana gegenüber Nodes bevorzugen, die ihre ehrliche Arbeit im Netzwerk nicht nachweisen können. Selbst wenn es also einem Angreifer gelingt, 100 falsche Identitäten zu erschaffen, wird seine “Meinung” nicht berücksichtigt, da sein Ruf (Mana) ihn eine Zeit lang hinter allen ehrlich arbeitenden Nodes im Netzwerk, zurückstellen wird.
Die Mana-Menge, die von jedem Node gehalten wird, wird im öffentlichen Ledger (Tangle) als dessen Mana-Status verfügbar sein. Dies wird es ermöglichen, Mana bei der zufälligen Auswahl von Nodes für Abfragen über konfligierende Transaktionen zu berücksichtigen. Daher werden die Nodes in den Abstimmungsrunden (Voting) für den Fast Probabilistic Consensus andere Nodes nach dem Zufallsprinzip auswählen, um deren Meinung einzuholen, wobei sie durch die Manamenge, über die sie verfügen, beeinflusst werden.
Laut dem Coordicide Whitepaper führt das Mana-System diese Konzepte ein:
- Pending Mana: Adressen erzeugen Pending Mana in einer Größenordnung, die proportional zu dem von ihnen gehaltenen Guthaben (stake) ist.
- Mana: Wenn Gelder (d.h. IOTA-Token) von einer Adresse ausgegeben werden, wird das ausstehende Mana, das von dieser Adresse erzeugt wurde, in Mana umgewandelt und an ein Node verpfändet. Pending Mana wird nun durch die Guthaben an der Adresse des Empfängers erzeugt.
- Decay (dt. Verfall): Sowohl Mana als auch Pending Mana zerfallen proportional zu seinem Wert, wodurch verhindert wird, dass das Mana mit der Zeit unbegrenzt wächst.
Der Mana-Lebenszyklus beginnt mit der Existenz von pending Mana auf jeder Adresse mit Guthaben, proportional zu ihrer Bilanz. Angenommen, dass Adresse A 10 Miotas an Adresse B sendet. Der Full-Node, den der Emittent bei dieser Transaktion auswählt, erhält dann einen proportionalen Betrag an Mana zugesagt. Auf diese Weise werden die Nodes im Laufe der Zeit, während sie für das Netzwerk arbeiten, Mana anhäufen, aber sie werden aufgrund des Zerfallsmechanismus (Decay) kontinuierlich etwas Mana verlieren. Beachten Sie, dass Pending Mana im Laufe der Zeit nicht zerfällt (wie Mana), sondern dass sich ansammelndes Pending Mana seine Erzeugungsrate verringert, um das Erreichen einer bestimmten, im Protokoll festgelegten Grenze zu vermeiden.
Mana: Ein Schlüsselfeature
Mana ist ein Schlüsselfeature in der Ära nach dem abschalten des Koordinators. Es hilft bei der Bewältigung von Sybil-Angriffen in vielen Szenarien im Zusammenhang mit der Nachbarschaft, der Abstimmung und der Ratensteuerung. Das zukünftige IOTA- Konsensmodell wird ein Modell sein, bei dem Konflikte zwischen Transaktionen (d.h.: zwei Transaktionen, die die gleichen Mittel ausgeben) durch die Stimmen der Nodes gelöst werden.
Das bedeutet, dass, wenn Adresse A ihre gesamte Bilanz zweimal an Adresse B sendet (double spending), die Nodes diese Transaktionen untersuchen müssen, um festzustellen, welche die gültige ist. Dies geschieht unter Berücksichtigung der Zeit, in der beide Transaktionen getätigt wurden, zugunsten der ältesten; dabei ist zu beachten, dass Nodes mit hohem Mana bei der Auswahl der anzufragenden Nodes von anderen Nodes bevorzugt werden.
Laut der kürzlich veröffentlichten Coordicide Videoserie wird Mana von den meisten Modulen des neuen Konsensmechanismus verwendet werden. Lassen Sie uns überprüfen, wie sich dies auf jeden einzelnen Fall auswirkt.
- Rate Control: als Sybil-Kontrollmechanismus zur Verhinderung von Spam > Je mehr Mana Sie haben, desto mehr Ihrer Nachrichten/Transaktionen werden gesendet/gelesen/verarbeitet.
- FPC-Abstimmung: Angriffe bei der Abstimmung verhindern > Je mehr Mana Sie haben, desto mehr wird Ihren Meinungen berücksichtigt werden.
- Auto-Peering: Eclipse-Angriffe verhindern > Ihre Nachbarn/Partner haben eine ähnliche Menge Mana wie Sie.
Wie wir sehen können, steht Mana im Mittelpunkt des vorgeschlagenen Konsensmodells und bildet einen Reputationsmechanismus, der sich auf mehrere Aspekte dieser neuen Protokolllogik auswirkt.
Zusätzliche Anmerkungen zu Mana
Auch wenn Mana für die Funktionsweise von IOTA von grundlegender Bedeutung ist, ermöglicht der modulare Aufbau der für den Coordicide vorgeschlagenen Lösungen, dass die IF Änderungen durchführen oder sogar zu einem anderen System wie dem Proof of Stake übergehen könnte, wenn etwas schief geht.
Die Idee hinter Mana ist glasklar: eine Art System bilden, das die Netzwerkteilnehmer anerkennt, die gute Arbeit leisten und sie bei jeder Entscheidung, die das Protokoll trifft, gegenüber anderen Nodes bevorzugt.
Etwas, das in Betracht gezogen werden sollte, ist, dass von Nodes, die massive Arbeit im Netzwerk leisten (z.B. Exchange-Nodes) erwartet wird, dass sie eine sehr hohe Menge an Mana erhalten werden, sobald das Protokoll im Mainnet ausgerollt ist, daher könnten sie über eine sehr große Menge an Mana verfügen, was eine große Macht über den Entscheidungsprozess zur Folge hätte.
Diesbezüglich sollten wir darauf hinweisen, dass ein hohes Mana die Nodes nicht dazu zwingt, diese Mega-Mana-Nodes abzufragen. Jeder Nodebetreiber kann entscheiden, bestimmte Nodes – trotz ihres Manas – von seiner Node-Liste auszuschließen. Tatsächlich wird von ihnen erwartet, dass sie dies im Falle von schlechtem Verhalten von Mega-Mana-Nodes tun.
Wenn wir sagen, dass Mana objektiv ist, beziehen wir uns auf diese Bedingung: Ein Node mit hohem Mana kann anfangen, sich im Netzwerk schlecht zu verhalten, und obwohl dies sein Mana nicht verändert, werden andere Nodes anfangen, ihn zu ignorieren.
Schlussfolgerungen
Sybil-Angriffe sind ein bekannter Angriffsvektor auf P2P-Netzwerke und da das IOTA-Forschungsteam nach einem Weg sucht, den Koordinator loszuwerden, ist ein Mechanismus zur Bewältigung dieser Angriffe von größter Bedeutung.
Mana ist möglicherweise nicht der einzige Schutzmechanismus, den das neue IOTA-Protokoll zum Schutz seines Netzwerks einsetzt. Wir denken, dass einige andere Systeme in Betracht gezogen wurden, wie z.B. der Proof of Age (Bewertung der Zeit, die ein Node am Netzwerk gearbeitet hat), der Proof of Consistency (Überprüfung, ob ein Node in den letzten N Runden entsprechend den Ergebnissen der Konsensfinalität abgestimmt hat oder eine ungültige Transaktion bevorzugt hat) und so weiter. Wir haben den Eindruck, dass das IOTA-Forschungsteam keine anderen Mechanismen ausschließt, die zum Schutz des Netzwerks beitragen sich aber gleichzeitig voll bewusst ist, dass jedes neue Schutzsystem möglicherweise neue Angriffsszenarien eröffnen könnte.
Wir wissen nicht mit Sicherheit, was sich in den Simulationen und auf Chrysalis als das Beste erweisen wird. Im Moment scheint Mana ein sehr vernünftiges System zu sein, um mit Sybil-Angriffen auf vielen Ebenen fertig zu werden und Simulationen für FPC, die durch Mana beeinflusst sind, sehen vielversprechend aus. Wir sind gespannt, wie sich das System in der realen Welt bewährt.