Zum Hauptinhalt springen

Validator betreiben

Dieser Leitfaden erklärt, wie man einen Validator im QoreChain-Netzwerk erstellt, das Pool-Klassifizierungssystem versteht, einen PQC-Schlüssel für quantenresistente Sicherheit registriert und den eigenen Node überwacht.

hinweis

Dieser Leitfaden bezieht sich auf das qorechain-vladi-Mainnet (EVM-Chain-ID 9801), das seit dem 7. Juni 2026 mit der Chain-Version v3.1.97 läuft. Das qorechain-diana-Testnet (EVM-Chain-ID 9800) wird empfohlen, um das eigene Setup zu proben, bevor man live geht. Setzen Sie die passende --chain-id für Ihr Zielnetzwerk ein.


Voraussetzungen

  • Ein vollständig synchronisierter qorechaind-Node (siehe Mit dem Testnet verbinden)
  • Ein finanziertes Konto mit mindestens 100.000 QOR (100.000.000.000 uqor) für die anfängliche Self-Delegation — dieses Minimum wird on-chain erzwungen, und create-validator wird darunter abgelehnt
  • Eine aktive validator_operator-Lizenz auf Ihrem Konto — siehe den Hinweis unten; ohne sie schlägt create-validator mit ErrUnauthorized fehl, unabhängig davon, wie viel QOR Sie self-bonden
  • Vertrautheit mit dem Modell Staking und Delegation

Einen Validator erstellen

Lizenzsperre: validator_operator

create-validator wird durch zwei unabhängige, jeweils on-chain erzwungene Prüfungen abgesichert, und Sie benötigen beide — ein großer Self-Bond allein genügt nicht:

  1. Mindest-Self-Bond von 100.000 QOR.
  2. Eine aktive validator_operator-Lizenz auf dem Konto, das die Transaktion einreicht.

Das expires_at einer Lizenz ist eine Blockhöhe, kein Datum und keine Dauer — 0 bedeutet keine Ablauffrist. Fehlt die Lizenz oder ist sie abgelaufen, schlägt create-validator mit ErrUnauthorized fehl, egal wie viel Sie self-bonden; dies ist der mit Abstand häufigste Grund, warum ein gut finanzierter Versuch scheitert und unerklärlich wirkt. Diese Sperre existiert gerade deshalb, weil die EVM-Ausführungsebene sie weder sehen noch durchsetzen kann (ein einzelner Ante-Decorator dort würde sie vollständig umgehen) — das ist einer der Gründe, warum Staking und Validierung ausschließlich auf der nativen Lane verbleiben.

qorechaind tx staking create-validator \
--amount 100000000000uqor \
--pubkey $(qorechaind comet show-validator) \
--moniker "my-validator" \
--commission-rate 0.10 \
--commission-max-rate 0.20 \
--commission-max-change-rate 0.01 \
--min-self-delegation 1 \
--from mykey \
--gas auto \
--gas-adjustment 1.3 \
-y
ParameterBeschreibung
--amountSelf-Delegation-Betrag — mindestens 100.000 QOR (100000000000uqor)
--pubkeyKonsens-Public-Key des Validators (ed25519)
--monikerMenschenlesbarer Name für Ihren Validator
--commission-rateAnfängliche Provisionsrate (z. B. 0,10 = 10 %)
--commission-max-rateMaximale Provisionsrate (nach Erstellung unveränderlich)
--commission-max-change-rateMaximale tägliche Änderungsrate der Provision
--min-self-delegationMindestanzahl an Token, die der Betreiber selbst delegieren muss

Prüfen Sie nach Bestätigung der Transaktion Ihren Validator:

qorechaind query staking validator $(qorechaind keys show mykey --bech val -a)

Pool-Klassifizierung

QoreChain verwendet ein dreistufiges Pool-Klassifizierungssystem, das vom Modul x/qca (Quantum Consensus Allocation) verwaltet wird. Alle 1.000 Blöcke werden Validatoren anhand ihrer Reputation und ihres Stakes in einen von drei Pools neu eingeteilt:

PoolKriterienBlock-Zuteilung
RPoS (Reputation Proof-of-Stake)Reputation >= 70. Perzentil UND Stake >= Median40 % der Blöcke
DPoS (Delegated Proof-of-Stake)Gesamtdelegation >= 10.000 QOR35 % der Blöcke
PoS (Proof-of-Stake)Alle übrigen aktiven Validatoren25 % der Blöcke

Innerhalb jedes Pools werden Blockvorschläger mittels gewichteter Zufallsauswahl proportional zu ihrem effektiven Stake ausgewählt. Die Klassifizierung stellt sicher, dass sowohl Validatoren mit hoher Reputation als auch solche mit hoher Delegation fair repräsentiert werden, während kleinere Validatoren weiterhin teilnehmen können.

Ihre Pool-Klassifizierung abfragen

qorechaind query qca pool-classification $(qorechaind keys show mykey --bech val -a)

Über JSON-RPC:

curl -X POST http://localhost:8545 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "qor_getPoolClassification",
"params": ["qorvaloper1..."],
"id": 1
}'

Bonding-Kurve

Die Staking-Belohnung eines Validators wird durch eine Bonding-Kurve bestimmt, die mehrere Faktoren einbezieht:

R = beta * S * (1 + alpha * log(1 + L)) * Q(r) * P(t)
VariableBeschreibung
RBelohnungsbetrag
betaBasis-Belohnungsrate
SEffektiver Stake
alphaSkalierungskonstante für Loyalität
LLoyalitätsdauer (kontinuierliche Staking-Zeit)
Q(r)Reputations-Qualitätsfaktor, Bereich [0,75 - 1,25]
P(t)Protokollphasen-Multiplikator (passt sich über den Netzwerklebenszyklus an)

Wichtige Erkenntnisse:

  • Loyalitätsdauer-Bonus: Validatoren, die kontinuierlich staken, erhalten über den logarithmischen Loyalitätsterm steigende Belohnungen. Dies fördert langfristiges Engagement.
  • Reputations-Qualitätsfaktor: Reicht von 0,75 (schlechte Reputation) bis 1,25 (exzellente Reputation). Die Reputation wird aus Uptime, erfolgreichen Vorschlägen, Community-Beteiligung und der Qualität der Transaktionsvalidierung berechnet.
  • Protokollphasen-Multiplikator: Passt sich an, während das Netzwerk verschiedene Phasen durchläuft (Bootstrap, Wachstum, Reife).

Slashing

Die Basis-Strafen für Verstöße, live abfragbar und zum Zeitpunkt der Erstellung dieses Textes aktuell:

qorechaind query slashing params
ParameterWert
Fenster für signierte Blöcke10.000 Blöcke (etwa 6 Stunden Ansammlungszeit)
Mindestanteil signierter Blöcke95 % (darunter erfolgt Jailing)
Downtime-Jail-Dauer600 Sekunden (10 Minuten)
Downtime-Slash-Anteil1 % des Stakes
Double-Sign-Slash-Anteil5 % des Stakes

Jailing ist ein fester 10-Minuten-Timeout mit einer festen Strafe — es ist unabhängig von dem progressiven Modell unten, das zusätzliche, eskalierende Konsequenzen für wiederholte Verstöße über einen längeren Zeithorizont darüberlegt.

Progressives Slashing

QoreChain verwendet ein progressives Slashing-Modell, das Strafen für wiederholte Verstöße eskaliert, Validatoren aber zugleich erlaubt, sich mit der Zeit zu erholen:

penalty = base_rate * escalation^effective_count * severity
ParameterWert
Maximale Strafe pro Ereignis33 % des Stakes
Halbwertszeit des Verfalls100.000 Blöcke
Schweregrad Downtime1,0
Schweregrad Double-Sign2,0
Schweregrad Light-Client-Angriff3,0
  1. Jeder Verstoß erhöht den effektiven Zähler. Jeder Verstoß (Downtime, Double-Signing usw.) erhöht den effektiven Zähler des Validators, der sich auf zukünftige Strafen auswirkt.

  2. Die Strafe eskaliert exponentiell. Die Strafe eskaliert anhand des effektiven Zählers gemäß der obigen Formel, sodass Wiederholungstäter deutlich höhere Strafen erhalten.

  3. Der effektive Zähler verfällt mit der Zeit. Der effektive Zähler verfällt mit einer Halbwertszeit von 100.000 Blöcken (~7 Tage bei 6-Sekunden-Blöcken), sodass sich Validatoren nach einer Phase guten Verhaltens erholen können.

  4. Einzelereignisse vs. wiederholte Verstöße. Ein einzelnes versehentliches Downtime-Ereignis führt zu einer geringen Strafe, während wiederholte Verstöße exponentiell steigende Konsequenzen auslösen.


PQC-Schlüsselregistrierung

Registrieren Sie Ihren post-quantenkryptografischen (PQC) Public Key — ML-DSA-87 — bevor Sie eine Validator-Lizenz beantragen oder create-validator ausführen. Dies ist nicht optional und nicht automatisch: Die Chain verlangt eine hybride PQC-Signatur für jede Cosmos-Pfad-Transaktion, MsgCreateValidator gehört nicht zu den ausgenommenen Nachrichtentypen, und — anders als bei einem regulären Konto, das seinen Schlüssel automatisch bei der ersten Transaktion registriert — muss ein Validator diesen Befehl selbst, auf seinem eigenen Node, im Voraus ausführen.

qorechaind tx pqc register-key <pubkey-hex> hybrid \
--from mykey \
--gas 600000 \
-y
ParameterBeschreibung
<pubkey-hex>2592-Byte-ML-DSA-87-Public-Key in Hex-Kodierung
hybridRegistrierungsmodus (hybrid = sowohl klassisch als auch PQC)
--gas explizit setzen

Der ML-DSA-87-Public-Key ist 2.592 Byte groß, und das Schreiben auf die Chain überschreitet das Standard-Gaslimit von 200.000. Ohne --gas 600000 (oder höher) schlägt die Transaktion mit einem kryptischen out of gas in location: WritePerByte-Fehler fehl.

Registrierung überprüfen:

qorechaind query pqc key <account-address>

Monitoring

Prometheus-Metriken

QoreChain stellt Prometheus-Metriken auf Port 26660 bereit:

http://localhost:26660/metrics

Wichtige zu überwachende Metriken:

MetrikBeschreibung
qorechain_missed_blocks_totalGesamtzahl der von Ihrem Validator verpassten Blöcke
qorechain_validator_uptimeUptime-Prozentsatz über die letzten N Blöcke
qorechain_reputation_scoreAktueller Reputationswert
qorechain_pool_classificationAktuelle Pool-Zuordnung (0=PoS, 1=DPoS, 2=RPoS)
qorechain_consecutive_signedAufeinanderfolgend signierte Blöcke
consensus_heightAktuelle Blockhöhe
consensus_roundsKonsensrunden für die aktuelle Höhe

Reputationswert abfragen

qorechaind query reputation score $(qorechaind keys show mykey --bech val -a)

Über JSON-RPC:

curl -X POST http://localhost:8545 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "qor_getReputationScore",
"params": ["qorvaloper1..."],
"id": 1
}'

Health-Checks

# Node-Status
qorechaind status | jq '.sync_info'

# Signierinformationen des Validators (Uptime, verpasste Blöcke)
qorechaind query slashing signing-info $(qorechaind comet show-validator)

# Prüfen, ob Ihr Validator im aktiven Set ist
qorechaind query staking validators --status bonded | grep "my-validator"

Best Practices für den Betrieb

  1. Eine Sentry-Node-Architektur verwenden. Betreiben Sie Ihren Validator hinter Sentry-Nodes, um ihn vor DDoS-Angriffen zu schützen. Setzen Sie nur die Sentry-Nodes dem öffentlichen Netzwerk aus.

  2. Alerting einrichten. Konfigurieren Sie Benachrichtigungen für verpasste Blöcke, niedrige Uptime und unerwartete Neustarts. Ein paar verpasste Blöcke sind normal; anhaltende Ausfälle lösen Slashing aus.

  3. Hohe Uptime aufrechterhalten. Das Reputationssystem belohnt konsistente Uptime. Längere Ausfallzeiten verschlechtern Ihren Reputations-Qualitätsfaktor und verringern die Belohnungen.

  4. Software aktuell halten. Verfolgen Sie QoreChain-Releases und spielen Sie Updates zeitnah ein. Stimmen Sie sich für Chain-Upgrades mit der Validator-Community ab.

  5. Ihre Schlüssel sichern. Verwenden Sie ein Hardware-Sicherheitsmodul (HSM) oder einen Remote-Signer für den Konsensschlüssel des Validators. Bewahren Sie Schlüssel niemals auf derselben Maschine wie den Node auf.

  6. Einen PQC-Schlüssel registrieren. Machen Sie Ihren Validator durch die Registrierung eines ML-DSA-87-Schlüssels zukunftssicher gegen Quantenbedrohungen.

  7. Ihren Pool überwachen. Verfolgen Sie Ihre Pool-Klassifizierung alle 1.000 Blöcke. Eine Verbesserung Ihrer Reputation kann Sie von PoS zu RPoS verschieben und Ihre Blockvorschlagsmöglichkeiten erheblich erhöhen.


Referenz: Validator-Befehle

# Validator-Metadaten bearbeiten
qorechaind tx staking edit-validator \
--moniker "new-name" \
--website "https://myvalidator.com" \
--details "Description of my validator" \
--from mykey -y

# Nach Downtime-Slashing entsperren (unjail)
qorechaind tx slashing unjail --from mykey -y

# Zusätzlichen Stake delegieren
qorechaind tx staking delegate $(qorechaind keys show mykey --bech val -a) \
500000000uqor --from mykey -y

# Belohnungen auszahlen
qorechaind tx distribution withdraw-rewards $(qorechaind keys show mykey --bech val -a) \
--commission --from mykey -y

Verbundene Netzwerke validieren

Ab Chain-Version v3.1.80 kann ein QoreChain-Validator auch dabei helfen, die über die Bridge verbundenen Netzwerke zu validieren. Dies ist lizenzgebunden und optional:

  1. Die Lizenz besitzen. Der Validator muss eine aktive Lizenz validator_<chain> (oder qcb_bridge) für das Zielnetzwerk besitzen. Der Orchestrator verweigert den Start eines externen Clients ohne diese Lizenz (fail-closed).
  2. Die Aktivierung stellt den Client automatisch bereit. Sobald die Lizenz aktiviert ist, stellt QoreChain den passenden Client des jeweiligen Netzwerks auf Ihrem Node bereit — lädt den festgelegten Client herunter, erzeugt dessen Konfiguration und betreibt ihn unter der Orchestrierung von QoreChain. Vor der Aktivierung wird nichts heruntergeladen.
  3. Die Schlüssel und den Stake des Netzwerks selbst bereitstellen. Die Validator-/Stake- und Signierschlüssel des externen Netzwerks werden vom Betreiber selbst bereitgestellt, pro Netzwerk; QoreChain liefert das Treiber-Framework und die erzwungene Lizenzsperre, nicht Ihren externen Chain-Stake.

Für alle 37 Bridge-Netzwerke existieren Treiber, klassifiziert danach, wie ein Validator teilnehmen kann:

KlasseTeilnahmeBeispiele
Permissionless ValidatorStaken und betreibenSolana, Ethereum, Avalanche, Sui, Aptos, Cardano, Tezos, Algorand, Starknet
Gedeckelt / gewählt / mit ZulassungStaken, vorbehaltlich einer Obergrenze oder WahlBSC, Polygon, Polkadot, TRON, Sei, Injective, NEAR, Hedera
L2-Full-NodeEinen Full-Node betreiben (kein Staking)Optimism, Base, zkSync Era, Linea, Scroll, Arbitrum
Nicht-staking / Trust-ListeBeobachten / teilnehmen ohne StakingBitcoin, Filecoin, XRPL, Stellar
hinweis

Die Client-Versionsfestlegungen erfolgen nach bestem Wissen; überprüfen Sie vor einer Produktivaktivierung das Upstream-Client-Release für Ihr Zielnetzwerk.

Nächste Schritte