Was normalerweise zuerst unter Last bricht, ist nicht der Durchsatz, sondern das Timing. Wenn ein Netzwerk beschäftigt wird, füllen sich die Blöcke nicht einfach, sie werden schwerer vorherzusagen. Transaktionen kommen an, die Gebühren steigen, Validatoren ordnen neu, und der Weg von der Übermittlung einer Transaktion bis zu ihrer Ausführung wird ungewiss. Ich habe Strategien gesehen, die in Tests präzise aussehen, in der Produktion jedoch scheitern, einfach weil sich die Reihenfolge der Ausführung um einen Bruchteil einer Sekunde verschoben hat. Eine Liquidation verpasst, weil sie eine Position später landet als erwartet. Ein mehrstufiger Arbitragehandel schließt den ersten Schritt ab, aber der zweite Schritt sieht einen leicht anderen Zustand, weil eine andere Transaktion dazwischen gerutscht ist. Das sind keine dramatischen Fehler. Es sind kleine Verschiebungen in der Reihenfolge, die stillschweigend die Ergebnisse verändern.
Innerhalb von Fogo zeigt sich der Unterschied darin, wie diese Reihenfolge gehandhabt wird. Das System trifft eine bewusste Entscheidung für deterministische Planung. Transaktionen werden nicht ständig basierend auf kleinen Gebührenunterschieden umgestellt, sobald sie in ein Planungsfenster eintreten. Sie werden in definierte Zeitabschnitte eingeordnet und innerhalb dieser Abschnitte vorhersehbar angeordnet. Bei hohem Verkehr wird diese Wahl sichtbar. Anstatt zu beobachten, wie der Blockbauer seine Positionen kontinuierlich an den Gebührendruck anpasst, sieht man eine festere Struktur. Wenn eine Transaktion rechtzeitig in eine gegebene Planungsgrenze eintritt, bleibt ihre relative Position stabil. Wenn sie zu spät ankommt, konkurriert sie nicht innerhalb dieser gleichen Grenze, indem sie höher bietet. Sie wechselt zur nächsten.
Ich habe eine Multi-Transaktionsstrategie über aufeinanderfolgende Blöcke während eines Stresstests verfolgt. In vielen Systemen besteht immer das Risiko, dass eine nicht verwandte Transaktion zwischen ihnen schlüpft, selbst wenn Sie Transaktionen sequenziell ausführen. Auf Fogo ist diese Fluidität reduziert. Sobald Transaktionen innerhalb desselben Zeitfensters sind, gibt es viel weniger Umstellungen. Die Sequenz wird entweder wie modelliert innerhalb dieser Grenze ausgeführt oder wechselt sauber zur nächsten. Die Unvorhersehbarkeit, die normalerweise unter Stress auftritt, wird durch eine klarere Warteschlange ersetzt.
Dies erzeugt eine andere Art von Einschränkung. Auf den meisten hochvariablen Ketten, wenn Sie sehen, dass Sie dabei sind, eine Position zu verlieren, können Sie versuchen, Ihre Gebühr zu erhöhen und im selben Block voranzukommen. Das Ergebnis ist unsicher, aber die Option besteht. Auf Fogo ist diese Option eingeschränkt. Der Planer priorisiert vorhersehbare Reihenfolge über die Neupreisung im letzten Moment. Sobald eine Planungsgrenze effektiv definiert ist, garantiert eine Gebührenerhöhung nicht, dass Sie innerhalb dieses Abschnitts vorankommen. Wenn Sie das Zeitfenster verpassen, warten Sie. Das System reduziert die zeitliche Varianz, verringert aber auch die Fähigkeit, innerhalb dieses Zeitfensters zu reagieren.
Die Propagationsschicht unterstützt diese Struktur. Validatoren koordinieren sich um definierte Zeitintervalle, und die Transaktionspropagation ist so eingestellt, dass sie innerhalb begrenzter Latenz vor der Finalisierung konvergiert. Das Design zielt nicht darauf ab, die Flexibilität in der Blockzusammensetzung im letzten möglichen Moment zu maximieren. Es zielt darauf ab, sicherzustellen, dass das, was Validatoren sehen, schnell und konsistent übereinstimmt. Wenn der Verkehr zunimmt, schützt das System diese zeitlichen Garantien, anstatt sich zu dehnen, um opportunistische Umstellungen zu absorbieren. Das Ergebnis ist, dass man unter Stress eine ordentliche Warteschlange sieht, anstatt chaotische Neupreisungen.
Ich habe ein latenzsensitives Arbitrage getestet, das von kleinen Zeitlücken zwischen zwei verwandten Märkten abhing. In elastischeren Systemen gibt es Momente, in denen ein Statusupdate sichtbar ist, während ein anderes leicht verzögert ist. Diese Lücke kann Chancen schaffen. Auf Fogo sind diese Lücken enger, weil Statusübergänge innerhalb engerer Zeitfenster propagiert und abgeschlossen werden. Validatoren beobachten Änderungen in engerer Übereinstimmung. Die Arbitrage-Logik wurde korrekt ausgeführt, aber der Vorteil verringerte sich, da das System die Unklarheit reduzierte, auf die die Strategie angewiesen war. Nichts funktionierte nicht richtig. Die Umgebung bot einfach weniger zeitliche Asymmetrie, die man ausnutzen konnte.
Die Koordination der Validatoren unter diesem Modell bringt echte Anforderungen mit sich. Um deterministische Planung und begrenzte Latenz aufrechtzuerhalten, benötigen Validatoren zuverlässige Leistung und Konnektivität. Während eines Stresstests mit geringer Propagationsverzögerung zwischen geografisch weit entfernten Knoten zog das System es vor, die Finalisierung leicht zu verzögern, anstatt divergierende Transaktionsansichten durchzulassen und später zu reconciliieren. Die Konsistenz wurde gewahrt, aber auf Kosten strengerer Infrastruktur Erwartungen. Das Design toleriert weniger Varianz in der Leistung der Validatoren, da die zeitlichen Garantien davon abhängen.
Eine Randbedingung machte den Kompromiss deutlich. Eine Gruppe von Transaktionen, die dasselbe Vertragsziel anvisierte, kam nahe dem Rand eines Planungsfensters an. Einige traten in den aktuellen Abschnitt ein. Andere, nur leicht später, rollten zum nächsten. In einem gebührengetriebenen System hätten diese nachfolgenden Transaktionen möglicherweise versucht, höher zu bieten und eine teilweise Umordnung innerhalb desselben Blocks zu erzwingen. Auf Fogo blieb die Trennung klar. Der Planer öffnete die Grenze nicht erneut, um höhere Gebote zu berücksichtigen. Für eine Anwendung, die auf stabiler Sequenzierung beruht, war diese Vorhersehbarkeit vorteilhaft. Für einen Händler, der versuchte, im letzten Moment vor Wettbewerbern einzufügen, bestand diese Gelegenheit nicht.
Die Ausführungsdeterminismus erstreckt sich über die Finalisierung. Da die Reihenfolge eng mit den Planungsgrenzen verbunden ist, verhält sich die Endgültigkeit eher als Fortsetzung dieser Struktur denn als zweite Stufe der probabilistischen Filterung. Während Lastspitzen habe ich keine opportunistischen Mikro-Reorganisationen beobachtet, die darauf abzielten, höhere Gebühren zu erfassen, indem die Transaktionsreihenfolge geändert wurde. Die Mechanik des Systems reduziert die Anreize und den Raum für dieses Verhalten. Die Zeit bleibt kontrolliert, und die Reihenfolge bleibt über Validatoren hinweg ausgerichtet.
Die Implikationen hängen davon ab, was Sie bauen oder ausführen. Wenn Ihre Anwendung eine eng koordinierte mehrstufige Ausführung erfordert, bei der unerwartetes Ineinandergreifen Annahmen brechen könnte, vereinfacht die Striktheit von Fogo die Umgebung. Sie können die Einschlusszeit mit geringerer Unsicherheit schätzen. Sie sind weniger anfällig für plötzliche Umstellungen, die durch Gebührendruck ausgelöst werden. Wenn jedoch Ihre Strategie darauf abzielt, die Unklarheit der Reihenfolge, dynamische Neupreisung oder kurzfristige Zeitunterschiede zwischen den Teilnehmern auszunutzen, bietet die Umgebung weniger Flexibilität. Die gleichen Mechanismen, die die Varianz reduzieren, verringern auch die strategischen Manövrierfähigkeiten.
Es gibt eine ehrliche Reibung in diesem Design. Deterministische Planung mit begrenzter Latenz erfordert diszipliniertes Validatorenverhalten und erhöht die Infrastrukturkosten. Werkzeuge, die auf elastische Gebührenerhöhungen ausgelegt sind, müssen sich an ein System anpassen, in dem spätes Bieten innerhalb einer Planungsgrenze begrenzte Auswirkungen hat. Einige Strategien verlieren ihren Vorteil nicht, weil sie fehlerhaft sind, sondern weil die Umgebung keine zeitlichen Inkonsistenzen mehr produziert, auf die sie angewiesen waren.
Was typischerweise unter Last zusammenbricht, ist die Vorhersehbarkeit der Ausführungszeit. Auf Fogo bleibt diese Vorhersehbarkeit weitgehend bestehen. Der Kompromiss besteht darin, dass die Fähigkeit, die Zeit im letzten Moment umzugestalten, strukturell eingeschränkt wird.