Zum Hauptinhalt springen

PRISM Consensus Engine

QoreChain bettet PRISM (Policy-driven Reinforcement-learning for Intelligent State Machines), eine Optimierungsschicht auf Basis von Reinforcement Learning, über das Modul x/rlconsensus direkt in die Konsensschicht ein. PRISM beobachtet alle N Blöcke Chain-Metriken, führt die Inferenz durch ein neuronales Netz mit Festkomma-Arithmetik aus und schlägt Anpassungen der Konsensparameter vor — alles deterministisch, ohne Gleitkommaarithmetik in konsenskritischen Pfaden.

Die PRISM-Optimierungsschleife: Chain-Zustand beobachten, Policy-Inferenz ausführen, Parameteränderungen begrenzen und anwenden, dann das Ergebnis zurückspeisen.


Architekturüberblick

PRISM besteht aus vier Komponenten:

  1. Observation Collector — Erfasst 25-dimensionale Chain-Zustandsvektoren in konfigurierbaren Intervallen.
  2. Policy Network (MLP) — Ein Go-natives Multi-Layer-Perceptron, das Beobachtungen auf Aktionen abbildet.
  3. Reward Computer — Bewertet die Qualität von Parameteränderungen über eine gewichtete Multi-Ziel-Funktion.
  4. Circuit Breaker — Überwacht die Chain-Gesundheit und setzt alle von PRISM angepassten Parameter zurück, falls Instabilität erkannt wird.

Alle Komponenten arbeiten innerhalb des ABCI-Lebenszyklus und erzeugen deterministische, verifizierbare Ausgaben über alle Validatorenknoten hinweg.


Policy Network

Das Policy Network ist ein Feedforward-Multi-Layer-Perceptron (MLP), das vollständig in Go mit int64-Festkomma-Arithmetik (skaliert mit 10^8) implementiert ist.

Netzarchitektur

EigenschaftWert
Eingabedimensionen25
Versteckte Schichten2
Größen der versteckten Schichten256, 256
Ausgabedimensionen5
Aktivierung (versteckt)ReLU
Aktivierung (Ausgabe)tanh
Parameter insgesamt73,733
Präzisionint64-Festkomma (skaliert mit 10^8)

Aufschlüsselung der Parameteranzahl

Layer 1: 25 * 256 + 256 = 6,656 (input -> hidden_1)
Layer 2: 256 * 256 + 256 = 65,792 (hidden_1 -> hidden_2)
Layer 3: 256 * 5 + 5 = 1,285 (hidden_2 -> output)
Total: 73,733

Festkomma-Arithmetik

Alle MLP-Berechnungen verwenden int64-Werte, skaliert mit FixedPointScale = 10^8. Dies eliminiert Nichtdeterminismus durch IEEE-754-Gleitkommarundungsunterschiede über verschiedene Hardwareplattformen hinweg.

  • Multiplikation: fixMul(a, b) = (a / SCALE) * b + (a % SCALE) * b / SCALE (aufgeteilt, um Überlauf zu verhindern)
  • ReLU: relu(x) = max(0, x)
  • tanh: Padé-Approximant tanh(x) ~ x * (3*S - x^2) / (3*S + x^2) für |x| <= 2.5*SCALE, andernfalls auf +/- SCALE begrenzt

Die Policy-Gewichte werden on-chain als abgeflachter []int64-Vektor gespeichert und können per Governance-Proposal aktualisiert werden.


Beobachtungsvektor

PRISM erfasst bei jedem Beobachtungsintervall (Standard: alle 10 Blöcke) einen 25-dimensionalen Beobachtungsvektor.

IndexDimensionBeschreibung
0block_utilizationVerbrauchtes Block-Gas / Block-Gas-Limit
1tx_countAnzahl der Transaktionen im Block
2avg_tx_sizeMittlere Transaktionsgröße in Bytes
3block_timeZeit seit dem vorherigen Block (ms)
4block_time_deltaBlockzeit minus Ziel-Blockzeit (ms)
5gas_price_50thMedian-Gaspreis
6gas_price_95thGaspreis im 95. Perzentil
7mempool_sizeAnzahl der ausstehenden Transaktionen
8mempool_bytesGesamtbytes der ausstehenden Transaktionen
9validator_countAnzahl aktiver Validatoren
10validator_giniGini-Koeffizient der Verteilung der Validator-Power
11missed_block_ratioAnteil der Validatoren, die das Signieren verpasst haben
12avg_commit_latencyDurchschnittliche Latenz der Commit-Runde (ms)
13max_commit_latencyMaximale Latenz der Commit-Runde (ms)
14precommit_ratioAnteil der empfangenen Precommits
15failed_tx_ratioAnteil der fehlgeschlagenen Transaktionen
16avg_gas_per_txMittleres verbrauchtes Gas pro Transaktion
17reward_per_validatorMittlere Belohnung pro Validator (uqor)
18slash_countAnzahl der Slashing-Ereignisse im Beobachtungsfenster
19jail_countAnzahl der Jail-Ereignisse im Beobachtungsfenster
20inflation_rateAktuelle Emissionsrate
21bonded_ratioGebondete Tokens / Gesamtangebot
22reputation_meanMittlerer Reputationswert über aktive Validatoren
23reputation_stddevStandardabweichung der Reputationswerte
24mev_estimateGeschätztes extrahiertes MEV (Heuristik)

Alle Werte werden als LegacyDec-String-Repräsentationen gespeichert und vor der Inferenz in int64-Festkomma umgewandelt.


Aktionsraum

Die MLP-Ausgabe ist ein 5-dimensionaler Aktionsvektor, bei dem jede Dimension eine vorgeschlagene Änderung eines Konsensparameters darstellt. Die tanh-Aktivierung begrenzt die Rohausgaben auf [-1, 1], die dann mit modusspezifischen Grenzen skaliert werden.

IndexAktionsdimensionBeschreibung
0block_time_deltaVorgeschlagene Änderung der Ziel-Blockzeit (ms)
1gas_price_deltaVorgeschlagene Änderung des Basis-Gaspreises
2validator_set_size_deltaVorgeschlagene Änderung der Ziel-Validatorenmengengröße (nur protokolliert, nicht angewendet)
3pool_weight_rpos_deltaVorgeschlagene Änderung des Prioritätsgewichts des RPoS-Pools
4pool_weight_dpos_deltaVorgeschlagene Änderung des Prioritätsgewichts des DPoS-Pools

Aktionen werden vor der Anwendung auf die durch den aktuellen PRISM-Modus definierten maximalen Änderungsgrenzen begrenzt.


Belohnungsfunktion

Das Belohnungssignal bewertet, wie gut die jüngsten Parameteränderungen die Chain-Leistung verbessert haben. Es wird als gewichtete Summe von fünf Zielen berechnet:

R = 0.30 * delta_throughput
+ 0.25 * delta_finality
+ 0.20 * delta_decentralization
- 0.15 * mev_estimate
- 0.10 * failed_tx_ratio
KomponenteGewichtRichtungQuellmetrik
Throughput+0.30MaximierenÄnderung der Block-Auslastung
Finality+0.25MaximierenÄnderung des Precommit-Anteils
Dezentralisierung+0.20MaximierenNegative Änderung des Validator-Gini-Koeffizienten
MEV-0.15MinimierenAktuelle MEV-Schätzung
Fehlgeschlagene Transaktionen-0.10MinimierenAktueller Anteil fehlgeschlagener Transaktionen

Die Belohnungsgewichte sind per Governance konfigurierbar und müssen sich auf genau 1,0 summieren.


PRISM-Modi

PRISM arbeitet in einem von vier Modi, die per Governance gesteuert werden:

ModusIDMax. ÄnderungVerhalten
Shadow00%Nur Empfehlungen beobachten und protokollieren. Es werden keine Parameter geändert. Dies ist der Standardmodus.
Conservative1+/- 10%Parameteränderungen innerhalb enger Grenzen anwenden. Geeignet für den anfänglichen Live-Einsatz.
Autonomous2+/- 25%Parameteränderungen innerhalb weiterer Grenzen anwenden. Für ausgereifte Netzwerke mit validierten Policies.
Paused30%PRISM ist vollständig im Leerlauf. Es werden keine Beobachtungen erfasst und keine Inferenz ausgeführt.

Modusübergänge erfordern ein Governance-Proposal. Der empfohlene Einsatzpfad ist: Shadow → Conservative → Autonomous.


Circuit Breaker

Der Circuit Breaker ist ein Sicherheitsmechanismus, der die Chain-Gesundheit überwacht und alle von PRISM angepassten Parameter automatisch zurücksetzt, falls Instabilität erkannt wird.

Erkennungslogik

Der Circuit Breaker wertet die letzten 50 Blöcke aus (konfigurierbar über circuit_breaker_window):

  1. Blockzeit-Deltas berechnen — Für jedes aufeinanderfolgende Paar von Block-Zeitstempeln das Blockzeit-Delta berechnen.
  2. Gesunde Blöcke klassifizieren — Ein Block gilt als gesund, wenn sein Delta positiv und innerhalb des 2-fachen der Ziel-Blockzeit liegt.
  3. Gesunden Anteil berechnen — Den gesunden Anteil = gesunde Blöcke / Gesamtzahl der Deltas berechnen.

Auslösebedingung

Fällt der gesunde Anteil unter die Schwelle (Standard: 50%), löst der Circuit Breaker aus.

Reaktion

Bei Auslösung führt der Circuit Breaker Folgendes aus:

  1. Setzt alle von PRISM angewendeten Parameter (Blockzeit, Gaspreis, Pool-Gewichte) auf ihre Standardwerte zurück.
  2. Pausiert PRISM (setzt CircuitBreakerActive = true).
  3. Löscht die In-Memory-Policy, um ein erneutes Laden zu erzwingen.
  4. Emittiert ein circuit_breaker_triggered-Event.

Der Circuit Breaker wird automatisch aufgehoben, wenn sich der gesunde Anteil bei nachfolgenden Auswertungen wieder über die Schwelle erholt.


Rollup-Beratungsfunktionen

PRISM stellt Beratungsfunktionen zur Optimierung von Rollup-Parametern bereit:

  • SuggestRollupProfile — Analysiert die aktuellen Chain-Bedingungen und schlägt optimale Rollup-Konfigurationsparameter vor (Blockzeit, Gas-Limit, Settlement-Frequenz).
  • OptimizeRollupGas — Empfiehlt Anpassungen der Gaspreisgestaltung für Rollup-Settlement-Transaktionen auf Basis der Überlastungsmuster der Hauptchain.

Diese Funktionen sind rein informativ und ändern den Chain-Zustand nicht.


Bibliothek für deterministische Mathematik

Alle PRISM-Berechnungen verwenden das Paket mathutil, das deterministische Alternativen zur Standard-Gleitkommamathematik bereitstellt:

FunktionBeschreibungMethode
IntegerSqrt(x)QuadratwurzelNewton-Verfahren auf LegacyDec, Konvergenz nach 100 Iterationen
TaylorLn1PlusX(x)Natürlicher Logarithmus ln(1+x)Argumentreduktion + 15-Term-Taylor-Reihe
ExpApprox(x)Exponential e^x12-Term-Taylor-Reihe
SigmoidApprox(x)Sigmoid 1/(1+e^-x)ExpApprox mit Symmetrie für negative Eingaben
ReputationMultiplier(r)Bildet [0,1] auf [0.5,2.0] abSigmoid mit Skalierung und Offset

Alle Funktionen arbeiten mit cosmossdk.io/math.LegacyDec-Werten und stellen identische Ergebnisse über alle Hardwareplattformen und Go-Compiler-Versionen hinweg sicher.


Parameter

ParameterTypStandardBeschreibung
enabledbooltruePRISM aktivieren
observation_intervaluint6410Blöcke zwischen Beobachtungserfassungen
agent_modePrismMode0 (Shadow)Aktueller Betriebsmodus
max_change_conservativeLegacyDec0.10Maximale Parameteränderung im Conservative-Modus
max_change_autonomousLegacyDec0.25Maximale Parameteränderung im Autonomous-Modus
circuit_breaker_windowuint6450Anzahl der vom Circuit Breaker überwachten letzten Blöcke
circuit_breaker_thresholdLegacyDec0.50Minimaler gesunder Blockanteil vor Auslösung
default_block_time_msint645000Standard-Ziel-Blockzeit (ms)
default_base_gas_priceLegacyDec100Standard-Basis-Gaspreis
default_validator_set_sizeuint64100Standard-Ziel-Validatorenmengengröße
reward_weight_throughputLegacyDec0.30Belohnungsgewicht für Durchsatzverbesserung
reward_weight_finalityLegacyDec0.25Belohnungsgewicht für Finalitätsverbesserung
reward_weight_decentralizationLegacyDec0.20Belohnungsgewicht für Dezentralisierungsverbesserung
reward_weight_mevLegacyDec0.15Strafgewicht für MEV-Extraktion
reward_weight_failed_txsLegacyDec0.10Strafgewicht für fehlgeschlagene Transaktionen

Verwandt

  • Consensus Mechanism — die Konsensschicht, die PRISM optimiert.
  • AI Engine — die umfassenderen On-Chain-KI-Dienste und -Endpunkte.
  • Tokenomics — wie RL-Signale in Belohnungs- und Parameteranpassungen einfließen.