„Nodes“ (Knotenpunkte) sind ein wichtiger Bestandteil jeder Blockchain. Das gilt auch für den Ledger von IOTA, dem Tangle. Die IOTA Nodes erfüllen essenzielle Aufgaben im Netzwerk von IOTA. Eines vorneweg: Der Tangle funktioniert sehr unterschiedlich im Vergleich zu anderen Blockchains. Es gibt kein Miner, welche die Transaktionen verifizieren. Stattdessen erledigen das bei IOTA die Nodes selber.
Nodes im Tangle-Netzwerk befinden sich in sogenannten „Nachbarschaften“ (neighborhoods). Diese Nachbarschaft verifiziert sich gegenseitig. Es gibt mehrere unterschiedliche Arten von Nodes im IOTA-Netzwerk.
IRI-Nodes
„IRI“ steht für „IOTA Reference Implementation“. Diese Nodes werden nicht mehr genutzt. Vor dem Crysalis-Update waren sie die Transaktions-Datenbank des Tangles. IRI-Nodes hatten die Aufgabe, Transaktionen zu validieren und gültige Transaktionen auf einem Ledger zu speichern. Sie stellten außerdem eine Verbindung zu den „Clients“ her. Die Clients im IOTA-Netzwerk sind die Wallets.
Damit das Peer-to-Peer-Netzwerk funktionieren konnte, musste ein Node mit anderen IRI-Nodes verbunden sein. Nur dann konnte er die Transaktions-Datenbank mit den anderen abgleichen. Mit dem Crysalis-Update werden die IRI-Nodes abgeschaltet und durch Hornet-Nodes ersetzt.
Hornet-Nodes
Ähnlich wie ein IRI-Node sollen Hornet-Nodes Full-Nodes sein. Das heißt, dass sie sich die gesamte Software des Tangles herunterladen und alle wichtigen Funktionen ausführen. Hornet-Nodes sollen an Geschwindigkeit den alten IRI-Nodes überlegen sein und weitere Verbesserungen mit sich bringen.
So verwendet Hornet das „Autopeering“, ein Plugin von GoShimmer. Dadurch ist es besonders einfach, eine Full-Node einzurichten und zu starten. Hornet-Nodes suchen dann ganz automatisch nach den passenden Nachbarn.
Hornet ist in Go geschrieben und wurde von der Community und der IOTA-Foundation gemeinsam entwickelt. Neben dem Autopeering verfügen Hornet-Nodes außerdem über „WarpSync“, mit dem sie sich bis zu sieben mal schneller mit anderen Nodes verbinden können. Dank dem „Hornet Coordinator Plugin“ können Nutzer und Unternehmen schnell private Netzwerke einrichten.
Die Hauptaufgabe von Hornet-Nodes bleibt immer noch die Validierung von Transaktionen und der Austausch der Transaktions-Daten mit anderen Nodes. Neben den Hornet-Nodes sind auch Bee-Nodes teil des Crysalis-Updates.
Bee-Nodes
Bei „Bee“ handelt es sich um eine Implementierung des Core Clients in der Programmiersprache Rust. Die Funktion von Bee ist der Aufbau einer Kommunikationsstruktur zwischen verschiedenen Softwarekomponenten. Gleichzeitig soll diese Struktur sehr modular und lose sein.
Zur Softwarearchitektur gehört ein Publish/Subscribe-Messaging-Dienst für die asynchrone Kommunikationen zwischen verschiedenen Softwaremodulen. Nutzer können dabei Nachrichten in einer Umgebung senden, ohne dass die Teilnehmer direkt etwas voneinander wissen oder sich abonnieren müssen.
Light-Nodes
Auch Light-Clients oder Light-Wallets genannt, haben diese Nodes die Aufgabe, eine Kommunikation zu Full-Nodes herzustellen. Sie speichern keine Transaktionen, sondern tauschen nur Transaktions-Informationen aus und rufen den aktuellen Stand des Netzwerkes ab.
Außerdem rufen sie zwei Transaktionen zur Validierung ab. Das ist notwendig, um selber eine Transaktion validiert zu bekommen. Man verwendet diese Art von Nodes für Wallets, deren Funktion lediglich darin besteht, MIOTA zu empfangen, aufzubewahren und zu versenden.
Local Snapshots
IOTA Nodes unterscheiden sich noch in einigen anderen Aspekten von den Nodes der anderen Blockchains. Eine wichtige Funktion ist der Snapshot. Da jeder Node seine eigene Transaktions-Historie aufzeichnet, verbrauchen sie theoretisch immer mehr Speicherplatz.
Der Snapshot hat die Aufgabe, regelmäßig alle Transaktionen zu löschen. Es bleiben nur Transaktionen mit einem Saldo von mehr als 0 zurück und eine Liste von Adressen mit Salden. Metadaten und Nachrichten verschwinden ebenfalls.
Nach dem Snapshot bilden die übrig gebliebenen Daten den Ausgangspunkt für den neuen Tangle. Full-Nodes können selber entscheiden, wenn sie einen „Local Snapshot“ durchführen. Dadurch können sie von selbst ihre Daten löschen und sich schneller mit anderen Nodes synchronisieren.
Permanodes
Einige Unternehmen haben ein Interesse daran, die Daten für einen längeren Zeitraum aufzubewahren. Zum Beispiel, wenn darauf Identitätsdaten gespeichert werden sollen. Dafür gibt es die Permanodes.
Die Permanodes erlauben es dem Betreiber des Nodes, selber festzulegen, wie lange die Daten gespeichert werden sollen. Dadurch wird der Snapshot ausgesetzt. In Zukunft sollen Bee-Nodes dazu in der Lage sein.
Konsens-Mechanismus
Einige Unternehmen haben ein Interesse daran, die Daten für einen längeren Zeitraum aufzubewahren. Zum Beispiel, wenn darauf Identitätsdaten gespeichert werden sollen. Dafür gibt es die Permanodes.
Die Permanodes erlauben es dem Betreiber des Nodes, selber festzulegen, wie lange die Daten gespeichert werden sollen. Dadurch wird der Snapshot ausgesetzt. In Zukunft sollen Bee-Nodes dazu in der Lage sein.
Wie betreibe ich einen IOTA Node?
Das Aufsetzen einer Full-Node mit IOTA ist noch immer ein aufwendiger Vorgang, der für Laien schwer nachzuvollziehen ist. Für Windows-User gibt es die Möglichkeit, ein Docker Image zu verwenden oder von GitHub die aktuelle Version herunterzuladen.
Um IOTA nach dem Einkauf verwenden zu können, braucht man allerdings keine Full-Node. Ein Light-Client wie eine Wallet reicht zum Empfangen, Versenden und Aufbewahren von MIOTA aus. Im Moment ist Trinity in Verbindung mit einer Hardware-Wallet die beste IOTA Wallet.