Ein eigener Ethereum 2 Validator

Als ich das erste Mal von der Möglichkeit gehört habe, dass es ohne grossen Aufwand möglich ist, bei Ethereum Staking teilzunehmen, wusste ich: ich will einen eigenen Validator betreiben!

Entsprechend las ich mich ein, recherchierte wie ich das machen muss etc. Als es dann soweit war und ich mit der Umsetzung startete, stiess ich aber hier und da schnell mal an Probleme, welche nicht nur trivial zu lösen waren. Auch gab es gewisse Details, die nirgends erwähnt wurden.

Mit dieser Anleitung will ich dem entgegenwirken und euch meine Findings erläutern, damit ihr schnell einen eigenen Validator aufsetzen könnt.

Diese Guide ist nicht für perfektionistische IT-Cracks, sondern für interessierte Ethereum-Fans, die ohne grosses Wenn und Aber zum eigenen Validator kommen wollen.

Ich orientiere mich an einer sehr guten Anleitung von coincashew.com, lasse aber diverse Themen aus und ergänze hier und dort.

Auch ist dieser Guide in keinster Weise als Aufforderung zu verstehen, einen Validator zu betreiben. Der Betrieb kann aufwändig sein und man muss das wirklich selber wollen.

Ihr wollt Ethereum Validator werden? Ich erkläre euch wie!​

Damit ihr einen eigenen Validator betreiben könnt, benötigt ihr Folgendes:

In dieser Anleitung möchte ich nicht auf alle möglichen Variationen eingehen, sondern euch den Weg zeigen, den ich gewählt habe.

Klar könnt ihr unterschiedliche Software nutzen, oder aber die Überwachung anders gestalten. Mein Weg gibt euch einfach eine simple Möglichkeit, zügig an das Ziel zu kommen.

PendingValidators
Auf www.beaconcha.in wird eine einfache Übersicht über die wartenden Validatoren gezeigt. (HIer im Darkmode)

Einen wichtigen Hinweis, den ich erst nirgendswo gefunden habe ist: Es dauert einige Tage, bis ein Validator aktiviert ist! Rechnet also auch damit.

Unter dem Link https://www.beaconcha.in/ seht ihr die Anzahl der aktuell „Pending Validators“.

Jetzt müsst ihr wissen, dass die bei Ethereum 2.0 pro Tag im Schnitt 900 Validatoren aktiviert werden.

Wenn ihr also euren Validator aktiviert und es noch 15’000 „Pending Validators“ gibt, müsst ihr gut 16 Tage warten, bis euer Validator aktiviert wird. Das heisst auch, ihr habt bis dann Zeit die Software zum Laufen zu bringen, nachdem ihr euch registriert habt.

1. 32 Ethereum

Bevor ihr überhaupt starten könnt, benötigt ihr stolze 32 Ethereum. Im Januar 2020 betrug deren Wert bei einem Preis von USD 1’300 gut USD 41’600. Alleine sehr schwierig zu schaffen. Als wir im Dezember starteten, war der Preis zum Glück noch deutlich tiefer.

Eine Idee hier ist, sich mit Bekannten, denen ihr blind vertraut und die sich auch für die Thematik interessieren, zusammen zu tun. So könnt ihr euren einzelnen Beitrag teilen und ihr seid schneller am Ziel. So haben es jedenfalls wir getan. Zu beachten sind dann natürlich steuerliche Aspekte und die Eigentumsverhältnisse. Ebenfalls sollte die Zusammenarbeit klar definiert werden.

Ein weiterer wichtiger Punkt: die Kosten für den Server aufteilen! Wir kalkulierten diesen für 3 Jahre und jeder Teilnehmer zahlte diesen Betrag im Voraus ein.

Zur Umsetzung arbeiteten wir mit BitPanda. Hier habt ihr ihr die Möglichkeit, dass sich jeder selber die ETH kaufen kann und dann die Zusammenlegung keine Gebühren kostet. Alternativ könnt ihr auch andere Börsen nutzen wie Swissborg (Affiliate-Link), oder eine Sonstige. Es macht Sinn, dass jeder selber die ETH kauft, anstatt dass ihr einander Geld überweisst und dann erst die ETH kauft, da die Kursschwankungen einfach zu hoch sein können.

Habt ihr die Ethereum zusammen auf einem Account auf BitPanda, geht es darum den Server zu organisieren. Auf diesem werdet ihr eine MetaMask-Wallet einrichten, auf welche ihr erstmal die 32 ETH überweisen werdet.

2. Ein passender Server

Es gibt diverse Möglichkeiten für Hardware, auf welcher ihr den Ethereum Validator laufen lassen könnt. Wir haben uns für einen Virtual Private Server von contabo.de entschieden. Dieser ist bereits ab EUR 4.99 pro Monat erhältlich.

(Von einem physischen Server zu Hause, rate ich klar ab. Ihr könnt die Ausfallsicherheit von einem solchen Server einfach nicht garantieren)

Zu beachten ist jedoch, dass es auf einem solchen Server nicht möglich ist, einen Ethereum 1 Node laufen zu lassen. Das ist aber auch nicht unbedingt nötig, da externe Nodes genutzt werden können. Im Januar 2020 war dieser Server noch komplett ausreichend. Ich kann nicht garantieren, dass dies immer so bleiben wird. Macht euch also darauf gefasst, dass ihr irgendwann einmal ein Upgrade benötigt, oder Ähnliches.

Achtet bei der Bestellung darauf, dass Ubuntu vorinstalliert wird.

Nach dem Kauf geht es darum, den Server erst einmal einzurichten und gewisse Sicherheitsstandards einzuhalten. Ein guter Guide hierzu ist ebenfalls auf coincashew.com zu finden. Nicht alles davon ist trivial, aber vor allem Themen wie die Firewall, Deaktivierung des Root-Users etc. sind aber sehr wichtig.

Danach empfehle ich, einen Desktop zu installieren, damit ihr grafisch auf den Server zugreifen könnt. Das hilft dann auch, wenn ihr die Einzahlung der 32 Ethereum über MetaMask tätigen müsst. Einen guten Guide dazu findet ihr hier.

Alternativ könnt ihr über SSH mit X-Forwarding arbeiten. Das ist aber äusserst langsam, dafür aber sicherer. Ich hatte keine Nerven dazu… 🙂

Wurde der Desktop installiert, könnt ihr per VNC auf den Server zugreifen und im Firefox noch die Wallet MetaMask installieren. Beachtet jedoch, dass eine VNC-Verbindung nicht verschlüsselt ist. Die Eingabe des User Passworts kann somit abgefangen werden. Es empfiehlt sich somit nach einer VNC-Verbindung jeweils das Passwort des Users über eine SSH Verbindung im Terminal zu ändern. (Mit X-Forwarding habt ihr dieses Problem nicht).

Ist auf dem Server alles aufgesetzt und die MetaMask Wallet installiert, könnt ihr die Überweisung der 32 Ethereum an diese Wallet angehen.

Stellt zuvor sicher, dass ihr die Passphrase des MetaMask Wallets wirklich extern, physisch notiert habt.

Bei einer Überweisung in dieser Höhe empfiehlt es sich, erst einmal nur 0.1 Ether zu überweisen, bevor ihr die volle Anzahl sendet. Dann könnt ihr überprüfen, dass ihr auch alles korrekt eingegeben habt.

3. Registrierung beim Launchpad

Habt ihr die 32 ETH gesammelt und auf die MetaMask Wallet auf eurem Server überwiesen, könnt ihr mit der Registrierung als Validator beginnen.

Hierfür installiert ihr zuerst auf dem Server das Deposit-Tool von Ethereum, über welches ihr eure benötigten Schlüssel für den Validator erstellen könnt. 

Ich habe das Tool mittels Git auf dem Server selber gebaut und dann ausgeführt. Hierfür verbindet ihr euch über den Terminal/Console auf euren Server mittels:

ssh username@server

Seid ihr verbunden, führt ihr ein Basisupdate durch und installiert Pythons Pip und Git selber:

sudo apt-get update

sudo apt install python3-pip git -y

Dann ladet ihr den Code des Deposit-Tools herunter und installiert es:

cd $HOME

git clone https://github.com/ethereum/eth2.0-deposit-cli.git eth2deposit-cli

cd eth2deposit-cli

sudo ./deposit.sh install

Das Tools ist somit ready zur Nutzung. Nun könnt ihr es starten und so einen neuen Gedächtnis Satz erstellen, (Mnemonic Phrase) über welchen ihr in Zukunft eure 32 ETH wieder beziehen könnt. Ebenfalls werden somit die Schlüssel erstellt, welche ihr als Validator benötigt.

Legt euch schon einmal ein Papiernotizbuch bereit, in welches ihr den Mnemonic Saz eintragen könnt. Dann fahrt mit folgender Eingabe im Terminal fort:

./deposit.sh new-mnemonic –chain mainnet

Indem ihr “mainnet” eingebt, wird sichergestellt, dass ihr auf der produktiven Ethereum Umgebung arbeitet.

Folgt den Eingabeaufforderungen. Hier müsst ihr ein Passwort für eure Schlüssel eingeben, welches ihr am besten im Papiernotizbuch aufschreibt. 

Ebenfalls wird euch euer Gedächtnis Satz angezeigt. Das sind 24 einzelne Wörter. Schreibt alle diese Wörter in korrekter Reihenfolge in das Papiernotizbuch (Mit entsprechender Nummer!). Am besten schreibt ihr auf den Satz doppelt ab, in unterschiedliche Notizbücher, welche ihr dann getrennt verwahren könnt.

Ebenfalls sollter ihr bei den 24 Wörtern nicht vermerken für was sie sind! Falls es verloren geht, hat eine Drittperson somit nicht gleich einen Anhaltspunkt, um was es sich handelt.

Kopiert den Satz nicht einfach und speichert ihn auf dem PC! Das ist klar zu unsicher. Falls euer PC korrumpiert wird, habt ihr ein Problem, da jedermann mit diesem Gedächtnis Satz die Einlage von 32 ETH beziehen kann.

Ist das Programm durch, findet ihr im Ordner eth2deposit-cli/validator_keys zwei .json Dateien. Diese repräsentieren euren Schlüssel und eure Einzahlungsdaten. Zweiteres benötigt ihr gleich bei der Registierung.

Der ersteren könnt ihr per SSH-Verbindung auf euren lokalen PC laden und auf einer externen Harddisk speichern, wenn ihr wollt. 

Nun habt ihr euren Schlüssel bereit und ihr könnt euch somit als Validator registrieren.

Verbindet euch per VNC auf euren Server und startet den Firefox-Browser in welchem ihr eure MetaMask Wallet installiert und darauf die 32 Ether überwiesen habt.

Geht in diesem Browser auf den Link https://launchpad.ethereum.org/. Hierbei handelt es sich um eine offizielle Anleitung, über welche ihr euch anmelden könnt. Geht sicher, dass der Link funktioniert und das SSL-Zertifikat stimmt!

Lest euch dort gut durch alles durch und stellt sicher, dass ihr es versteht. Teilweise wird gefragt, mit welcher Software ihr arbeitet. Diese Fragen sind nur informativ und es spielt für diesen Schritt keine Rolle, welche ihr auswählt. Diese installieren wir später.

Bei einem Punkt könnt ihr dann die deposit_data-#########.json Datei hochladen, welche ihr im Ordner eth2deposit-cli/validator_keys findet. Hier geht es eigentlich erst richtig lost und es wird kritisch. In der folgenden Bildstrecke sehr ihr was euch erwartet.

Im nächsten Schritt könnt ihr dann die 32 Ethereum an die Depositadresse überweisen. Hierfür benötigt ihr nun eure volle Aufmerksamkeit! Wir haben das im 4-Augenprinzip gemacht, damit uns sicher kein Fehler unterläuft!

Hierfür verbindet ihr die MetaMask Wallet mit der Launchpad Seite. Eine Transaktion wird angezeigt. Stellt hier unbedingt sicher, dass die Zieladresse, die offizielle Depositadresse ist! Prüft wirklich jede einzelne Stelle der Adresse und gleicht sie ab. 

https://docs.ethhub.io/ethereum-roadmap/ethereum-2.0/deposit-contract/

https://ethereum.org/en/eth2/deposit-contract/ 

Macht ihr hier einen Fehler, sind eure 32 Ethereum unwiderruflich weg! Bist du dir sicher, dass die Empfängeradresse stimmt, bestätige die Transaktion und die 32 ETH sind somit einbezahlt.

Habt ihr die Zahlung getätigt, findet ihr auf der Seite unten dann auch einen Link zu Beaconchain oder Beaconscan, auf denen ebenfalls angezeigt wird, wie der Status der Zahlung ist.

Kopiert euch am besten den Link zu beaconcha.in. Dort solltet ihr auf die Nummer eures Validatoren finden. Notiert sie euch.

Der Status sollte auf “Pending” stehen. Das heisst, die Zahlung hat geklappt, benötigt aber noch einige Zeit, bis die Beaconchain sie verarbeitet hat. Ebenfalls benötigt es noch einige Tage, bis der Validator dann aktiviert wird.

Nun seid ihr dabei! Ihr seid angemeldet und werdet einen wichtigen Bestandteil der Ehtereum-Community sein!

Jetzt benötigt es aber noch die Software! Kein Stress hier, da ihr ja noch einige Tage warten müsst, bis euer Validator aktiviert wird. Aber wenn ihr schon dran seid macht es doch gleich 🙂

Im nächsten Schritt, kannst du nun den Validator in Betrieb nehmen und deinen Key hinterlegen.

4. Installation der nötigen Software

Es gibt unterschiedliche Software für den Validator, die du nutzen kannst. Ich habe mich für Lighthouse entschieden, bei welchem der Validator und der BeaconScanner als eigene Prozesse laufen.

Ebenfalls habe ich mich dagegen entschieden, einen eigenen ETH1 Node zu führen. Hierfür wäre stärkere Hardware nötig.

Es geht aber auch ganz einfach, in dem ihr einen externen Node wählt und diesen verbindet. Ich entschied mich für https://infura.io/. Einfach registrieren und ein neues Projekt erstellen.

In Projekt selber unter Settings könnt ihr dann einen Endpoint wählen (Mainnet). Die angezeigte URL wird später in der Lighthouse Konfiguration eingetragen.

Für die Installation des Validators mit Lighthouse selber, könnt ihr dem Kapitel 4 vom Guide von CoinCashew folgen: 

https://www.coincashew.com/coins/overview-eth/guide-or-how-to-setup-a-validator-on-eth2-mainnet

Beim Kapitel 4.5 müsst ihr jedoch eine Änderung vornehmen. Bei der Erstellung der Setup Instruction müsst ihr nun auf die Infura Adresse verweisen, welche ihr im Dashboard von Infura.io findet. Tragt somit beim Punk „ExecStart“ wie unten beschrieben, den -eth1-endpoints Eintrag mit der Infura-Adresse ein.

Folgender Inhalt gehört in das Service-File für die BeaconChain. Anstelle von XXX tragt ihr den Infura-Endpoint ein.

cat > $HOME/beacon-chain.service << EOF

# The eth2 beacon chain service (part of systemd)

# file: /etc/systemd/system/beacon-chain.service

[Unit]

Description = eth2 beacon chain service

Wants = network-online.target

After = network-online.target

[Service]

User = $(whoami)

ExecStart = $(which lighthouse) bn –staking –metrics –network mainnet –eth1-endpoints https://mainnet.infura.io/v3/XXX

Restart = on-failure

[Install]

WantedBy = multi-user.target

EOF

Infura Screenshot
Unter Ethereum/Settings findet ihr die Auflistung der Endpoints. Wählt hier "Mainnet" und die URL wird euch angezeigt. Kopiert diese in das Beaconchain Service-File.

Alle anderen Schritte bleiben identisch, wie in der Anleitung. Ihr ladet die Software herunter, installiert und parametriert sie. Dann werden die Validatorenschlüssel geladen und die Services so eingerichtet, dass sie bei einem Neustart des Servers automatisch starten.   

Auch das Kapitel 5 solltet ihr noch umsetzen, damit die Zeitsynchronisation stimmt.

Die nötige Software ist somit aufgesetzt. Jetzt müsst ihr warten, bis euer Validator freigegeben wird. Wie bereits oben erwähnt, kann dies einige Tage dauern.

Als nächstes schauen wir noch, wie ihr euren Validator am besten überwachen könnt.

5. Überwachung des Servers

Natürlich könnt ihr Grafana und Prometheus einrichten. Auch könnt ihr mittels Telegram oder sonstigem ein eigenes Alerting einreichten. Das macht durchaus sinn, kann aber etwas komplizierter sein.

Ich jedoch entschied mich für ein Monitoring auf Basis von Ereignissen. Das heisst, mich interessiert eher, ob mein Validator ETH verliert. Hierfür kann man sich auf beaconcha.in registrieren und nach seinem Validator suchen (Speichert den Link gleich in euren Favoriten). Ihr könnt dann euren Validator abonnieren und einstellen, dass ihr benachrichtigt werdet, wenn euer Validator Geld verliert, eine Stimmabgabe verpasst etc.

Bein einer Meldung könnt ihr dann entsprechend reagieren.

Ich werde somit immer von beachoncha.in informiert, sollte mein Validator nicht erreichbar sein, oder Ähnliches. Eine aus meiner Sicht, simple und effiziente Lösung.

Abschliessende Worte

Nun habt ihr alles, damit ihr mit dem Staking von Ethereum starten könnt!. Du musst nun nur noch warten, bis dein Validator definitiv zugelassen wird. Das kann wie erwähnt, einige Tage dauern. 

Mir ist bewusst, dass das Thema nicht ganz trivial ist. Aus diesem Grund habe ich versucht, mittels diesem Guide auch Anfängern einen Zugang zu ermöglichen. Falls ihr jedoch auf Probleme stösst, lest die gesamte Anleitung bei Coincashew noch durch. Bei weiteren Problemen zu Lighthouse würde ich beim Github Projekt nachfragen, oder bei Lighthouse Discordchannel.

Ebenfalls ist mir bewusst, dass ich hier eine eher „einfache“ Lösung gewählt habe, in dem ich keinen eigenen ETH1-Node hoste. Das passt sicher nicht allen, aber das technische Verständnis, muss noch etwas höher sein, um zu verstehen, was dort passiert.

Habt ihr noch Fragen zum Thema, oder bestehen noch Unklarheiten? Schreibt mir doch direkt ein Kommentar.

close

Bleib über Kryptos informiert!

Wir senden keinen Spam! Erfahre mehr in unserer Datenschutzerklärung.

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on email
Email
Roland Strasser

Roland Strasser

Schmeisst man Wirtschaft, IT und Realismus in einen Topf, komme ich heraus. Cryptofan mit gesunder Skepsis zum Trend, aber langfristig mit klarer bullisher Tendenz!
Andere relevante Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Roland Strasser

Der KryptOhr

Kryptowährungen sollte jeder kennen!

Für mich zählen Kryptowährungen zu einem der wichtigsten Faktoren der heutigen Zeit. Hiervon sollten alle profitieren können. Mit diesem Blog versuche ich verschiedenste Themen aus diesem Gebiet einfach und für jeden verständlich darzustellen.

Mein Favorit
Kategorien
Coins kaufen?

Swissborg nutzen

Mit Swissborg habt ihr einen einfachen und günstigen Zugang zu den wichtigsten Kryptos!
Neuste Einträge