GoShimmer

GoShimmer ist ein in Arbeit befindlicher Prototyp einer Node-Software, mit der Nodes ohne den Koordinator einen Konsens erzielen können, sodass IOTA-Netzwerke dezentralisiert werden können.

Durch Ausführen eines GoShimmer-Node können Sie die neuesten Entwicklungen in der nächsten Stufe des IOTA-Protokolls testen. GoShimmer ist ein Prototyp einer Node-Software, die die Forschungsabteilung entwickelt, um Coordicide zu testen. Wenn alle Module verfügbar sind, werden die GoShimmer-Nodes zum Coordicide-Testnetz, das ein Release-Kandidat für das nächste IOTA-Protokoll ist.


Der Code in GoShimmer ist modular aufgebaut, wobei jedes Modul entweder eine der Coordicide-Komponenten oder eine grundlegende Node-Funktion. Dieser Ansatz erlaubt es uns, jedes Modul parallel zu entwickeln und GoShimmer mit einer oder mehreren verschiedenen Versionen zu testen.


Implementierte Coordicide Module

Der Hauptzweig ist die stabile Version der GoShimmer-Software, die einen minimalen Satz von Modulen enthält, mit denen Sie Nullwert-Transaktionen versenden und weiter klatschen (engl. gossiping) können.

  • Node–Identitäten
  • Autopeering


Das Autopeering-Modul ist in zwei Untermodule unterteilt:

  • Peer-Erkennung: Verantwortlich für Vorgänge wie die Entdeckung neuer Peers und die Überprüfung ihres Online-Status
  • Auswahl des Nachbarn: Verantwortlich für die Suche und Verwaltung von Nachbarn


In Arbeit befindliche Module:

  • Mana: Der Mana-Branch enthält eine erste Implementierung des Mana-Moduls im Paketverzeichnis.
  • Cellular Consensus: Der ca-Branch enthält eine erste Implementierung des Moduls “Cellular Consensus” im Paketverzeichnis.
  • Fast Probabilistic Consensus: Der fpc-Branch enthält eine erste Implementierung des Moduls Fast Probabilistic Consensus im Packages-Verzeichnis. Wir haben auch einen eigenständigen FPC-Simulator in diesem Repository.
  • Spam-Schutz: Sie finden den ersten Simulationsquellcode der Ratenkontrolle in diesem Repository und den Quellcode des Adaptive Proof of Work-Simulators hier.
  • Ledger-Status: unter Verwendung des UTXO-Modells.