Was ist der mit Spannung erwartete Firedancer bei Breakpoint?
Auf der Solana-Breakpoint-Konferenz in der vergangenen Woche herrschte eine lebhafte Atmosphäre mit Produktvorstellungen und verschiedenen spannenden Nebenveranstaltungen. Ein besonderer Höhepunkt war die offizielle Einführung der frühen Version des Solana-Validierungsclients Firedancer im Mainnet.
Diesem Meilenstein wurde besondere Aufmerksamkeit zuteil, da er einen bedeutenden Leistungssprung für das Solana-Netzwerk darstellt und gleichzeitig das Risiko von Netzwerkausfällen durch einen einzelnen Client-Ausfall mindert.
Die Entwicklung von Firedancer geht auf die Jahre 2021-2022 zurück und wurde von der Jump Trading Group als zweiter Validator-Client von Solana vorangetrieben (der ursprüngliche Client, Agave, wurde von Anza entwickelt). Sein Hauptziel war es, einzelne Fehlerquellen zu beseitigen und die allgemeine Robustheit und Widerstandsfähigkeit des Netzwerks zu verbessern.
Anders als der ursprüngliche Rust-basierte Validator ist Firedancer in C geschrieben, ohne Rust-Code. Diese Entscheidung reduziert die potenziellen Auswirkungen von Schwachstellen auf das Netzwerk erheblich und fügt Solana eine starke Sicherheitsebene hinzu.
Wie funktioniert Firedancer?
Während einer Präsentation auf dem Solana Breakpoint stellte Kevin Bowers, Chief Scientist von Jump Crypto, die Fähigkeit von Firedancer vor, mehr als 1 Million Transaktionen pro Sekunde (TPS) zu verarbeiten, was die derzeitige theoretische Grenze von Solana von zehntausenden von TPS weit übersteigt. Er verglich diese Leistung metaphorisch mit dem Ausbau einer „Landstraße“ zu einer „Autobahn“, was auf eine doppelte Optimierung von Netzwerkkosten und -kapazität hindeutet.
Kerningenieur Liam Heeger berichtete über die Fortschritte im Testnetz und stellte fest, dass Firedancer erfolgreich über 20.000 Blöcke mit einem Einsatzverhältnis von 1 % produziert hat. Ein weiterer Ingenieur, Aryaman Jain, demonstrierte die Leistung von Firedancer unter bestimmten Bedingungen und zeigte eine TPS von bis zu einer Million in einer Umgebung mit 10 Validatoren, mit über 1,2 Milliarden Berechnungen pro Sekunde und 3,5 Gbit/s Blockspace-Kapazität.
Wie funktioniert Firedancer?
Firedancer besteht aus drei Hauptkomponenten: einem Hochleistungs-Computing-Stack, einem Netzwerk-Stack und den Laufzeit- und Konsensmechanismen. Seine Fähigkeit, die Leistung von Solana auf 1 Million TPS zu steigern (die derzeitigen Protokollgrenzen liegen bei 81.000 TPS), beruht auf seiner innovativen Architektur und der Optimierung des Datenflusses.
Der Validator verwendet ein Gleichzeitigkeitsmodell, bei dem verschiedene Aufgaben über mehrere Threads ausgeführt werden, wobei sich jeder Thread auf bestimmte Aufgaben wie die Verarbeitung von Netzwerkpaketen, die Transaktionsvalidierung und die Blockpackung konzentriert. Dieses Design maximiert die Ressourcennutzung und beschleunigt die Transaktionsverarbeitung erheblich.
Im Einzelnen führt jeder Thread eine von 11 verschiedenen Aufgaben aus. Einige Aufgaben erfordern nur einen Thread, während andere mehrere Threads erfordern, die parallel arbeiten. Jeder Thread wird auf einem eigenen CPU-Kern ausgeführt, so dass er nie schläft oder vom Betriebssystem umgewidmet wird.
Firedancer führt auch eine Architektur ein, die „Kacheln“ genannt wird, wobei jede Kachel einen Auftrag, seinen laufenden Thread und den zugewiesenen CPU-Kern repräsentiert. Diese Kombination ermöglicht eine flexible und effiziente Leistungsoptimierung. So können die net- und quic-Kacheln über 1 Million TPS verarbeiten, während sich die verify- und bank-Kacheln auf die Validierung von Transaktionen und die Ausführung von Blöcken konzentrieren, was für Szenarien mit hoher Parallelität ausreichend ist.
In der offiziellen Dokumentation von Firedancer sind die folgenden 11 Kacheln aufgeführt:
- Netz: Sendet und empfängt Netzwerkpakete (jede Kachel kann >1 Million TPS verarbeiten);
- quic: Empfängt Transaktionen von Kunden und verwaltet die Verbindung und die Paketverarbeitung für das QUIC-Protokoll (jede Kachel kann >1 Million TPS verarbeiten);
- Überprüfen Sie: Validiert die kryptografischen Signaturen eingehender Transaktionen und filtert ungültige Signaturen heraus (jede Kachel kann 20-40.000 TPS verarbeiten);
- dedup: Prüft und filtert doppelte eingehende Transaktionen;
- packen: Verpackt eingehende Transaktionen, wenn sie als Leader fungieren, und plant sie intelligent für die Ausführung ein;
- Bank: Führt geplante Transaktionen aus (jede Kachel kann 20-40.000 TPS verarbeiten);
- poh: Kontinuierliche Hashes im Hintergrund, wobei generierte Hashes mit ausgeführten Transaktionen gemischt werden, um die Reihenfolge und das Timing zu überprüfen;
- schreddern: Verteilt Blockdaten an das Netz, wenn es als Leader fungiert; wenn nicht, empfängt es Blockdaten und sendet sie erneut (der Durchsatz hängt hauptsächlich von der Clustergröße ab, wobei Benchmarks >1 Million TPS für kleine Cluster angeben);
- speichern: Empfängt Blockdaten, wenn er als Leader agiert, oder von anderen Knoten, wenn sie Leader sind, und speichert sie in einer lokalen Festplattendatenbank;
- metrisch: Sammelt Überwachungsinformationen über andere Kacheln und stellt sie den HTTP-Endpunkten zur Verfügung;
- Zeichen: Enthält den privaten Schlüssel des Validierers und antwortet auf Signieranfragen von anderen Kacheln.
Noch bevor Firedancer ausgereift ist, hat seine Übergangsversion, Frankendancer, bereits das Solana Mainnet betreten. Frankendancer ist ein Hybrid aus dem Code von Firedancer und Agave, der die Vorteile von Firedancer in Bezug auf den Netzwerkstack und die Blockproduktion nutzt, während die Ausführungs- und Konsensfunktionalitäten von Agave erhalten bleiben. Im Gegensatz dazu wurde Firedancer von Grund auf ohne jeglichen Agave-Code entwickelt.
Was ist die Wirkung von Firedancer?
Die Einführung von Firedancer hat zweifelsohne erhebliche Auswirkungen auf das Solana-Ökosystem, da sie die Vielfalt der Validierer deutlich erhöht und das Risiko von Einzelausfällen weiter verringert, wodurch die Zuverlässigkeit des Netzes gestärkt wird.
Darüber hinaus behält Firedancer die Abwärtskompatibilität mit bestehenden Protokollen bei, um einen reibungslosen Übergang für das Ökosystem zu gewährleisten, ohne dass wesentliche Anpassungen von DApp-Entwicklern und Nutzern erforderlich sind.
Obwohl sich Firedancer derzeit in einem nicht stimmberechtigten Modus befindet und kontinuierlich optimiert und geprüft wird, zeichnet es ein hoffnungsvolles Bild für die künftige Entwicklung des Solana-Netzwerks.