Archiv IOTA Nodes

TL;DR:

Das Betreiben einer Node auf dem IOTA Tangle und das Validieren von Transaktionen gibt den Nutzern – ob Unternehmen oder Privatpersonen – die Möglichkeit, die Infrastruktur zu nutzen und davon zu profitieren, ohne jemanden dafür bezahlen oder um Erlaubnis von dritten Vermittlern bitten zu müssen. Es stellt auch sicher, dass die Infrastruktur stärker und dezentraler wird, wovon alle Teilnehmer, einschließlich jeder Einzelperson, profitieren.

Was ist eine Node?

Wie bei jeder anderen Distributed-Ledger-Technologie oder Blockchain gibt es auch für das Distributed Ledger von IOTA (bekannt als “Tangle”) sogenannte Nodes: Computer, die sich über Software mit anderen Computern im Tangle verbinden und als Verbindungspunkte für Datenübertragungen dienen. Diese Software erlaubt den Zugang zum Tangle und ermöglicht die Validierung von Transaktionen sowie die Speicherung von Transaktionen in ihrer lokalen Datenbank, als ständige Spiegelung der Messages im Tangle.

Die von den Nodes geführte lokale Datenbank ist ihr “Ledger”, in dem alle Transaktionen und Salden festgehalten werden. Die Nodes teilen ihr Ledger mit ihren Peers, was das Ledger zu einem ” Distributed Ledger ” macht.

Der IOTA Tangle arbeitet mit verschiedenen Arten von Nodes, um eine selektive Historie des Ledgers zu führen. Diese Nodes sind:

1) Full-Nodes (Hornet, Bee): Dieser Nodes speichern mehrere Transaktionen in ihrer lokalen Datenbank. Der Eigentümer der Node entscheidet, wie viele Transaktionen abgesehen von dem absoluten Minimum, das zur Aufrechterhaltung der Ledger-Konsistenz erforderlich ist, gespeichert werden sollen (im Wesentlichen “Token-Salden”). Dies ermöglicht 

  • den Betrieb einer Node in einem Rechenzentrum, in dem mehr Speicherkapazität vorhanden ist,
  • das eine Node in Edge-Szenarien mit geringen Systemanforderungen betrieben werden, wo die Historie der Transaktionen keine Rolle spielt, da IOTA als Echtzeit-/Nahzeit-Datenübertragungsprotokoll verwendet wird. Die Node würde nur dazu verwendet werden, auf bestimmte Ereignisse im Tangle zu warten oder Transaktionen zu senden. Sie können große Teile der Historie ausblenden und sich nur auf neuere Ereignisse im Ledger-State konzentrieren, um die Hardware-Anforderungen auf ein Minimum zu reduzieren.

Hornet (IOTA 1.5) ist eine Implementierung des Core Clients in der Programmiersprache Go. Ziel ist es  einen neuen Core Client zu haben welcher mit einer deutlich gesteigerten  Leistung massiv zur Skalierung des Netzwerks beitragen soll. Hornet wird  die Architektur und das modulare Konzept von GoShimmer verwenden und ist  für Low-End-Geräten wie einem Raspberry Pi vorgesehen, zudem läuft der Koordinator  als Plugin auf einer  Hornet-Node.    

Bee (IOTA 2.0) ist die Produktionsreife Implementierung des Core Clients ohne Koordinator in der Programmiersprache Rust. Alle vorherigen Entwicklungen und Ideen aus IRI,  Ict, Hornet und Go Shimmer werden zu einer einheitlichen Plattform  zusammengeführt. Bee wird nicht nur eine Node-Software, es wird ein Art  Plattform, welche auch für Clients oder Anwendungen genutzt werden kann.  

Warum haben gibt es unterschiedliche Software Implementierungen für Full-Nodes? 

Dies tut man, um Resilienz gegen Fehler in der Node-Software zu erreichen und somit widerstandsfähig gegen Bugs zu werden. Durch die unterschiedlichen Node-Software Implementierungen von mehreren Teams, wird der single-point-of-failure bei der Node-Software eliminiert, wenn eine dieser Implementierungen defekt ist, fallen nur die Nodes aus der Synchronisation, die diese Software verwenden, die restliche Nodes laufen weiter.

Bei IOTA werden die “Bee”- und “Hornet”-Nodes von unterschiedlichen Teams in unterschiedlichen Programmiersprachen implementiert, es ist sehr unwahrscheinlich, dass zwei Teams genau denselben Fehler machen. Zudem hilft es auch bei der Standardisierung in der Industrie und bei den Bemühungen einer vollständigen Dezentralisierung, denn diese wird im Grunde auch nur durch eine “Dezentralisierung der Node-Implementierungen” erreicht. 

2) Permanodes (Chronicle): Ein Permanode ist immer mit einem Full Node verbunden und speichert alle vom Full Node empfangenen Transaktionen. Er kann große Datenmengen speichern und ist gleichzeitig für den Lesezugriff optimiert: Während es sehr lange dauert, z. B. eine Million Ereignisse von einer Full Node abzufragen, macht eine Permanode das Ledger wie eine Datenbank durchsuchbar und bietet eine sehr hohe Leistung, um Millionen von Transaktionen in Bruchteilen von Sekunden abzufragen. Da wir davon ausgehen, dass der Datenverkehr im Internet der Dinge in den nächsten Jahren enorm zunehmen wird, was zu großen Speicherkapazitäten führt, die benötigt werden, um jede IOTA-Transaktion global zu speichern, arbeiten wir auch an einer “selektiven Permanode”, bei der der Eigentümer festlegen kann, welche Transaktionen mit kryptografischer Integrität gespeichert werden sollen, um den benötigten Speicherplatz drastisch zu reduzieren. Da eine Permanode die Historie beibehält und gleichzeitig einen schnellen Lesezugriff ermöglicht, kann sie beispielsweise dazu verwendet werden, große Datensätze von digitalen Zwillingen oder digitalen Identitäten in sehr kurzer Zeit abzufragen.

3) Smart Contracts-Nodes (Wasp): Diese Nodes sind Teil einer oder mehrerer paralleler Blockchains, die im IOTA Tangle verankert sind. Sie führen Smart Contracts in einer konfigurierbaren virtuellen Maschine (zunächst Ethereum Virtual Machine und Rust/WASM) aus und können sowohl öffentlich als auch privat (zum Beispiel für ein Konsortium) eingerichtet werden. Wenn rechenintensive Berechnungen durchgeführt werden, wird in der Regel eine Gebühr für diese Ressourcen vom Eigentümer der Chain erhoben. Ein Konsortium könnte beschließen, auf diese Gebühr für seine eigenen Smart Contracts zu verzichten. Im Gegensatz zu Ethereum muss nicht jede Node jeden verfügbaren Smart Contract ausführen und bestätigen; stattdessen wird ein Smart Contract auf einer Chain eingesetzt (während es auf IOTA viele Chains geben kann), und der Besitzer der Chain entscheidet über die Größe des Quorums. Dadurch werden die Gesamtgebühren für Smart Contracts drastisch gesenkt.

Die folgende Abbildung zeigt, wie die verschiedenen Knotentypen interagieren und die IOTA-Infrastruktur bilden:


Warum eine Node betreiben?

Als Anreiz für die Nutzer, Nodes auf einem Server in einem Rechenzentrum oder auf ihren Computern zu betreiben, bieten andere Blockchain-basierte DLTs entweder direkte oder indirekte finanzielle Belohnungen. Diese Belohnungen kommen in Form von Mining-Belohnungen (für diejenigen, die den Schritt vom Betreiben einer Node zum Blockchain-Miner machen), Staking-Belohnungen (für aktive Teilnehmer an der Transaktionsvalidierung auf einer Proof-of-Stake-Blockchain), Provisionsgebühren für Validator Nodes ( Node-Betreiber, die eine Kopie der Blockchain speichern und bestimmte Funktionen ausführen müssen, um das System sicher zu halten) und so weiter.

IOTA hingegen bietet keine direkten finanziellen Anreize für den Betrieb einer Node. Wie werden also die Nutzer dazu angeregt, sich durch den Betrieb von Nodes zu beteiligen? Was springt für die Benutzer dabei heraus?

Es läuft alles auf den Wert von IOTA als Infrastruktur hinaus: Der Anreiz, eine Node zu betreiben, besteht darin, einen vertrauenswürdigen Zugangspunkt zum DLT unter der eigenen Kontrolle zu haben und nicht auf öffentliche Nodes angewiesen zu sein. Für Unternehmen ist die Node ein Teil des unternehmenseigenen Anwendungs-Stacks, ähnlich wie ein Unternehmen eine Datenbank, einen Webserver oder einen Anwendungsserver als Teil seines Produkts oder seiner Dienstleistung betreibt.

Diese Ebene des Zugriffs auf die IOTA-Infrastruktur wird für Kryptowährungsenthusiasten, die nur ein paar seltene Transaktionen durchführen, wahrscheinlich nicht notwendig sein. Den Benutzern einen Anreiz zu geben, eine Node zu betreiben, um Blockchains aufrechtzuerhalten, die nur selten von einigen wenigen Endbenutzern verwendet werden, ist unnötig und hat den zusätzlichen Nachteil, dass die Endbenutzer Gebühren für die Aufrechterhaltung der Infrastruktur zahlen müssen, unabhängig davon, ob jemand sie verwendet oder nicht.

Bei IOTA sind die Nutzer, die Zugang zur Infrastruktur benötigen, diejenigen, die Nodes für sich oder ihre Kunden unterhalten. Anstatt dass eine Partei Gebühren zahlt, damit eine andere Partei einen Gewinn erzielen kann (wie es bei allen gebührenpflichtigen Blockchains der Fall ist), bleiben sowohl die Kosten als auch die Vorteile der Nutzung von IOTA in den Händen der gleichen Gruppe von Nutzern.

IOTA-Nodes sind leichtgewichtig und können innerhalb von Sekunden in Betrieb genommen und mit dem IOTA-Netzwerk verbunden werden, während sie nur fünf Dollar pro Monat kosten. Das macht die Kosten für den Betrieb einer Node vernachlässigbar für Unternehmen, die darauf angewiesen sind, und zugänglich für Enthusiasten, die einen öffentlichen Dienst anbieten oder einfach zum Konsens, zur Sicherheit und zur Dezentralisierung des IOTA-Netzwerks beitragen wollen.

Damit wird die Vision der IOTA Foundation von einem konkurrenzlosen, erlaubnisfreien Netz des Vertrauens verwirklicht, das Menschen und Unternehmen befähigt, vertrauenswürdige Werte und Daten in großem Umfang, gebührenfrei und erlaubnisfrei zu teilen. Diese Vision hängt von der Anzahl der Nodes ab, die den Tangle betreiben.

Es ist ein perfektes Beispiel für das Metcalfesche Gesetz, bei dem der Wert eines Netzwerks exponentiell mit der Anzahl der Nutzer wächst – und das alles bei sehr geringem Aufwand für die Node-Betreiber.

Die Hürde für die Teilnahme am Netz ist niedrig. Dies ist ein wichtiger Teil der Vision der IOTA Foundation für eine zugängliche und gerechte maschinenbasierte Wirtschaft. Der Akt der Validierung vorangegangener Transaktionen erfordert nur minimalen Aufwand, und ohne energieintensives Mining reicht ein normaler Netzwerkanschluss und ein Server, Desktop oder sogar ein Einplatinencomputer wie der Raspberry Pi 4 mit einem kleinen Solid State Drive (SSD) aus (obwohl nicht empfohlen). Im Gegensatz zu dem vernachlässigbaren Aufwand, der für die Teilnahme erforderlich ist, werden die Belohnungen für die Unterstützung des IOTA Tangle sofort noch attraktiver.

Um Ihnen einen schnellen Überblick zu verschaffen, führen wir hier die wichtigsten Anreize für den Betrieb von Nodes auf dem IOTA Tangle auf:

  • Der Betrieb einer Node gibt Ihnen Zugang zum Netzwerk. Sie würden Ihr Unternehmen nicht vollständig auf das Wifi in Ihrem örtlichen Café verlassen, um Zugang zum Internet zu erhalten, und Sie sollten sich nicht vollständig auf die Nodes anderer Leute verlassen, um Zugang zu IOTA zu erhalten, insbesondere wenn Sie IOTA für professionelle Zwecke nutzen.
  • Der Betrieb einer Node gibt Ihnen 100%ige Kontrolle über Ihre Verbindung zum Tangle. Anstatt sich auf den Node eines anderen zu verlassen, bei dem es zu Ausfallzeiten kommen kann, bedeutet ein eigener Node, dass Sie sich die Bandbreite sichern, um Transaktionen für Sie oder Ihre Kunden ohne Verzögerungen durchzuführen.
  • Sie erhalten einen direkten und schnellen Zugang zu den Daten im Tangle, um sie zu analysieren oder bestimmte Aktionen in Abhängigkeit vom Zustand des Ledgers (z. B. wenn eine Werttransaktion eintrifft) für alle Transaktionen, die er speichert, auszulösen. Mit dem Zugang nur zu den Endpunkten der öffentlichen Nodes wären die Anwendungen eingeschränkt.
  • Es gibt vollständige Kontrolle über die Speicherung Ihrer Transaktionshistorie
  • Nach der nächsten Aktualisierung von IOTA 2.0, die als “Coordicide” bekannt ist, werden die Nodes jedes Mal, wenn sie eine Transaktion verarbeiten, “Mana” sammeln und damit ihren Status als vertrauenswürdige Akteure überprüfen. In Zukunft könnte dieses Mana an andere Nutzer vermietet werden, um ihnen den Zugang zum Netzwerk mit hoher Priorität zu ermöglichen.
  • Das Netzwerk gebührenfrei halten: Eines der größten Hindernisse für die branchenweite Masseneinführung von Blockchain ist die Realität der Verwaltung von Kryptowährungen und deren rechtliche und regulatorische Auswirkungen sowie die volatilen und oft astronomischen Gebühren, die bei der Verarbeitung großer Transaktionsmengen anfallen. Durch den Verzicht auf Drittparteien, die für die Validierung von Transaktionen bezahlt werden, und die stattdessen die Integrität des Tangle durch Nutzer mit Nodes validieren, umgeht IOTA dieses Hindernis und ist damit der ideale Kandidat, um die Maschinenwirtschaft im Internet der Dinge voranzutreiben, ohne sich um die Einhaltung gesetzlicher Vorschriften sorgen zu müssen, was von vielen unserer Industriepartner bestätigt wird.
  • Das Netzwerk bleibt erlaubnisfrei: Die erlaubnisfreie Lösung von IOTA bedeutet, dass es keine Drittparteien gibt, die für die Validierung von Transaktionen und die Sicherung der Integrität des Ledgers bezahlt werden. Wenn Sie als Betreiber einer Node eine Transaktion auf IOTA durchführen, validieren Sie zwischen zwei und acht vorherige Transaktionen. Im Gegenzug wird Ihre Transaktion von anderen überprüft, die wiederum ihre Transaktionen von zukünftigen Nutzern überprüfen lassen…. Und so weiter und so fort. Jede neue Transaktion steht für mehr Vertrauen, Transparenz und Wachstum und erhöht die Gültigkeit aller vorherigen Transaktionen und die Sicherheit des Ledgers als Ganzes.
  • IOTA hat so viele Nodes, wie die Menschen, die Zugang zum Netzwerk benötigen, benötigen. Wenn Sie Zugang zum Netzwerk haben wollen, richten Sie eine Node ein. Wenn Sie keinen Zugang wollen, richten Sie keinen Node ein. Dadurch bleibt die Anzahl der Nodes bei IOTA organisch und basiert nicht auf willkürlichen Zahlen, die durch monetäre Anreize bestimmt werden und von Einzelpersonen, die einen schnellen Profit machen wollen, angetrieben werden.

Während es also keinen monetären Anreiz gibt, eine Node zu betreiben, gibt es sogar noch stärkere Anreize, die dem Netzwerk innewohnen: Wenn Sie einen uneingeschränkten Zugang ohne lags oder Verzögerungen benötigen, oder der nicht von der Erlaubnis anderer abhängt; wenn Sie Daten abfragen wollen; wenn Geschwindigkeit, Sicherheit und Zugang für Sie wichtig sind – dann haben Sie reichlich Anreiz, Ihre eigene Node zu betreiben.

Quellen

https://blog.iota.org/incentives-to-run-an-iota-node/