Stand der IOTA-Forschung – April 2020

Original by Serguei Popov: https://blog.iota.org/iota-research-status-update-april-2020-f1c3576b57db (16.04.2020)

Wir freuen uns, Ihnen die neuesten Nachrichten aus der IOTA-Forschungsabteilung mitzuteilen. Wir hoffen, dass Ihnen die Präsentationen zur Einführung in die Coordicide-spezifikationen, die wir kürzlich veröffentlicht haben, gefallen haben. Nachstehend finden Sie die neuesten Updates zu unseren Fortschritten.

Sitzung „Benennung“

Mehrere Forscher trafen sich mit weiteren Mitgliedern der Stiftung, um viele der neuen Coordicide-Strukturen zu benennen. Dies mag trivial erscheinen, ist aber aufgrund ihrer Bedeutung und Dauerhaftigkeit tatsächlich schwierig. Sowohl interne als auch externe Entwickler müssen verstehen, wie IOTA funktioniert, damit sie Anwendungen erstellen können. Abgesehen von der Verlangsamung der Produktion kann ein unintuitives Benennungsschema sogar die Annahme behindern, indem es Menschen davon abhält, auf der IOTA-Plattform aufzubauen.

Wir haben gute Fortschritte gemacht. Da wir davon ausgehen, dass der größte Teil des Datenverkehrs im IOTA-Netz aus „0-Wert-Transaktionen“ bestehen wird, haben wir vorläufig beschlossen, die Objekte im Tangle in „Nachrichten“ statt in „Transaktionen“ umzubenennen. Jede Nachricht enthält eine Nutzlast, und wir haben Namen für mehrere der Kernnutzlasttypen entwickelt. Zusätzlich zu den Kernnutzlasten können Benutzer ihre eigenen Nutzlasttypen definieren, die nicht von allen Knoten verarbeitet werden müssen. Mit diesem flexiblen Nachrichten-/Payload-Format kann IOTA eine Vielzahl von Anwendungen bedienen.

In Verbindung mit dem Benennungsprozess stehen wir kurz davor, das Layout der Nachrichten und einiger Kernnutzlasten auf hohem Niveau abzuschließen. Um die Dinge beim Namen nennen zu können, müssen wir verstehen, was wir benennen. Dies ist ein wichtiger Schritt zur Entwicklung eines standardisierten Protokolls.
Wir gehen davon aus, dass die Terminologie bis zur nächsten Aktualisierung fertig gestellt und veröffentlicht sein wird.

Spezifikationen

Wir haben große Fortschritte bei den Spezifikationen von Coordicide gemacht und arbeiten derzeit an den Blaupausen und einem gelben Papier. Mike Bennett von der OMG und unser Leiter der Normung unterstützt diesen Prozess. Die Arbeit an GoShimmer (erste Implementierung von Coordicide) ist in vollem Gange, und wir beabsichtigen, in einigen Wochen das erste Testnetz zu starten. Dies ist eine gemeinsame Arbeit des Forschungs- und Ingenieurteams. Um beide Teams auf der theoretischen Ebene aufeinander abzustimmen, haben wir eine Reihe von Präsentationen entwickelt, in denen wir kurz erläutern, welche Themen in der Hauptspezifikationsdatei erscheinen sollen. Die Präsentationen wurden recht gut aufgenommen und ermöglichten es den Ingenieuren, gemeinsam mit den Forschern an jedem Thema zu arbeiten. Mit dem Schreiben der Spezifikationen wurde begonnen, und wir hoffen, im kommenden Monat eine große Weiterentwicklung zu erreichen.

Vernetzung

Wir haben eine erste Komplettlösung zur Bewältigung von Netzwerküberlastungen fertiggestellt. Insbesondere besteht unser Protokollvorschlag aus zwei Modulen, die die Tarifkontrolle ergänzen: (i) Terminierung, bei der Transaktionen, die von bestimmten Knoten ausgegeben werden, Vorrang eingeräumt wird, um den Durchsatz proportional zum Mana zu teilen; (ii) Tarifgestaltung, die sich mit der lokalen Überlastung befasst und von der AIMD inspiriert ist. Gegenwärtig führen wir umfangreiche Simulationen durch und vergleichen sie auch mit bestehenden Terminierungsrichtlinien und Staukontrollalgorithmen. Unsere Ergebnisse zeigen, dass Fairness garantiert ist und die Latenzzeit begrenzt ist. Wir planen nun, eine „Packet-Drop-Politik“ zur Behandlung von Transaktionsbursts hinzuzufügen und anschließend zu evaluieren, wie sich diese Politik auf die Konsistenzanforderung auswirkt.

Was den adaptiven PoW-Algorithmus betrifft, so haben wir das so genannte Kollisionsproblem gelöst, indem wir Sequenznummern entfernt haben (mehr dazu können Sie hier lesen). Das Protokoll ist bereit für Spezifikationen. Zusätzlich untersuchen wir im Zusammenhang mit VDFs niedrigere Grenzen für die Anzahl der Gate-Operationen, die zur Lösung modularer Quadrierungen erforderlich sind, was Schätzungen der physikalischen Grenzen zur Lösung einer VDF liefern wird. Unser Vortrag über IOTA und VDFs auf der Stanford Blockchain Conference ist auf YouTube verfügbar.

dRNG

Wir schlossen den Großteil der Konzeptarbeit an einem dezentralen Zufallszahlengenerator (dRNG) für das IOTA-Netzwerk ab. Unsere Arbeit beinhaltete die Anpassung und Justierung des „drand-Protokolls“, damit es in der DLT-Umgebung ohne Erlaubnis funktioniert. Wir entwarfen ein spezielles Tangle-Nachrichten-Layout, das die Auswahl durch den Ausschuss, die verteilte Schlüsselgenerierung und die nahtlose Erfassung der Zufälligkeit ermöglicht.

Im Moment ist das Hauptaugenmerk unserer Gruppe darauf gerichtet, die Spezifikation für die Entwickler zu schreiben. Wir entwickeln jedoch auch zusätzliche Sicherheitsmerkmale von IOTA dRNG. Die endgültige Spezifikation soll Backup-Zufallsgeneratoren sowie Mechanismen zur Erkennung von Ausschussfehlern und Methoden zur Benennung des neuen Ausschusses enthalten.

GoShimmer-Implementierung

Unsere Gemeinschaft hat uns beim Testen unseres Prototyps enorm geholfen, und als Ergebnis haben wir v0.1.3 veröffentlicht, die mehrere Fehlerbehebungen, verbessertes Autopeering und Dashboard und mehr Stabilität enthält.

In der Zwischenzeit hat das GoShimmer-Team an der bevorstehenden nächsten Version v0.2.0 gearbeitet. 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.

Die Goshimmer-Modularität hat durch die Implementierung eines schichtenbasierten Ansatzes weitere Fortschritte gemacht. Obwohl die Benennung der Schichten noch nicht abgeschlossen ist, können wir Ihnen einen kleinen Einblick geben: Die erste Schicht befasst sich mit Nachrichten; jede Nachricht enthält einige Metadaten wie Stamm, Zweig, Zeitstempel und andere Informationen zur Identität des Emittentenknotens sowie eine Nutzlast. Jede Nutzlast hat einen Typ und einige Daten. Aufgrund ihres Typs (z.B. dRNG-Typ, Werttransaktion) können die enthaltenen Daten entsprechend interpretiert werden. Diese „Interpretations“-Schicht ist unsere zweite Schicht. Darüber haben wir die „Anwendungs“-Schicht, wo ein Protokoll die von der darunter liegenden Schicht bereitgestellten Informationen nutzen kann. So könnte zum Beispiel ein intelligentes Vertragsprotokoll über dem Werte-Tangle implementiert werden (d.h. das Protokoll, das die Werttransaktion implementiert), oder ein dezentralisiertes Lotterieprotokoll über dem dRNG-Protokoll.

Werttransaktionen und das UTXO-Modell sind nun im Entwicklungszweig abgeschlossen. Wir verbinden auch das FPC-Protokoll mit dem Werte-Tangle, so dass widersprüchliche Transaktionen durch Abstimmung gelöst werden können. Eine Wasserhahnanwendung wird es den Benutzern ermöglichen, Mittel zu Testzwecken anzufordern.
Das dRNG wurde ebenfalls in seine erste Iteration integriert: Ausschussmitglieder werden eine IOTA-Version der drand-Anwendung betreiben und „kollektive Baken“ über einen GoShimmer-Knoten an das Netzwerk senden. Jeder Knoten wird in der Lage sein, die Korrektheit der „collective beacons“ zu verifizieren, indem ihre Signatur mit dem verteilten öffentlichen Schlüssel verglichen wird (d.h. dem öffentlichen Schlüssel, der aus den öffentlichen Schlüsseln aller Ausschussmitglieder abgeleitet wird).

Schließlich haben wir an einigen kleineren Verbesserungen gearbeitet: ein besserer Netzwerk-Visualisierer, sowohl auf der Client- als auch auf der Server-Seite; ein Plugin-Manager, der es Entwicklern erlaubt, GoShimmer-Plugins einfach hinzuzufügen und zu verwalten; automatisierte Integrationstests; ein flexibleres Autopeering, das frühere NAT- und Reverse-Proxy-bezogene Einschränkungen aufhebt.

FPC

In der FPC-Gruppe arbeiteten wir weiter an Optimierungen der FPC. Simulationsstudien zeigen, dass diese Anpassungen die Ausfallrate um mindestens eine Größenordnung senken. Gegenwärtig fassen wir diese Ergebnisse in einem Forschungspapier zusammen; das Video gibt Ihnen vielleicht einen ersten Eindruck von unserem Ansatz und von der Art der Ergebnisse, die wir zeigen können. Die Spezifikationen von FPC sind weit fortgeschritten und die restlichen Details werden in Zusammenarbeit mit dem Ingenieurteam festgelegt.

Mana und Autopeering

Die Mana- und Autopeering-Projekte beginnen sich zu beruhigen. Wir diskutierten die letzten Fragen bezüglich der Spezifikationen und trafen einige endgültige Designentscheidungen.

Wir haben auch die Arbeit an unseren Forschungsarbeiten fortgesetzt. Wir haben beschlossen, zwei Arbeiten zu schreiben: eine Analyse unserer Simulationen, die wir mit unserem GoShimmer-Simulator durchgeführt haben. Die zweite wird unsere mathematischen Berechnungen enthalten. Wir hoffen auch, einen Konferenzband zu verfassen, der die Ergebnisse in diesen beiden Papieren zusammenfasst.

Wir haben jetzt noch drei Aufgaben:

  1. Schreiben der Spezifikationen
  2. Beendigung unsere Forschungsarbeiten
  3. Die Parameter einstellen

Obwohl die erste Aufgabe eindeutig die wichtigste ist, erwarten wir weitere Fortschritte bei unseren Papieren. Wir haben beschlossen, mit der Erforschung der endgültigen Parameter zu warten, bis wir mit der Spezifikation fertig sind.

Protokoll

Die Protokollgruppe befasste sich in diesem Monat mit dem Problem der Endgültigkeit des Tangle, wo wir eine Reihe von Instrumenten entwickelt haben, mit denen der Benutzer die Sicherheit seiner Transaktionen überprüfen kann. Wir erörterten auch Optimierungen und die Frage, wie die Finalität mit vertretbarem Rechenaufwand kalkulierbar gemacht werden kann. Wir sind dabei, Wahrscheinlichkeitswerte für die Finalitätstools zu bestimmen, so dass wir genau wissen, wie sicher wir sind. Der nächste Schritt der Gruppe wird darin bestehen, die Engpässe zu bestimmen, die im gegenwärtigen Ansatz optimiert werden müssen, indem das Verarbeitungsverfahren eines Knotens analysiert wird, sowie mit dem Schreiben der Spezifikationen zu beginnen.

Wir freuen uns darauf, Ihnen bald weitere Neuigkeiten mitzuteilen! Wie immer können Sie sich über das IOTA-Forschungsteam im Kanal #tanglemath auf unserem Discord auf dem Laufenden halten. Und Sie sind herzlich eingeladen, unsere technischen Diskussionen in unserem öffentlichen Forum zu verfolgen und daran teilzunehmen: IOTA.cafe.

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.