Einführung von Pollen: Das erste dezentrale Testnetz (IOTA 2.0)

30. Jun'20

Übersetzung des Blogartikel von Autor IOTA Foundation

 

 

Nach Jahren intensiver Forschung, strenger Tests und unermüdlicher Bemühungen unserer Entwickler sind wir stolz darauf, endlich alle einladen zu können, an diesem bedeutenden Meilenstein für das IOTA-Projekt teilzunehmen. Pollen markiert den Beginn des weltweit ersten wirklich dezentralen, skalierbaren und gebührenfreien Distributed Ledger, das was IOTA seit dem ersten Tag versprochen hat. Pollen ist die erste Phase der dreiteiligen Release-Strategie von IOTA , die in unserem koordinatorlosen, produktionsbereiten Netzwerk gipfeln wird: IOTA 2.0. Pollen ist ein sich schnell entwickelnder Forschungsprüfstand, auf dem die Community, Forscher und Entwickler die Konzepte von IOTA 2.0 testen und validieren können.

Sie können sich die neue Version herunterladen und das vollständige Änderungsprotokoll hier anzeigen .

Pollen stellt eine wesentliche Verbesserung gegenüber der vorherigen Version von Alphanet v0.1.3 dar. Wir zählen ungefähr 60000 Hinzufügungen und 25000 Löschungen zur Codebasis. Wir haben die Grundlage für ein funktionales Netzwerk ohne Koordinatoren geschaffen. Von hier aus verwandeln wir Pollen mit iterative Verbesserungen des Codes in den endgültigen, vollständigen Release-Kandidaten für IOTA 2.0.

 

 

Die heutige Veröffentlichung enthält die folgenden Aktualisierungen der Hauptfunktionen:

  • Fast Probabilistic Consensus - der neue Konsens-Algorithmus der IOTA für ein dezentralisiertes Netzwerk. Sie können das Forschungspapier hier lesen.
  • Werttransaktionen - Netzwerkteilnehmer können jetzt einen automatisierten faucet benutzen, um Tokens zu empfangen, Werttransaktionen zu senden (über eine Wallet) und die Konfliktlösung im Netzwerk zu testen.
  • Tokenisierte Vermögenswerte - Einzelpersonen können jetzt IOTA-Token mit verschiedenen Attributen "einfärben", die reale Vermögenswerte wie Gebäude, IoT-Geräte oder sogar Firmenkapital zu repräsentieren.
  • Integration von Prometheus und Grafana - Betreiber von Nodes können jetzt mehrere Metriken überwachen, indem sie ein Grafana-Dashboard aktivieren.
  • Gebührenfreie dApps - diese Version beinhaltet eine zukünftige Fähigkeit für das IOTA-Ökosystem: die Entwicklung von gebührenfreien dezentralisierten Anwendungen.

Wir haben auch die zuvor veröffentlichten Funktionen der letzten Version des Alphanet verbessert. Dazu gehören eine verbesserte Stabilität und Instrumentierung sowohl des Autopeering- als auch des Gossip-Moduls (Klatsch-Modul). Wir haben ein erweitertes Dashboard mit einem brandneuen Tangle Explorer und Visualizer erstellt. Der Analyseserver wurde von Grund auf überarbeitet, um nicht nur die Visualisierung und Analyse des Autopeering-Netzwerks zu unterstützen, sondern auch die Echtzeitaktualisierung des Fast Probabilistic Consensus-Protokolls in Aktion.

 

 

Unser Interesse an diesem Testnetz konzentriert sich eher auf das Gesamtverhalten des Netzwerks als auf seine Rohleistung und Benutzererfahrung. Wir werden schrittweise an Optimierungen und Verbesserungen in zukünftigen Iterationen arbeiten. Aus Sicht der Implementierung stecken die neu eingeführten Komponenten noch in den Kinderschuhen (z. B. Wallet Library, FPC) und einige Komponenten sind noch nicht optimiert (z. B. Gossip). Bitte beachten Sie, dass wir das Netzwerk von Zeit zu Zeit zurücksetzen, bis lokale Snapshots implementiert sind, um zu verhindern, dass die Datenbank zu stark wächst, und um mögliche Änderungen vorzunehmen.

Mit dieser neuen Version haben wir eine neue Architektur eingeführt, die aus drei separaten Schichten besteht: der Netzwerk-, der Kommunikations- und der Anwendungsebene. Diese neue Architektur bietet Unterstützung für zukünftige Funktionen wie Tokenisierung, skalierbare Smart Contracts, gebührenfrei dApps und Sharding.

Es gibt Parallelen zwischen unseren Schichten (Layer) und den obersten Schichten des OSI- Modells, obwohl wir den Leser vor tiefen Vergleichen warnen. Die Netzwerkschicht verwaltet Verbindungen und Paketübertragung zwischen Nodes. Die Kommunikationsschicht schafft eine standardisierte Plattform zum Speichern und Kommunizieren von Informationen. Entwickler können dann dezentrale Anwendungen auf der Anwendungsschicht entwerfen und gleichzeitig die unteren Schichten abstrahieren. Weitere Informationen hierzu finden Sie in unserem Blogpost „Ein Leitfaden für die kommende IOTA 2.0-Terminologie“.

 

 

Pollen besteht im Kern aus diesen Merkmalen:

  • Neues Message-Layout - Jede Message enthält die Hashes der Parents, Ausgabeinformationen ( ausgebende Node-ID, Zeitstempel, usw.), eine Payload, den PoW, eine Nonce und die Signatur des ausgebenden Nodes.
  • Binär - Da jetzt alles binär ist, haben wir eine neue konfigurierbare Proof of Work (PoW)-Bibliothek entwickelt, die in zukünftigen und iterativen Versionen auf unseren adaptiven PoW-Mechanismus umgestellt wird. Wir haben die Unterstützung für traditionelle Public-Key-Kryptographie auf der Basis elliptischer Kurven (z.B. Ed25519 und BLS) sowie binäre Hash-Funktionen wie SHA-256, SHA-512 und Blake2b integriert.
  • Ledger-Zustand & UTXO - Diese GoShimmer-Version wird mit einem völlig neuen Ledger-Zustand ausgeliefert, der auf einer erweiterten Version von UTXO basiert - dem auf Parallel-Realität basierenden Ledger-Zustand. Durch die Entkopplung von Konsens und Saldenverfolgung ermöglichen wir ein unübertroffenes Maß an Flexibilität und reduzieren die Messagekomplexität massiv, indem wir nur über Konflikte abstimmen.
  • FPC - Das Fast Probabilistic Consensus-Protokoll treibt den Konsens unseres Testnetzes voran. Für diese erste "Vanille"-Version des Protokolls lassen wir Nodes FPC auslösen, falls bei der Verfestigung Konflikte festgestellt werden. Die ersten Meinungen basieren auf den Ankunftszeiten der Messages. Neue Nodes, die online gehen, erhalten die Messages jedoch nicht in der richtigen Reihenfolge und können daher zu einer falschen Meinung kommen. In zukünftigen Versionen werden wir einen Synchronisationsmechanismus hinzufügen, der diese Diskrepanzen verhindern wird.
  • Zufälligkeit - Die von FPC verwendete Zufälligkeit wird lokal von jedem Nodes auf der Grundlage des Unix-Zeitstempels generiert. Genauer gesagt wird jede Minute in Epochen von 5 Sekunden eingeteilt. Es liegt auf der Hand, dass die durch diese Methode erzeugte Zufallszahlenfolge vorhersehbar und somit unsicher ist. Aufgrund ihrer Einfachheit und Unabhängigkeit vom Netzwerk oder einer anderen Komponente eignet sie sich jedoch sehr gut für einen ersten Test des FPC-Verhaltens. Die nächste Iteration wird sich auf ein Community-basiertes Komitee dRNG stützen.
  • Lokales Dashboard - Wir haben das Dashboard um einen brandneuen Tangle-Explorer, Tangle Visualizer und Faucet bereichert.
  • Grafana-Dashboard über Prometheus - Jeder Node-Operator kann das Prometheus-Plugin aktivieren und Grafana zur Anzeige von Metriken zum Netzwerkverkehr, Autopeering-Status, FPC-Statistiken und mehr verwenden.
  • Netzwerk-Verzögerungsanwendung - Wir werden periodisch eine spezifische Netzwerk-Verzögerungsmeldung an das gesamte Netzwerk senden. Dadurch werden die Nodes, die sie empfangen, veranlasst, den Zeitstempel des Empfangs an einen zentralen Logger zu senden, so dass wir periodisch die durchschnittliche netzwerkweite Verzögerung beurteilen und diese Information zur Optimierung der Abstimmung der FPC-Parameter verwenden können.
  • Wallet-Bibliothek - Wir stellen eine sehr einfache Wallet-Bibliothek zur Verfügung, damit Entwickler und Tester Token verschieben können. Sie können gerne mit einer Wallet-UI beitragen, die auf dieser Bibliothek basiert.
  • Faucet-App - Das GoShimmer-Dashboard wird mit einem Funktionsbereich für Faucet geliefert, so dass Sie Token an eine bestimmte Adresse anfordern können.
  • Client-Bibliothek & API - Tester, Entwickler und Node-Betreiber können über die Client-Bibliothek und/oder API mit einem GoShimmer-Node interagieren. Um mehr darüber zu erfahren, können Sie sich auf unserer Wiki-Seite informieren.
  • Analyse-Server - Wir haben auch den Analyse-Server verbessert. Dieser zeigt den Gesamtnetzwerkstatus an und hat einen brandneuen Bereich, der den Gesamtnetzwerkkonsens anzeigt - ein Echtzeit-Update des FPC-Ergebnisses zu jedem Konflikt. Diese Ergebnisse werden in einer Datenbank gespeichert, so dass wir zusammen mit unserer Community genügend experimentelle Daten sammeln können, um sie mit unseren früheren, durch Simulationen erzielten Ergebnissen zu vergleichen.

 

 

Wir haben ein Wiki geschrieben, um der Community die Möglichkeit zu geben, diese Version des Pollen Testnet zu testen und mehr darüber zu erfahren:

 

 

Mit unserer nächsten Hauptversion namens Nectar werden die verbleibenden Komponenten (wie Mana, Ratenkontrolle, adaptives PoW, um nur einige zu nennen) in unserem Testnetzwerk für ein voll funktionsfähiges Testnetz mit Anreizen veröffentlicht.

Pollen ist ein wichtiger Meilenstein für IOTA 2.0. Dies ist ein wesentlicher Schritt beim Testen der Kernideen des vollständig dezentralen IOTA-Netzwerks.

Wir freuen uns darauf, Sie auf diese aufregende Reise mit Pollen mitzunehmen und hoffen, dass Sie die Entwicklung dieses Projekts genauso genießen werden wie wir. Wie immer freuen wir uns über Ihre Kommentare und Fragen entweder hier auf Medium oder im #tanglemath-Kanal auf unserer Discord. Sie können auch an der #goshimmer-Diskussion über Discord teilnehmen.