Kurzfassung
Plasma trennt Validator-Nodes (die Blöcke vorschlagen und finalisieren) von Non-Validator-Nodes (die RPCs bedienen und der Chain folgen, ohne den Konsens zu beeinflussen). Dadurch kann Plasma die Validator-Menge klein und sicher halten, RPC-Anbietern unabhängige Skalierung ermöglichen und vermeiden, dass Konsens- oder Networking-Risiken hinzukommen.High-Level-Architektur
| Schicht | Rolle | Vertrauensmodell |
|---|---|---|
| Konsensschicht (CL) | Blöcke vorschlagen und finalisieren | PlasmaBFT |
| Ausführungsschicht (EL) | Transaktionen verarbeiten, State verwalten, RPCs bedienen | Vertraut vollständig der zugehörigen CL |
Die Skalierungsherausforderung
Mit zunehmender Nutzung benötigen mehr Apps und Nutzer RPC-Zugriff, um Chain-Daten abzufragen oder Transaktionen zu senden. Aber wenn jeder neue Ausführungs-Node zwingend mit einem neuen Konsens-Node gekoppelt werden muss, wird die Skalierung ineffizient und es droht eine Aufblähung der Validator-Menge. RPC-Anbietern zu erlauben, zusätzliche Validatoren nur zur Befriedigung der Lese-Nachfrage zu betreiben, ist weder praktikabel noch im Einklang mit Plasmas Performance-Zielen.Die Lösung: Non-Validator-Nodes
Non-Validator-Nodes verhalten sich wie Konsens-Nodes, nehmen aber nicht am Konsens teil. Stattdessen „folgen” sie einem vertrauenswürdigen Validator für finalisierte Blöcke und Fork-Choice-Updates. Schlüsselverhalten:- Sie abonnieren den Konsens-Node eines Validators, um synchron zu bleiben.
- Sie exponieren dieselbe Fork-Choice-Sicht, die ein echter Validator hätte.
- Sie lesen nur, fügen also keine Last hinzu und stellen keine Sicherheitsrisiken dar.
Vorteile dieses Designs
| Ziel | Wie Non-Validator-Nodes helfen |
|---|---|
| Validator-Menge schlank halten | Non-Validator-Nodes stimmen nicht ab; nur Validatoren tun das. |
| Unbegrenzte horizontale Skalierung | RPC-Anbieter können hunderte von Read/Write-RPC-Nodes hochfahren, jeder mit eigenem Non-Validator-Node, ohne neue Validator-Plätze zu benötigen. |
| Konsenskorrektheit wahren | Jeder Ausführungs-Node folgt weiterhin genau einer CL. Es besteht kein Risiko einer State-Divergenz. |
| Risiko reduzieren | Non-Validator-Nodes sind Read-Only und können Konsensnachrichten nicht beeinflussen. |
| Failover vereinfachen | Indem sie mehreren Validatoren folgen, können sie automatisch zu einem neuen wechseln, wenn einer offline geht. |
Zusammenfassender Vergleich
| Funktion | Validatoren | Non-Validator-Nodes |
|---|---|---|
| Konsensteilnahme | Vollständig (vorschlagen, abstimmen, finalisieren) | Keine (nur empfangen) |
| Nachrichtentypen | Alle Konsensnachrichten | Nur Block-Nachrichten |
| Netzwerkrolle | Aktiver Teilnehmer | Passiver Follower |
| Ressourcenanforderungen | Höher (vollständiger Konsens) | Niedriger (nur Messaging) |
Progressive Dezentralisierung
Plasma folgt einem Modell der progressiven Dezentralisierung. Statt die Validator-Menge vom ersten Tag an zu öffnen, liegt der anfängliche Fokus auf Stabilität, Performance und Entwicklerfreundlichkeit. Dieser Ansatz priorisiert die Netzwerkzuverlässigkeit, während sich Kernprotokoll-Komponenten noch weiterentwickeln. Dezentralisierung bleibt ein langfristiges Ziel, wird aber stufenweise eingeführt. Die Validator-Menge wird in drei Phasen erweitert:Zentralisierter Betrieb
Während des Testnets werden alle Konsens-Nodes vom Plasma-Team betrieben, um schnelle Iteration und minimales operatives Risiko zu ermöglichen.
Vertrauenswürdige Validator-Menge
Nach dem Mainnet-Start tritt eine kleine Gruppe externer Validatoren bei, ausgewählt nach Zuverlässigkeit, operativer Bereitschaft und geografischer Verteilung.
Peer-Discovery
Plasma-Nodes entdecken und verbinden sich mit Peers über zwei unabhängige Mechanismen — einen für jede Schicht des Stacks.Ausführungsschicht (Reth)
Der Execution Client verwendet Ethereums Standard-devp2p-Protokoll für Peer-Discovery. Beim Start verbindet sich Ihr Reth-Node mit einer Reihe vertrauenswürdiger Execution-Peers, die inenodes.txt definiert sind. Dies sind enode-URLs, die den öffentlichen Schlüssel, die IP-Adresse und den Port jedes Peers kodieren.
Die enodes.txt jedes Netzwerks ist im non-validator-templates-Repository vorkonfiguriert. Nach der Verbindung mit dem initialen Set findet Reths integriertes Discovery-Protokoll (discv4/discv5) automatisch weitere Peers.
Die Execution-P2P-Schicht läuft auf Port 30303 (TCP/UDP).
Konsensschicht (PlasmaBFT)
Der Consensus Observer Client entdeckt Peers über Bootstrap-Nodes, die innon-validator.toml definiert sind. Jeder Bootstrap-Node-Eintrag enthält einen API-Host, P2P-Port und eine libp2p-Peer-ID:
discovery.enabled = true), automatisch weitere Peers im Netzwerk.
Die Konsens-P2P-Schicht läuft auf Port 34070 (TCP).
Nodes hinter NAT
Wenn Ihr Node hinter einem NAT-Gateway oder einer Firewall liegt, können andere Peers ihn möglicherweise nicht über seine interne Adresse erreichen. Sie können eine externe Adresse konfigurieren, damit Peers Ihren Node entdecken und sich verbinden können:p2p_port verwendet. Stellen Sie sicher, dass die externe Adresse erreichbar ist und die relevanten Ports durch Ihre Firewall weitergeleitet werden.
Zusammenfassung
| Schicht | Protokoll | Port | Discovery-Methode |
|---|---|---|---|
| Execution | devp2p | 30303 | Vertrauenswürdige enodes + automatische Discovery |
| Consensus | libp2p | 34070 | Bootstrap-Nodes aus non-validator.toml |
Schnellstart
Node-Typen
Validator-, Non-Validator- und RPC-Anbieter-Rollen verstehen
Non-Validator-Node-Einrichtung
Deployen Sie Ihren Node mit Docker Compose
Hardware-Anforderungen
Minimum- und empfohlene Spezifikationen für Ihren Node
Operator-Onboarding
Loslegen mit erlaubnisfreiem Node-Betrieb