Modul 3 - Autopeering

In Peer-to-Peer-Netzwerken wie IOTA sind die Nachbarn einer Node seine einzige Informationsquelle. Jeder Peering-Mechanismus muss sich daher darauf konzentrieren, sich mit einer gesunden Anzahl von ehrlichen Nachbarn zu verbinden, d. h. Nodes, die nicht versuchen, dem Netzwerk zu schaden.

Wir führen einen Autopeering-Mechanismus ein, bei dem jede Node bestimmte Kriterien für die Auswahl potentieller Nachbarn hat. Sein Ziel ist es, eine sichere und zuverlässige Node-Nachbarschaft aufzubauen, die vom Gossip-Protokoll verwendet werden kann, und gleichzeitig zu verhindern, dass Angreifer andere Nodes "austricksen", um ihre Nachbarn zu werden. Der Autopeering-Mechanismus schafft außerdem ein effizientes Small-World-Netzwerk, in dem Messages über eine geringe Anzahl von Zwischenschritten zu jeder anderen Node propagiert werden können.

Im Kern verwendet das Nachbarschaftsauswahlprotokoll des Autopeering-Mechanismus sowohl einen Screening-Prozess namens Mana Rank als auch eine Bewertungsfunktion, die sowohl einen privaten als auch einen überprüfbaren öffentlichen Zufall berücksichtigt. Effektiv können bei einer großen Anzahl von Nodes nur Nodes mit ähnlichem Consensus- Mana Nachbarn werden.

Das Protokoll unterscheidet explizit zwischen Outbound- und Inbound-Nachbarngruppen. Das bedeutet, dass es jeder Node freisteht, bevorzugte Nachbarn aufzufordern, Mitglieder seiner Outbound-Gruppe zu werden, und die Inbound-Gruppe aufzubauen, indem eingehende Peering-Anfragen basierend auf lokalen und privaten Anforderungen gesiebt werden. Diese Aufteilung sorgt für eine gewisse Unvorhersehbarkeit der Netzwerktopologie sowie für den Schutz vor Angriffen von außen (z. B. Eclipse-Angriffe). Dadurch wird es Angreifern erschwert, bestimmte Nodes im Peering-Prozess ins Visier zu nehmen, während gleichzeitig sichergestellt wird, dass die Nodes immer mindestens eine gewisse Anzahl ehrlicher Nachbarn haben.