Validator-Checkliste

Die Checkliste wird dein Verständnis im Bezug auf Validatoren verbessern und dich auf diese Rolle vorbereiten.Besuche EthStaker auf Discord oder Reddit während des Setups, um etwas Hilfe zu bekommen!

Abschnitt 1 - Bevor du anfängst

Lies dir diesen Abschnitt nochmals durch, bevor du dich entscheidest mit dem Validator-Setup fortzufahren.

Haftungsausschluss für Empfehlungen

Hardware-Vorschläge sind ein sich ständig weiterentwickelndes Ziel. Die aktuellen Mindestanforderungen werden nach der Zusammenlegung und Einführung von Shard-Chains wahrscheinlich um eine Größenordnung steigen. Stellen Sie Ihre eigenen Nachforschungen an, bevor Sie Anlagen einzahlen.

Festplatte

  • Du musst einen Ausführungs-Client und auch deinen Konsens-Client ausführen.
  • Seit "The Merge" sind Drittanbieter (wie Infura und Alchemy) keine brauchbaren Optionen mehr, um die Verantwortung für die Ausführungsebene auszulagern. Alle Staker müssen sowohl einen Ausführungs- als auch einen Konsens-Client betreiben, um das Netzwerk ordnungsgemäß bescheinigen zu können.
  • Ab dem Mai 2022 benötigen Sie etwa 1 TB nur die Daten der Mainnet-Ausführungs-Chain (Anstieg auf > 1 GB/Tag).
  • Die Geburtsstunde von Ethereum war der 30. Juli 2015. Seither ist das Netzwerk stetig gewachsen. Dadurch und mit der Einführung des Shardings steigen die Anforderungen an Speicher, Arbeitsspeicher und Bandbreite.
  • Du benötigst SSD-Speicher, um die notwendigen Lese- und Schreibgeschwindigkeiten konsequent zu bewältigen.
  • Achte darauf, dass genügend Speicherplatz auf deinem Laufwerk vorhanden ist, bis du die Wartung deiner Node durchführst.

CPU und RAM

  • Überprüfe die Client-Dokumentation, um sicherzustellen, dass die Hardware, die du verwenden möchtest, ausreichend ist und unterstützt wird.
  • Die Ressourcennutzung kann zwischen Clients erheblich variieren. Erforsche die verschiedenen Clients, wenn du mit Ressourcenbeschränkungen arbeitest.

Internet

  • Idealerweise sollte deine Internetverbindung zuverlässig und möglichst nahezu rund um die Uhr ohne Unterbrechung sein.
  • Stelle sicher, dass deine Bandbreite nicht gedrosselt werden kann und nicht begrenzt ist, sodass deine Node synchronisiert bleibt und bereit zum Validieren ist, wenn sie aufgerufen wird.
  • Zudem benötigst du auch eine ausreichende Upload-Bandbreite. Stand Mai 2022 ist das etwa 1,2–1,3 GB Download und etwa 0,9–1 GB Upload pro Stunde. Und die Anforderungen werden vermutlich steigen.

Bemerkungen

  • Vermeiden Sie übermäßig komplizierte Konfigurationen und achten Sie auf Trade-offs. Wenn Sie für kurze Zeit offline sind, führt dies zu kleinen Inaktivitätsnachteilen, die jedoch leicht wieder ausgeglichen werden, wenn Sie für etwa die gleiche Zeit wieder online sind. Komplizierte Stromversorgungs-Backups können die Kosten deines Setups in die Höhe treiben, und redundante Backup-Validatoren können zu einer schwerwiegerenden Strafe führen, die auch als Slashing bekannt ist. Mehr zu den Risiken von Slashing
  • Die Synchronisierung deines Ausführungs-Clients kann im schlimmsten Fall einige Tage dauern.

Abschnitt 2 – Während des SetupsVerwende dies als Referenz während des Client-Setups, um wichtige Schritte abzuhaken.

Ersteinrichtung

  • Beginne mit der Einrichtung deines gewählten Hardware- und Betriebssystems.
  • Um die Sicherheit und Effizienz deiner Node zu maximieren, nutze dedizierte Hardware für die Ausführung deiner Clients. Dies verringert das Risiko der Malware-Exposition und minimiert den Wettbewerb um Rechenressourcen, so dass deine Node die Netzwerklast und seine Validierungsaufgaben jederzeit bewältigen kann.

Sicherheit der Node

Ausführungs-ClientStandardport
Besu30303 TCP/UDP
Erigon30303 TCP/UDP
Geth30303 TCP/UDP
Nethermind30303 TCP/UDP
Konsens-ClientStandardport
Prysm13000 TCP, 12000 UDP
Teku9000 TCP/UDP
Nimbus9000 TCP/UDP
Lighthouse9000 TCP/UDP
Mehr über Ports in Netzwerken erfahren

Zeitsynchronisation konfigurieren

Für Ubuntu 20.04
  • Führe folgenden Befehl aus:
    timedatectl
  • Prüfen, ob NTP Service gleich active ist.
  • Überprüfe, ob Local time, Time zone und Universal time alle korrekt sind.
  • Wenn NTP Service nicht active ist, führe aus:
    sudo timedatectl set-ntp on
  • Wenn du die Fehlermeldung Failed to set ntp: NTP not supported siehst, musst du womöglich das chrony- oder ntp-Paket installieren.
  • Hinweis: Standardmäßig können VMs NTP deaktivieren, sodass du möglicherweise eine Workaround für deine Umgebung finden musst.
  • Hinweis: Die RTC (Real-Time Clock) Zeit kann auf deine lokale Zeitzone statt auf UTC gesetzt werden, vor allem in einer VM, deren Uhr auf Windows konfiguriert ist.

Testnet-Übung

Wir empfehlen Ihnen dringend, diese Schritte im aktuellen Testnet durchzuführen, bevor Sie das im Mainnet tun. Goerli

Konfiguriere deinen Ausführungs-Client

Validatorrollen und -verantwortlichkeiten prüfen

Nicht vergessen

Alle Staker müssen einen ausführenden Client mit ihrem Konsens-Client betreiben.

Empfohlen

Discord: Besu | Erigon | Geth | Nethermind

Konfigurieren Sie Ihren Konsens-Client

Warnung!

Es ist ein hohes Risiko, deinen Validator an mehreren Stellen auszuführen. Dies führt zu einem Slash-Ereignis und einer Ausweisung aus dem Netzwerk. Mehr zu den Risiken von Slashing

Empfohlen

Discord: Prysm | Teku | Nimbus | Lighthouse

JWT-Authentifizierung

Die Kommunikation zwischen der Ausführungsebene und der Konsensebene erfolgt mithilfe der Engine-API. Dabei handelt es sich um einen Satz von JSON RPC-Methoden, der für die Kommunikation zwischen den beiden Client-Ebenen verwendet werden kann.Diese Kommunikation wird durch ein JWT-Geheimnis gesichert, das ein geheimer Schlüssel ist, der nur zwischen den beiden Clients zur gegenseitigen Authentifizierung ausgetauscht wird. Dieses gemeinsame JWT-Geheimnis muss jedem Client (sowohl Ausführungs- als auch Konsens-Clients) zur Verfügung gestellt werden, damit sie ordnungsgemäß miteinander kommunizieren können.Konsens-JWT-Dokumente: Lighthouse | Nimbus | Prysm | TekuAusführung JWT-Dokumente: Besu | Erigon | Geth | Nethermind

Abhebungsadresse festlegen

Staker müssen eine Abhebungsadresse einrichten, um Prämienzahlungen von der Konsensschicht freizuschalten. Diese Festlegung erfolgt bei der Generierung Ihrer Validatorschlüssel.
Wenn du vor der Einzahlung keine Abhebungsadresse angibst, musst du einen zusätzlichen Schritt durchführen, um deine Schlüssel zu aktualisieren und Abhebungen zu aktivieren. Die Gelder werden in der Zwischenzeit gesperrt.
Mehr zum Abheben des Einsatzes

Gebührenempfänger festlegen

Staker müssen ihrem Konsens-Client eine Gebührenempfängeradresse mitteilen, um Transaktionsgebührenprämien zu erhalten. Dies ist eine normale Ethereum-Adresse, mit der sie bereits vertraut sind.
Wenn du für deinen Client keine Adresse bereitstellst, erhältst du keine Transaktionsgebühren, wenn dein Validator Blöcke vorschlägt.
Anweisungen, wie du das einrichtest, findest du in der Dokumentation deines Clients auf Konsensebene.Entgelt-Empfängerdokumente: Lighthouse | Nimbus | Prysm | Teku

Konsens-Ebenen-Beacon-Node (BN)

Benötigt

  • Verifiziere es mit dem folgenden Befehl, um zu überprüfen, ob es die Client-Version korrekt zurückgibt:
    curl -H "Content-Type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}' http://<YourServerLocation>:8545
  • Stelle sicher, dass deine Node mehr als 20 Peers hat.

Konsens-Ebenen-Validator-Client (VC)

Benötigt

Abschnitt 3 - Nach der EinzahlungSchütze deine Anlagen mit Hilfe von Überwachungssoftware und lerne, mit verschiedenen realen Szenarien umzugehen.

Diese Schritte sind optional, werden aber empfohlen, um deine Node zu optimieren.

Monitoring

Prometheus- und Grafana-Monitor

Die Clients unterstützen Prometheus und Grafana bei der Visualisierung wichtiger Echtzeit-Metriken über deinen Validator.Überwachungsdokumente: Lighthouse | Nimbus | Prysm | Teku

Testnet-Simulationen

Führe bei der Validierung im Testnet folgende Simulationen durch, um mehr über Ihren Node zu erfahren und dich optimal auf das Mainnet vorzubereiten:

Erweiterte Systemarchitektur

  • Um zu vermeiden, dass deine Validator-Identität dem Netzwerk preisgegeben wird, kannst du ein vertrauenswürdiges VPN verwenden, um das Risiko zu verringen, dass deine IP einsehbar wird.
  • Außerdem kannst du deinen Validator-Client (VC) und deine Beacon-Node (BN) auf getrennten Rechnern und IPs einrichten, so dass dein Keystore auf einem anderen Rechner gespeichert ist, selbst wenn deine Beacon-Node anfällig ist.

Graffiti

Du kannst die Graffiti-Flag deines Validator-Clients verwenden, um deinen vorgeschlagenen Blöcken eine persönliche Note zu geben (ein Text deiner Wahl). Du kannst sie mit Beaconcha.in oder BeaconScan im Blockchain-Explorer ansehen.
Wenn du Fragen hast, ist die EthStaker-Community ein guter Ort, um Hilfe zu finden. Support findest du auf Discord oder Reddit.