Modul 5 - Tip Selection

Der Tip-Selection-Algorithmus wählt die Anhängepunkte für neu in das Netzwerk eintretende Messages aus.

Im frühen IOTA-Netzwerk wurde der "biased random walk"-Algorithmus verwendet, da er nicht nur zu einer gesunden Tangle-Struktur führt, sondern auch erlaubt, den schwersten und damit bevorzugten Teil des Tangles zum Anhängen zu identifizieren. Abgesehen von diesen Qualitäten zeigte er auch Eigenschaften, die weniger wünschenswert waren:

  • Ehrliche Transaktionen konnten auf der Strecke bleiben, wenn sie nicht genug Gewicht anhäuften.
  • Angreifer konnten "Confirmation Attacks" durchführen, indem sie absichtlich bösartige Strukturen erzeugten, die den Random Walk dazu verleiten würden, wie parasitäre Chains. Alternativ könnte ein Angreifer widersprüchliche Messages spammen, die sehr lange brauchen würden, um aufgegeben zu werden und die Bestätigungsrate drastisch senken würden.
  • Die Berechnung der kumulativen Gewichte von Transaktionen ist rechenintensiv, insbesondere in Szenarien mit hohem Durchsatz.


Solche Probleme veranlassten uns, Abstimmungsmechanismen im IOTA 2.0 DEVNET zu verwenden. Wir mussten eine Entscheidung darüber treffen, ob eine Message in Ordnung ist, bevor wir sie weiter zum Wachsen des Tangles verwenden.

Dieser Ansatz erlaubte es uns, die Tip-Auswahl eine andere Rolle spielen zu lassen als in IOTA vor Coordicide: ihr Zweck war nur, das Tangle auf eine stabile und sichere Weise wachsen zu lassen, mit schnellen Genehmigungs- und Finalitätszeiten. Wir haben den Tip-Auswahl-Prozess vom Konsens-Mechanismus getrennt.

Bei der Tip-Auswahl von IOTA 2.0 DEVNET wählt der Algorithmus zwischen zwei und acht vorherige Messages aus einer Liste von Tips aus und genehmigt sie. Dieser Genehmigungsmechanismus repräsentiert den "Glauben" im Tangle: Wenn Nachricht y Nachricht x genehmigt, impliziert dies, dass y glaubt, dass x gültig ist und dass seine gesamte Geschichte ebenfalls gültig ist.

Der Tip-Auswahl-Algorithmus von IOTA 2.0 DEVNET ist Restricted Uniform Random Tip Selection (RURTS), der mit gleichmäßiger Wahrscheinlichkeit aus der Liste der zulässigen Tips auswählt. Die Variation der Anzahl der Genehmigungen (zwei bis acht) wirkt Spam in Zeiten mit geringem Verkehrsaufkommen entgegen: Eine höhere Anzahl von Genehmigungen verhindert, dass die Nachrichten eines Spammers das Tangle erweitern, so dass es auf eine gesunde Weise wächst. Der Standard ist die Verwendung von zwei Genehmigungen in nicht überlasteten Perioden.

Wir verbessern den Algorithmus weiter, indem wir approval switches (dt. Genemigungsschalter) einführen, die Genehmigungen in zwei Kategorien unterteilen: starke und schwache. Starke Genehmigungen erfordern eine gesunde Vergangenheit. Schwache Genehmigungen emulieren die guten Eigenschaften des "White Flag Approach" aus IOTA 1.5: es bedeutet, dass wir den Inhalt der Nachricht genehmigen, ohne notwendigerweise ihre Vergangenheit zu genehmigen, was einer solchen Nachricht erlaubt, am Tangle teilzunehmen, ohne unzusammenführbare Zweige zu erzeugen.

Dieses neue System wird die Zuverlässigkeit von Transaktionen im IOTA-Netzwerk erhöhen und die Notwendigkeit von Reattachments und Promotions deutlich reduzieren. Es wird auch den Prozess der Auswahl von Tips viel billiger und schneller machen.