Ursprünglicher Autor: FIL Network
FIL Fast Finality (FIP 0086: F3 in FIL for Fast Finality) ist eine der revolutionärsten Upgrades in der Konsensschicht von FIL seit dem Start des Mainnets. Nach fast zwei Jahren intensiver Forschung und Entwicklung ist F3 jetzt bereit für die Bereitstellung im Mainnet und wird voraussichtlich bahnbrechende Fortschritte für das gesamte Ökosystem bringen! Indem die Endzeit von etwa 900 Blockhöhen auf nur noch etwa 2 verkürzt wird, bietet F3 umfassende materielle Vorteile:
Die Änderung des Konsensprotokolls für das Echtzeitnetzwerk ist keine leichte Aufgabe. Um einen reibungslosen und sicheren Übergang zum Mainnet zu gewährleisten, wurde diese Änderung einer strengen Überprüfung und mehreren Tests im Kalibrierungsnetzwerk unterzogen. Obwohl F3 ursprünglich für das nv24-Upgrade entwickelt wurde, wurden später zwei entscheidende Probleme festgestellt. Weitere Informationen finden Sie hier. Diese Probleme wurden mittlerweile behoben und die Reparatursoftware wird derzeit in der Kalibrierung validiert.
Das F3-Team führt derzeit die abschließenden Vorbereitungstests auf dem Mainnet durch. Dazu gehört die Bereitstellung des aktualisierten Protokolls unter Produktionslast und die Einhaltung des Starttestplans. Zur Verbesserung der Transparenz haben wir auch zwei F3-Dashboards (Mainnet, Kalibrierungstestnetz) veröffentlicht, damit die Community den Fortschritt verfolgen, die endgültige Blockfinalität überwachen und die Node-Performance überwachen kann. Wenn Sie die neuesten Testupdates erhalten möchten, abonnieren Sie bitte dieses Forum oder treten Sie dem Slack-Kanal #fil-fast-finality bei.
Es ist sehr wichtig, das Bandbreitenverwendungsmuster von F3 zu verstehen, wenn wir uns dem letzten passiven Test auf dem Mainnet nähern. Diese Muster werden hauptsächlich von zwei Schlüsselfaktoren angetrieben:
In der Startphase muss F3 alle Blockhöhen seit dem letzten Abschluss abschließen, etwa 900 Stück. Dieses Ende der erweiterten Kette führt zu einem vorübergehenden Spitzenwert der Bandbreitennutzung, der normalerweise 5-10 Minuten anhält und dann auf das Baseline-Niveau stabilisiert wird.
F3 erreicht Endgültigkeit in sogenannten “Instanzen”: Man kann sich eine Instanz wie eine Sitzung vorstellen, an der alle teilnehmen, um eine Entscheidung zu treffen. Mindestens 66% der Teilnehmer müssen anwesend sein, damit die Sitzung pausiert werden kann. Nach dem F3-Bootstrap enthält jede Instanz während des normalen Betriebs in der Regel eine Blocksammlung von mehreren Blockhöhen. Dies liegt daran, dass F3, wie der Name schon sagt, schnell endgültig ist und in den meisten Fällen in 2 Blockhöhen eine Blocksammlung endgültig macht.
Jedoch kann es in einigen Fällen vorkommen, dass die endgültige Bestätigung von F3 hinter dem Fortschritt der Chain zurückbleibt. Zum Beispiel kann es aufgrund von mangelnder Beteiligung oder Netzwerkproblemen eine lange Zeit dauern, bis ein ‘Meeting’ abgeschlossen ist. Da die FIL-Chain weiterhin aufsteigt, erfordern Instanzen, die nach langwierigen Instanzen auftreten, nun eine längere Chain, um abgeschlossen zu werden. Eine längere Chain bedeutet größere Nachrichten, da jede ausgetauschte Nachricht als Teil einer F3-Instanz Informationen über den Abschluss der Chain enthält. Größere Nachrichten führen zu einem sprunghaften Anstieg des Bandbreitenverbrauchs, der jedoch wieder auf den Baseline-Wert sinkt, sobald die F3-Instanz mit der Geschwindigkeit der Chain Schritt hält und innerhalb der jüngsten Blockhöhen den Blockset abschließt.
Wenn Sie feststellen, dass die Bandbreitennutzung im Zusammenhang mit dem F3-Test unerwartet lange hoch bleibt, sammeln Sie bitte Protokolle aus Ihrer Implementierung, insbesondere Protokolle auf den Ebenen F3/gpbft und F3/certexchange, und teilen Sie sie im Slack-Kanal #fil-fast-finality. Das F3-Team überwacht die Leistung aktiv und arbeitet mit Ihnen zusammen, um Probleme zu lösen.
In den nächsten 2-4 Wochen werden wir weiterhin Daten zur Umsetzbarkeit von F3 durch passive Tests sammeln. Unser aktueller Plan ist es, F3 mit nv25 zu starten.
Obwohl wir immer noch auf endgültige Daten warten, um zu bestätigen, ob F3 bereit ist, plant das F3-Team, NV25 außerhalb des Zyklus für FIL-Mitarbeiter und Kernentwickler zu aktualisieren. Wenn in der Endphase der Tests keine wesentlichen Probleme auftreten, werden wir folgende Vorschläge für die Veröffentlichung von F3 machen:
Wir werden Sie jederzeit über den Fortschritt informieren und Updates an die Community weitergeben, wenn sich die Pläne ändern. Vielen Dank für Ihre starke Unterstützung bei diesem aufregenden Upgrade!
Sie können folgenFilOz Blog und Twitter, um die neuesten Updates zur Enthüllung von Finality zu erhalten.
Besonderer Dank gilt den anderen F3-Kernimplementierern: Kubuxu, Masih, Stebalien, annorth, BigLep; den anderen Lotus-Implementierern rvagg und Forest-Implementierer Hailong sowie ruseinov. Vielen Dank für eure harte Arbeit, die F3 in die Realität umgesetzt hat.