Der Weg zu Chrysalis

Eine der Hauptaufgaben der IOTA Foundation besteht darin, eine Entwicklungs-Roadmap, die mit der Strategie der Foundation übereinstimmt, zu definieren sowie umzusetzen und dadurch die Produktionsbereitschaft und Akzeptanz des IOTA Protokolls zu erreichen.

Das IOTA-Mainnet ist seit 2016 in Betrieb und die gesamte Engineering-Strategie hat sich (basierend auf der Nachfrage und dem Feedback aus der Branche) erheblich weiterentwickelt.

Die Fortschritte in der Coordicide-Forschung haben dazu geführt, dass viele Konzepte identifiziert wurden, die schon jetzt in das aktuelle IOTA-Mainnet implementiert wurden, um den Benutzern des Protokolls schon vor dem Coordicide einen erheblichen Mehrwert zu bieten. Unsere Entwicklungsstrategie bezüglich Chrysalis wurde angepasst. In diesem Zusammenhang konnten eine Reihe von Upgrades des Protokolls durchgeführt werden, um die Produktionsfähigkeit (Production Readiness) des Protokolls schon vor dem Coordicide zu gewährleisten.

Der Vorteil dieses Ansatzes besteht darin, dass viele Protokolleigenschaften, die gleich oder fast gleich zum Coordicide-Netzwerk sein werden, bereits heute implementiert sind. Dies führt dazu, dass der Coordicide viel einfacher umgesetzt werden kann und bereits frühzeitig ein besseres Set an Entwicklertools zur Verfügung steht.

Die beabsichtigten Ergebnisse für Chrysalis:

  • Einfacherer Übergang zum Coordicide – Da der Coordicide erhebliche Fortschritte gemacht hat, können wir sicherstellen, dass alle Entwickler und Unternehmen, die ihre Produkte auf Chrysalis aufbauen, einen möglichst reibungslosen Übergang zum Coordicide Netzwerk haben werden.
  • Erhebliche Leistungsverbesserungen - Mit den von Chrysalis eingeführten Änderungen haben wir eine wesentliche Verbesserung der Skalierbarkeit und Zuverlässigkeit des IOTA Mainnets erreicht.
  • Verbesserte Entwickler- und Benutzererfahrung - Die neuen Protokollfunktionen und die neuen Bibliotheken, auf denen man aufbauen kann sowie die neue Brieftasche (Wallet) machen IOTA zu einer der besten Plattformen. Diese Neuerungen beseitigen konkrete Schwierigkeiten, die Entwickler heute erleben, während die Lösungen, die auf dem IOTA Protokoll aufbauen, zugleich eine bessere Benutzererfahrung bieten.
  • Beschleunigte Adaption - Chrysalis hat IOTA 'Enterprise-Ready' gemacht. Es handelt sich dabei um ein zukunftssicheres, stabiles Protokoll mit einem zuverlässigen Satz von Entwicklertools und Frameworks, die es Startups, Unternehmen und Regierungen schon jetzt ermöglichen, Produkte zu entwickeln und auf den Markt zu bringen, welche auch zukünftig von IOTA unterstützt werden.

Die Phasen von Chrysalis

Das Chrysalis-Upgrade war ein komplexes Unterfangen. Wir mussten eine Reihe verschiedener Produkte koordinieren, um einen reibungslosen Übergang für die aktuellen Benutzer und Partner von IOTA zu gewährleisten. Neben der Core-Node-Software mussten wir auch unsere Wallet-Software, unsere Bibliotheken und die gesamte Infrastruktur aktualisieren.

Eine weitere wichtige Anforderung war es, den einfachen Übergang zum zukünftigen Coordicide-Netzwerk zu gewährleisten. Durch die sorgfältige Planung der dabei eingeführten "Breaking Changes" und die Unterstützung unserer Entwicklertools stellten wir sicher, dass unser wachsendes Ökosystem aus Entwicklern, Startups und Unternehmen zuverlässig neue innovative Produkte auf IOTA entwickeln und auf den Markt bringen kann.

Der Plan zur Umsetzung von Chrysalis gliederte sich in zwei Phasen.

Die erste Phase bestand aus einer verbesserten Tip-Selection-Auswahl (URTS), einer verbesserten Meilensteinauswahl und aus einem White-Flag Ansatz. Diese Verbesserungen wurden nach und nach in die Nodesoftware implementiert. Diese erste Phase erforderte ein Upgrade aller Nodes, einschließlich die des Koordinators. Sie erforderte allerdings keinen Snapshot.

Die erste Phase von Chrysalis führte zu:

  • Transaktionsbestätigungszeiten von etwa 10 Sekunden
  • Transaktionen, die stabil verarbeitet werden und nur noch selten erneut an den Tangle angehängt (reattached) werden müssen
  • Einem erheblichen Anstieg an TPS (Transaktionen pro Sekunde)
  • Leistungs- und Zuverlässigkeitsverbesserungen für die Nodes

Die zweite Phase von Chrysalis bestand aus der Übernahme und/oder Implementierung von UTXO, atomaren Transaktionen, wiederverwendbaren Adressen (Ed25519), einem Übergang zum binären Transaktionslayout und einem neuen Satz an Client-Bibliotheken und Entwicklertools. Diese stellten wesentliche Änderungen des Kernprotokolls und der Art und Weise dar, wie Transaktionen strukturiert und verarbeitet werden. Sobald alles getestet, validiert und geprüft war, hatte die IOTA Foundation ein neues Chrysalis-Netzwerk eingerichtet. Das aktuelle Legacy-Netzwerk bleibt parallel über einen längeren Zeitraum betriebsbereit. Dies ermöglicht es Benutzern, Börsen und Partnern nach Belieben zum Chrysalis-Netzwerk zu migrieren. Die Migration ist zeitlich nicht begrenzt.

Die zweite Phase von Chrysalis bestand aus:

  • Wiederverwendbaren Adressen und die Unterstützung von Standardkryptografie (EdDSA), wodurch eine effizientere Hardwareunterstützung für alle wichtigen Architekturen möglich ist
  • Einem vereinfachten Transaktionslayout und einer Reduzierung der Transaktionsgröße, wodurch Leistung und Effizienz weiter gesteigert werden konnten
  • Deutlichen Verbesserungen in der Benutzerfreundlichkeit und Zuverlässigkeit von IOTA
  • Einem Wechsel vom Kontenmodell zu einem UTXO-basierten Modell

Die Einführung von wiederverwendbaren Adressen war eine wichtige Änderung für IOTA Token-Inhaber. Dies hat die Benutzerfreundlichkeit von IOTA erheblich verbessert und macht die Integration in neue Börsen, Wallets und Zahlungssysteme viel einfacher. Mit Chrysalis wurde eine neue Wallet namens Firefly veröffentlicht. Diese Wallet ermöglicht den Token-Inhabern einen einfachen Übergang vom aktuellen WOTS-Adressschema zum neuen EdDSA-Schema.

Unser Ziel war es, diesen Übergang für alle Personen im IOTA-Ökosystem so nahtlos wie möglich zu gestalten. Dazu gehörten zum einen eine Vielzahl von Verbesserungen und Aktualisierungen unserer Bibliotheken und Software-Lösungen, zum anderen aber auch Schulungen der Entwickler sowie die Schulungen für unsere Partner.

Von der Theorie in die Praxis

Bei Chrysalis mussten viele harte Entscheidungen getroffen werden, damit eine saubere und zeitnahe Umsetzung gewährleistet werden konnte. Die folgenden Komponenten wurden mit diesem Update erfolgreich spezifiziert und implementiert.

Spezifikation und Standardisierung

Spezifikationen sind ein wesentlicher Bestandteil des neuen Entwicklungsprozesses. Alle neuen Softwareprojekte (Node-Software, Wallet, Identity, Access, Streams usw.) basieren auf geprüften Spezifikationen. Spezifikationen sind dazu da, die beabsichtigte Funktionalität eines Projekts genauer zu beschreiben. Auf diese Weise wird es beispielsweise für externe Partner einfacher, Auditmaßnahmen durchzuführen oder die Entwicklung eigener Implementierungen in verschiedenen Sprachen voranzutreiben.

Die Chrysalis-Änderungen werden in Form von RFCs spezifiziert. Man kann alle RFCs im Repository protocol-rfcs finden.

Die Liste der Chrysalis RFCs umfasst:

  • Verbesserte Tipp-Selection-Auswahl (URTS)
  • Verbesserte Meilensteinauswahl
  • White Flag Ansatz zur Berechnung von Guthaben
  • Auf IOTA angepasstes UTXO-Protokoll (Unspent Transaction Output)
  • Ed25519 Signaturschema
  • Wiederverwendbare Adressen (Ed25519)
  • Nachrichtenobjekt
  • Binäres Transaktionslayout
  • Nachricht Arbeitsnachweis (Proof of Work)
  • Staubschutz (Dust Protection)
  • Neues Dateiformat für lokale Snapshot-Dateien
  • Bech32-Adressformat
  • RESTful-Node-API
  • Eventful-Node-API

Wallet-Unterstützung

Die Trinity Wallet war eine beliebte IOTA-Wallet. Mit Chrysalis wurde eine neue Wallet-Implementierung, Firefly, veröffentlicht. Das Team hatte an einer vollständigen Neuausrichtung der Wallet-Architektur und einer komplett neu gestalteten Benutzerführung gearbeitet. Kernstück war eine neue Wallet-Bibliothek, die in Rust geschrieben wurde. Die Wallet-Bibliothek wurde auf eine Weise entwickelt, die anderen Entwicklern die einfache Implementierung von IOTA-Wallets in ihren Anwendungen ermöglicht. Firefly verwendet eine neue Rust-Bibliothek namens Stronghold. Stronghold ermöglicht eine ultrasichere Handhabung und Aufbewahrung von Geheimnissen.

Infrastruktur

Derzeit unterstützt die IOTA Foundation zwei öffentliche Netzwerke: das Mainnet und das Devnet (das Devnet ist für die Validierung von Prototypen und Anwendungstests bestimmt). Beide Netzwerke bieten öffentliche Endpunkte für Benutzer und Partner an.

Das frühere Mainnet wurde zwar durch das neue Chrysalis-Netzwerk ersetzt, es bleibt jedoch über einen längeren Zeitraum weiterhin in Betrieb. Zum Zwecke des zeitunabhängigen Übergangs von Projekten, die auf dem alten Devnet bereitgestellt wurden, wurde das Devnet erst nach der Veröffentlichung von Chrysalis aktualisiert.

Chrysalis Testnetz

Im Testnetz bereitgestellte Nodes können mit einem Load Balancer unter folgender Adresse abgefragt werden:

api.lb-0.testnet.chrysalis2.com

Wir empfehlen, für die meisten Szenarien den Load Balancer zu verwenden.

Einzelnodes-Endpunkte, die natives MQTT (Message Queuing Telemetry Transport) verfügbar machen, sind:

api.hornet-0.testnet.chrysalis2.com
api.hornet-1.testnet.chrysalis2.com
api.hornet-2.testnet.chrysalis2.com
api.hornet-3.testnet.chrysalis2.com

Fazit

Chrysalis ist die bisher vielversprechendste Upgrade-Serie für IOTA. Es war ein wichtiger Schritt für die Produktionsbereitschaft mit erhöhtem Transaktionsdurchsatz, Netzwerkstabilität sowie verbesserter Benutzerfreundlichkeit und ermöglicht es, neue Funktionen und Anwendungsfälle zu entwickeln. Die letzten Wochen und Monate gehörten zu den aufregendsten in der Geschichte von IOTA. Wir sind auf einem klaren Weg zur Einführung von IOTA als Basistechnologie für das Internet der Dinge (Internet of Things - IoT).