Con Ethereum 2.0 è possibile fare staking, validare le transazioni e guadagnare cifre molto interessanti con pochissimo sforzo. Il bello è che non è più necessario acquistare potenti GPU e spendere centinaia di euro in corrente elettrica: basta invece un tradizionale PC e un po' di pazienza per configurare tutto quanto nel modo corretto. Ebbene: in questa guida passo per passo vedremo proprio come fare staking con Ethereum 2.0 e guadagnare gli interessi

** VIDEO IN PREPARAZIONE ***

nota: al momento in cui pubblico questo articolo, Ethereum 2.0 è operativo sulla rete principale (mainnet) da poche ore. La raccomandazione è di attendere qualche tempo affinché la situazione si stabilizzi prima di partecipare. Nel mentre, svolgeremo la procedura sulla rete di test (testnet), dove è già possibile provare la configurazione in tutta sicurezza.

Staking Ethereum 2.0: cosa significa, come funziona

La prima versione di Ethereum utilizzava la modalità Proof of work (PoW) per validare le transazioni. Si tratta dello stesso sistema impiegato tutt'oggi da Bitcoin, nel quale gli utenti che decidono di svolgere l'attività di mining competono per l'occasione di validare le transazioni (l'invio di monete da un indirizzo all'altro, ad esempio), scrivere il risultato sulla blockchain e guadagnare la ricompensa prevista per il lavoro svolto

» Leggi anche: Bitcoin come funziona: spiegazione facile e veloce a disegni (video)

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video) - staking ethereum spotlight

Per svolgere l'attività di mining è necessaria attrezzatura specializzata, generalmente costituita da dispositivi hardware dedicati (ASIC) o, nel caso di Ethereum, molteplici schede video (GPU) di fascia alta collegate in parallelo fra loro: sono le stesse progettate per i videogiochi che troviamo nei PC da gaming. È quindi necessario un investimento iniziale importante per l'acquisto dell'hardware. Di più: poiché questi apparecchi consumano moltissima energia elettrica, il mining genera profitto solo quando il costo dell'elettricità è basso (pannelli fotovoltaici con batterie, ad esempio).

Ethereum 2.0 utilizza invece la modalità Proof of stake (PoS), nella quale gli utenti "bloccano" le proprie monete Ethereum (ETH) all'interno di uno smart contract e vengono sorteggiati periodicamente per validare le transazioni. Chi decide di svolgere questa attività viene detto validatore e guadagna le commissioni pagate da chi ha svolto la transazione. Non è dunque più necessario acquistare costosa attrezzatura hardware: basta un normale PC, preferibilmente a basso consumo energetico per ridurre la spesa elettrica e massimizzare i guadagni.

Staking Ethereum 2.0: cosa serve

Chiunque può diventare validatore sulla rete Ethereum: basta disporre dei requisiti e configurare il sistema. In particolare, è necessario:

  1. un PC, fisso o portatile (vedi seguito)
  2. Linux da linea di comando: di seguito riporteremo ogni singolo comando da impartire, ma è comunque indispensabile un minimo di manualità con la linea di comando in ambiente Linux
  3. connessione a Internet con indirizzo IP pubblico: dovremo aprire (esporre) alcune porte, quindi le connessioni mobili 4G non vanno bene. "Sì" invece ad ADSL e fibra
  4. collegamento a Internet stabile: una linea "home" è sufficiente, a patto che sia stabile e non vada giù di frequente
  5. alimentazione elettrica stabile: il PC di staking e il router che lo collega ad Internet dovranno rimanere sempre accesi e operativi. Se viviamo in una zona nella quale vi sono frequenti interruzioni, dobbiamo acquistare un gruppo di continuità (UPS) con una batteria ad alta capacità

» Leggi anche: Connessione Internet con indirizzo IP privato (doppio NAT). Significato, differenze IP pubblico/privato, spiegazione problemi

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video) - indirizzo ip pubblico privato spotlight

Gli ultimi due requisiti sono delicati, ma importanti: se infatti il PC di staking sarà offline (spento o scollegato da Internet) al momento in cui viene sorteggiato per validare le transazioni, subiremo una penalità e perderemo qualche decimo di ETH come "multa".

Quante monete servono per lo staking di Ethereum

Per diventare validatore è necessario possedere 32 ETH (32.2 ETH, in realtà: i decimali servono per pagare i costi di spostamento delle monete stesse dal wallet allo smart contract). Se già possiedi questo ammontare... buon per te! Puoi "fare sul serio" e guadagnare cifre interessanti. Al momento in cui scrivo, 32 ETH hanno un controvalore superiore agli 11.000 €: una cifra non certo irraggiungibile, ma fuori dalla portata mia e di molti altri "smanettoni".

Tutti noi che non riusciamo a raggiungere questa soglia ma vorremmo comunque "smanettare" per provare la tecnologia possiamo ottenere gratuitamente 32 ETH di test dalla rete Görli e svolgere lo staking sulla testnet : guadagneremo "soldi senza alcun valore", ma è comunque un'esperienza formativa estremamente interessante. Vedremo la procedura in seguito.

Infine: chi volesse guadagnare dallo staking di Ethereum pur senza possedere 32 ETH reali può rivolgersi agli staking pool: servizi che aggregano le poche monete di molteplici utenti per raggiungere la soglia e fare staking, per poi ritornare gli interessi ai partecipanti. Ne ho parlato qui:

» Leggi: Come fare staking con pochi Ethereum: guida ai migliori staking pool

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video) - staking ethereum pochi spotlight

Quale PC usare per lo staking di Ethereum

Nel sistema Proof of stake, non è necessario che il PC sia "potente": la validazione delle transazioni richiede infatti pochissima potenza di calcolo, molta meno di quanto non offra un moderno smartphone

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video) - old notebook windows vista

In linea di massima, anche un semplice Raspberry Pi o altro sistema integrato (SoC) analogo va bene. Nella presente guida useremo però un computer completo tradizionale: un vecchio notebook è l'ideale, a patto che abbia CPU a 64 bit e almeno 2 GB di RAM:

» Leggi: Come vedere se il PC ha un processore a 64 bit (CPU x64) con Windows 10 o Linux

Non scaricheremo l'intera blockchain di Ethereum, quindi non è necessario avere un disco molto capiente: la mia configurazione di test occupa meno di 30 GB in totale. La sostituzione del disco meccanico con un veloce SSD è vivamente raccomandata per motivi di velocità e affidabilità, ma comunque non obbligatoria.

Tale PC dovrà essere dedicato allo scopo: non potremo dunque usare il nostro computer personale.

Staking Ethereum, passo 1: Installare Ubuntu 20.04

Per prima cosa, dobbiamo installare Linux sul PC dedicato allo staking. Qualsiasi distribuzione va bene, ma la presente guida prevede l'uso di Ubuntu 20.04: non è l'ultima versione rilasciata, ma si tratta di quella che garantisce il supporto esteso (LTS), con tutti gli aggiornamenti di sicurezza gratuiti fino al 2025 (persino fino al 2030, attivando la sottoscrizione a pagamento) ed è indubbiamente la più indicata per un progetto di questo tipo

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video) - ubuntu usb spotlight

Possiamo scegliere indifferentemente Ubuntu Desktop oppure Ubuntu Server. In entrambi i casi lavoreremo perlopiù da linea di comando, ma l'edizione Desktop è raccomandabile ai meno esperti perché include il familiare ambiente grafico ed il browser web necessario all'attivazione del validatore. L'edizione Server, invece, è totalmente a linea di comando e richiede un passaggio in più.

Per il download e la guida all'installazione di Ubuntu si veda l'approfondimento dedicato:

» Leggi: Video-guida: come installare Ubuntu da chiavetta USB (Linux facile)

Staking Ethereum, passo 2: Aggiornamento completo

Subito dopo aver aggiornato Ubuntu, è di importanza critica applicare tutti gli aggiornamenti seguendo queste indicazioni:

» Leggi: Aggiornare Ubuntu: quali differenze fra apt-get update, apt-get upgrade e apt-get dist-upgrade? Il modo migliore è... zzupdate!

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video) - zzupdate spotlight

Staking Ethereum, passo 3: Avviare il Terminale

Chi abbia scelto Ubuntu Server accede direttamente alla linea di comando, quindi può proseguire.

Chi invece abbia preferito Ubuntu Desktop deve avviare il Terminale tramite la combinazione da tastiera Ctrl+Alt+T. In alternativa, cliccare sul pulsante con i 3x3 punti in basso a sinistra e cercare terminale per lanciare rapidamente l'omonima applicazione

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video) - linux apri terminale

» Leggi anche: Come aprire il terminale di Ubuntu

Staking Ethereum, passo 4: Accesso SSH (opzionale)

Se abbiamo la possibilità di interagire con il PC dedicato allo staking tramite il mouse, la tastiera e lo schermo fisicamente collegati allo stesso, le cose sono più semplici e possiamo procedere al passo successivo. Per inciso: questa è la modalità più sicura, che raccomando a tutti coloro che facciano staking con 32 ETH "reali".

In caso contrario, dovremo accedervi tramite VNC (solo Ubuntu Desktop) o, ancora meglio, SSH. Dobbiamo dunque configurare e usare SSH, come mostrato in quest'altro articolo:

» Leggi: Come usare SSH nel modo più facile possibile: video-guida per Windows 10 e Linux

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video) - guida ssh spotlight

Considerata la criticità di mantenere il sistema sicuro, è imperativo disattivare l'accesso SSH via password ed entrare solo tramite chiave. Ho mostrato come svolgere questa importante configurazione qui:

» Leggi: Accedere con PuTTY (SSH) senza password a Linux/Ubuntu/CentOS: guida all'autenticazione con chiave asimmetrica (RSA)

Raccomando a chiunque acceda al PC di staking via SSH di non sottovalutare l'importanza di questa accortezza e svolgere la modifica immediatamente.

Staking Ethereum, passo 5: Diventare root

Le operazioni descritte di seguito richiedono i privilegi di amministratore. Per non impazzire, acquisiamoli immediatamente impartendo il comando sudo -s

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

In caso venisse richiesta la password, digitiamo quella dell'utente corrente.

Ricordiamo di svolgere questa operazione per prima cosa dopo ogni riavvio, chiaramente solo mentre stiamo configurando tutto quanto.

Staking Ethereum, passo 6: Installare il nodo Ethereum (Go Ethereum)

Siamo ora pronti ad entrare nel vivo della trattazione. Il primo componente richiesto è il software Go Ethereum, l'implementazione ufficiale in linguaggio Go del protocollo Ethereum. In questo modo, il PC diverrà un nodo della rete Ethereum e potrà comunicare con gli altri.

Iniziamo aggiungendo la fonte ufficiale dell'installazione (presa da qui):

add-apt-repository -y ppa:ethereum/ethereum

Ora installiamo il software vero e proprio:

apt update && apt install geth -y

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Staking Ethereum, passo 7: Creare l'utente per Go Ethereum

Creiamo ora una nuova utenza con privilegi minimi: sarà quello che eseguirà materialmente l'applicazione. Allo scopo, impartiamo i tre comandi seguenti per creare l'utente di nome goeth, la cartella /var/lib/goethereum e concedergli pieno accesso alla stessa:

useradd --no-create-home --shell /bin/false goeth

mkdir -p /var/lib/goethereum

chown -R goeth:goeth /var/lib/goethereum

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Staking Ethereum, passo 8: Eseguire Go Ethereum come servizio

Per eseguire Go Ethereum come servizio dobbiamo creare un file di configurazione. Il modo più facile per raggiungere l'obbiettivo è di scaricare quello già pronto tramite il comando curl. Installiamolo perché non è presente nella dotazione base:

apt update && apt install curl -y

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Ora procediamo ad ottenere il file di configurazione del servizio vero e proprio. Abbiamo due possibilità:

  1. fare una prova utilizzando "Ethereum finti", collegandoci alla testnet
  2. fare sul serio, con 32 ETH veri, e collegarci alla rete Ethereum 2.0 (mainnet)

Nel primo caso (testnet), scarichiamo il file dedicato:

curl -o /etc/systemd/system/geth.service https://turbolab.it/scarica/344

cat /etc/systemd/system/geth.service

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Nel secondo caso (mainnet):

curl -o /etc/systemd/system/geth.service https://turbolab.it/scarica/348

cat /etc/systemd/system/geth.service

Staking Ethereum, passo 9: Eseguire automaticamente Go Ethereum all'avvio

Ora che abbiamo preparato il servizio, facciamo in modo che parta automaticamente all'avvio del computer:

systemctl enable geth

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Per sincerarcene, riavviamo il sistema:

reboot

Terminato il riavvio, assicuriamoci di ri-acquisire i privilegi di root (sudo -s), quindi visualizziamo lo stato del servizio:

service geth status

La schermata dovrebbe mostrare il messaggio active (running)

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Battere Q sulla tastiera per uscire.

Nel frattempo, la ventola del PC sarà partita con irruenza: digitiamo top e scopriamo che il colpevole è proprio il servizio geth appena creato, che utilizza la CPU al 100%

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

È una situazione assolutamente normale mentre il nodo si sincronizza con la rete e potrebbe durare parecchie ore: non so dire esattamente "quante", perché io ho lasciato il PC a lavorare tutta notte e l'indomani aveva terminato. Per seguire l'avanzamento di questa fase, battiamo Q sulla tastiera per uscire da top e impartiamo quanto segue:

journalctl -f -u geth.service

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Le singole righe riportano un messaggio simile a questo:

Nov 01 17:45:53 eth geth[603]: INFO [11-01|17:45:53.493] Imported new block headers count=2048 elapsed=1.366s number=1419455 hash="0af687…9fe

Fino a quando appaiono nuove righe, va tutto bene: l'operazione sta continuando.

Premere Ctrl+C sulla tastiera per uscire e possiamo continuare con il resto della configurazione.

Staking Ethereum, passo 10: Ottenere ETH da Görli

Se stai "facendo sul serio" e già possiedi i 32 ETH "veri" che servono per lo staking, puoi passare oltre.

Se invece stai giocando con la testnet, devi procurarti 32 ETH "fasulli" dalla rete di test Görli. Allo scopo, passa ad un PC dotato di interfaccia grafica (può essere anche il medesimo PC di staking, se hai scelto Ubuntu Desktop) e installa l'estensione MetaMask per il browser web:

» Ottieni: MetaMask per Chrome/Edge

» Ottieni: MetaMask per Firefox

Completata la configurazione iniziale di MetaMask, clicca sul menu a tendina Reti (in alto a destra) e seleziona Rete di test Goerli

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video) - zShotVM_1604266162

Ora clicca sulla dicitura Account 1 a centro pagina per copiare l'indirizzo del wallet

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video) - zShotVM_1604266298

Accedi ora al canale #request-goerli-eth su ethstaker tramite questo link (è necessario registrarsi ed eseguire login a Discord). A questo punto è sufficiente inviare un messaggio nel canale simile a questo:

!goerliEth MioIndirizzoEthereum

Chiaramente, dobbiamo sostituire alla parola MioIndirizzoEthereum il reale indirizzo del wallet appena copiato

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

In caso il canale su Discord smettesse di funzionare, segnalo come alternativa il sito Goerli Authenticated Faucet. Questa risorsa richiede di inserire un messaggio pubblico sul proprio profilo Twitter o Facebook per ricevere le monete: una meccanica un po' bislacca (preparatevi a ricevere molti commenti perplessi da parte degli amici) che, personalmente, preferisco evitare.

Attendiamo alcuni minuti (pochi istanti, nel mio caso) e riceveremo l'accredito su MetaMask

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video) - zShotVM_1604268213

Wow! Ho appena ricevuto quasi 12.000 €!! Anzi no, sono soldi giocattolo, peccato...

Staking Ethereum, passo 11: Installare eth2.0-deposit-cli

Procediamo installando il tool eth2.0-deposit-cli: uno strumento che genera le chiavi crittografiche di identità (una sorta di "account") che, successivamente, faremo assurgere al ruolo di "validatore".

Prima di tutto, installiamo i prerequisiti, ovvero Git per ottenere il codice, l'interprete Python 3 e il relativo gestore di pacchetti PIP:

apt install git python3 python3-pip -y

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Ora cloniamo il repository del tool vero e proprio:

cd $HOME

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

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Entriamo nella cartella e lanciamo l'installazione vera e propria:

cd eth2.0-deposit-cli

./deposit.sh install

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Staking Ethereum, passo 12: Creare un account da validatore

Usiamo ora il client appena installato per generare le chiavi. Ancora una volta, dobbiamo svolgere passaggi leggermente diversi a seconda dell'obbiettivo:

  1. stiamo facendo una prova utilizzando "Ethereum finti", collegandoci alla testnet
  2. stiamo facendo sul serio, con 32 ETH veri, e collegarci alla rete Ethereum 2.0 (mainnet)

Questa scelta deve essere la stessa che abbiamo effettuato in precedenza, quando abbiamo attivato il servizio Go Ethereum.

Nel primo caso (testnet), impartiamo questo comando

./deposit.sh --num_validators 1 --chain medalla

Se invece stiamo facendo sul serio (mainnet):

./deposit.sh --num_validators 1 --chain mainnet

In ogni caso, ci viene chiesto di scegliere la lingua: digitiamo italian.

Subito dopo, scegliamo la password che deve essere utilizzata per proteggere le chiavi crittografiche. Digitiamola poi di nuovo per conferma. Attenzione! Questa password va custodita con cura (KeePass, Bitwarden): ci servirà in seguito.

A questo punto vengono mostrate le parole di seed, ovvero una serie di parole che potremo utilizzare in seguito per recuperare le nostre monete nel malaugurato caso in cui non riuscissimo più ad accedere al PC (a causa della rottura del disco, ad esempio). Questa frase va trascritta, preferibilmente su un pezzo di carta, e conservata al sicuro

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Premere un tasto per continuare.

Saremo così chiamati a ri-inserire le parole appena mostrate, come conferma che le abbiamo annotate correttamente

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

La procedura terminerà in automatico generando le chiavi crittografiche

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Nel mio caso, tutti dati sono stati salvati nella cartella /root/eth2.0-deposit-cli/validator_keys. È certamente opportuno fare un backup di questa cartella, in modo da poterla ripristinare facilmente in caso di problemi

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Staking Ethereum, passo 13: Installare Nimbus

Installiamo ora Nimbus, un client "leggero" per la rete Ethereum 2.0. Poiché Nimbus deve essere compilato dai sorgenti, ci servono Git per ottenere il codice e il pacchetto Build Essentials di Ubuntu per trasformarlo in codice macchina. Installiamo tutto quanto:

apt install build-essential git libpcre3-dev -y

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Ora cloniamo il repository Git del progetto per ottenere il codice sorgente:

cd $HOME

git clone https://github.com/status-im/nimbus-eth2.git

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Entriamo nella cartella e lanciamo la compilazione:

cd nimbus-eth2

make beacon_node

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

L'operazione richiede parecchio tempo. In particolare, il messaggio Building: Nim compiler e, dopo di lui, molti altri componenti con il prefisso Building: rimarranno fermi sullo schermo per parecchi minuti: è normale, bisogna solo pazientare.

Al termine, spostiamo l'eseguibile generato nella cartella dedicata, di modo che sia poi possibile invocare semplicemente il comando nimbus per usarlo:

mv /$HOME/nimbus-eth2/build/beacon_node /usr/local/bin/nimbus

Infine, non dimentichiamo di eliminare la cartella dei sorgenti: questo manterrà pulito l'ambiente di lavoro ed eviterà confusione in fase di aggiornamento. Allo scopo impartire

rm -rf $HOME/nimbus-eth2

Staking Ethereum, passo 14: Creare l'utente per Nimbus

Procediamo creando un utente dedicato all'esecuzione di Nimbus e la relativa cartella per contenere i dati:

useradd --no-create-home --shell /bin/false nimbus

mkdir -p /var/lib/nimbus

chown -R nimbus:nimbus /var/lib/nimbus

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Detta cartella deve avere un predeterminato set di permessi, altrimenti i comandi successivi falliranno. Assegniamoli ora:

chmod u=rwx,g=rx,o= /var/lib/nimbus -R

Staking Ethereum, passo 15: Importare il wallet da validatore in Nimbus

Procediamo importando all'interno di Nimbus il file dal nome simile a keystore-m_12381_3600_0_0_0-1604271554.json creato da eth2.0-deposit-cli poco sopra. Lanciamo questo comando per importare:

nimbus deposits import --data-dir=/var/lib/nimbus $HOME/eth2.0-deposit-cli/validator_keys

Ci verrà richiesto di inserire la password del file: dobbiamo digitare quella scelta quando abbiamo lanciato eth2.0-deposit-cli poco sopra. Attenzione: si tratta della password, non delle parole di seed!

Terminata l'operazione, facciamo in modo che tutti i file appena generati diventino proprietà dell'utente Nimbus:

chown nimbus:nimbus /var/lib/nimbus -R

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Staking Ethereum, passo 16: Eseguire Nimbus come servizio

Ora che abbiamo importato le chiavi in Nimbus, possiamo prepararci ad eseguirlo come servizio. Il modo più facile per raggiungere l'obbiettivo è di scaricare il file di servizio per Nimbus già pronto tramite il comando curl. Dovremmo aver già installato curl ad uno dei Passi precedenti, ma assicuriamocene lanciando nuovamente il comando

apt update && apt install curl -y

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Ora procediamo ad ottenere il file di configurazione del servizio vero e proprio. Ci sono nuovamente due scenari diversi:

  1. fare una prova utilizzando "Ethereum finti", collegandoci alla testnet
  2. fare sul serio, con 32 ETH veri, e collegarci alla rete Ethereum 2.0 (mainnet)

Questa scelta deve essere la stessa che abbiamo effettuato in precedenza, quando abbiamo attivato il servizio Go Ethereum.

Nel primo caso (testnet), scarichiamo il file dedicato:

curl -o /etc/systemd/system/nimbus.service https://turbolab.it/scarica/347

cat /etc/systemd/system/nimbus.service

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Nel secondo caso (mainnet):

curl -o /etc/systemd/system/nimbus.service https://turbolab.it/scarica/349

cat /etc/systemd/system/nimbus.service

Staking Ethereum, passo 17: Eseguire automaticamente Nimbus all'avvio

Ora che abbiamo preparato il servizio, facciamo in modo che parta automaticamente all'avvio del computer:

systemctl enable nimbus

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Per sincerarcene, riavviamo il sistema:

reboot

Terminato il riavvio, assicuriamoci di ri-acquisire i privilegi di root (sudo -s) quindi visualizziamo lo stato:

service nimbus status

La schermata dovrebbe mostrare il messaggio active (running)

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Battere Q sulla tastiera per uscire.

Anche in questo caso, la ventola del PC potrebbe essere già partita con irruenza: digitiamo top e scopriamo che il colpevole è proprio il servizio nimbus appena creato, che utilizza la CPU al 100%

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

È una situazione assolutamente normale mentre il nodo si sincronizza con la rete. Per seguire l'avanzamento di questa fase, battiamo Q sulla tastiera per uscire da top e impartiamo quanto segue:

journalctl -f -u nimbus.service

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Le singole righe riportano un messaggio simile a questo:

Nov 02 09:12:53 eth bash[26396]: INF 2020-11-02 09:12:44.387+00:00 Slot start topics="beacnde" tid=26396 file=beacon_node.nim:457 lastSlot=646862 scheduledSlot=646863 beaconTime=12w5d20h12m36s387ms702us683ns peers=27 head=ca2c9197:5937 headEpoch=185 finalized=6b302d69:5856 finalizedEpoch=183

Fino a quando appaiono nuove righe, va tutto bene: l'operazione sta continuando.

Premi Ctrl+C per uscire.

Staking Ethereum, passo 18: Blindare il server con il firewall

Generalmente, ritengo superfluo l'uso del firewall su Linux. Tuttavia, in questa circostanza, faccio un'eccezione. Attiviamo dunque il firewall e apriamo solo le porte strettamente indispensabili.

Chi interagisca con il PC dedicato allo staking direttamente, tramite mouse, tastiera e schermo fisicamente collegati allo stesso, può lanciare questo comando:

ufw allow 30303,9000/tcp && ufw allow 30303,9000/udp && ufw enable

Chi invece necessiti dell'accesso SSH, deve scegliere quest'altro comando (uguale al precedente, ma la prima regola apre la porta 22 utilizzata da SSH)

ufw allow 22/tcp && ufw allow 30303,9000/tcp && ufw allow 30303,9000/udp && ufw enable

Visualizziamo poi la situazione aggiornata con ufw status

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Per maggiori informazioni:

» Leggi: Guida rapida a ufw - Come attivare/configurare il firewall su Ubuntu Desktop/Server da linea di comando: aprire le porte, bloccare le connessioni e gli indirizzi IP

Staking Ethereum, passo 19: Aprire le porte sul router

In questo momento, i nostri servizi non stanno funzionando in modo ottimale: dobbiamo infatti fare in modo che le rispettive porte sulle quali accettano le connessioni siano "aperte" sul router. Più precisamente: dobbiamo svolgere il port forwarding dal router verso il PC sul quale abbiamo installato i software di staking. Allo scopo, seguiamo questa guida:

» Leggi: Come aprire le porte sul router/modem: la guida definitiva al port forwarding (inoltro delle porte)

Le specifiche porte da aprire sono le seguenti:

  • 30303 TCP
  • 30303 UDP
  • 9000 TCP
  • 9000 UDP

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Dopo aver svolto la configurazione, verifichiamo esplicitamente che sia andata a buon fine tramite Shields Up!:

» Leggi: Come testare se una porta del router/firewall è aperta? guida al Port scan con Shields Up!

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video) - shields up port open

I link diretti sono i seguenti:

Il servizio deve riportare, per entrambe le porte, la dicitura OPEN!.

Staking Ethereum, passo 20: Copiare il file deposit_data

Dobbiamo ora caricare sul sito dedicato il file dal nome simile a deposit_data-1604271555.json appena creato nella cartella /root/eth2.0-deposit-cli/validator_keys. Detto file contiene la chiave pubblica associata al validatore: come tale, non è un'informazione riservata e può essere trasferito anche su canali insicuri.

Se il PC dedicato allo staking che stiamo configurando è dotato di un browser web (stiamo usando Ubuntu Desktop, ad esempio) qui possiamo lavorare direttamente da lì. Limitiamoci a copiare il file nella "Home" del nostro utente non-root, poi lo prenderemo da lì:

cp /root/eth2.0-deposit-cli/validator_keys/deposit_data* /home/$(logname)

Possiamo proseguire al Passo successivo.

Se invece stiamo usando Ubuntu Server, non abbiamo a disposizione un browser web (no, amici esperti: Lynx non è una soluzione pratica!). Dobbiamo dunque copiare questo file su un PC "normale". Se abbiamo accesso al PC dedicato allo staking tramite mouse, tastiera e schermo fisicamente collegati allo stesso, valutiamo di portare a termine il trasferimento usando una chiavetta USB.

Se invece stiamo operando tramite SSH, usiamo il comando SCP:

  1. se il PC dal quale operiamo usa Windows: » Leggi: Guida: upload e download via SSH
  2. se il PC dal quale operiamo usa Linux: » Leggi: Guida SFTP/SCP, con esempi

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video) - pscp winscp spotlight

Lo scopo ultimo, lo ripeto, è riuscire a selezionare questo file su un PC dotato di browser web.

Staking Ethereum, passo 21: caricare il file deposit_data

Procediamo aprendo, nel browser web del PC sul quale abbiamo copiato il file al passo precedente, il sito appropriato all'ambiente che stiamo configurando:

  1. se stiamo facendo una prova utilizzando "Ethereum finti" (testnet): medalla.launchpad.ethereum.org
  2. se facciamo sul serio, con 32 ETH veri (mainnet): launchpad.ethereum.org

Questa scelta deve essere la stessa che abbiamo effettuato in precedenza, quando abbiamo attivato Go Ethereum e Nimbus.

Dalla pagina iniziale, cliccare sul pulsante colorato GET STARTED, quindi leggere le varie informazioni preliminari cliccando i vari tasti ACCEPT oppure CONTINUE in fondo ad ogni pagina

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Arrivati alla pagina di selezione del client, selezioniamo Geth (Go Ethereum), anche se non credo sia rilevante. Avanziamo di nuovo e scegliamo Nimbus.

Dalla pagina Generate Key Pairs, immettiamo 1 nel campo dedicato al numero dei validatori, poi scorriamo fino a fondo pagina e avanziamo di nuovo

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Finalmente, alla pagina Upload Deposit File, dobbiamo caricare il file dal nome simile a deposit_data-1604271555.json che abbiamo ottenuto in precedenza dal PC di staking

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Terminato l'upload, avanziamo ancora.

Staking Ethereum, passo 22: Trasferire i fondi

Dalla pagina di selezione del wallet, clicchiamo sull'icona che rappresenta il nostro wallet. Per questa guida abbiamo usato MetaMask, quindi clicchiamo sulla volpe. Si aprirà così l'interfaccia dell'estensione

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video) - zShotVM_1604274650

Autorizziamo la connessione e potremo proseguire.

Arrivati alla pagina di riepilogo, spuntiamo tutte le caselle per confermare che sappiamo quello che stiamo facendo e avanziamo

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video) - zShotVM_1604274941

Infine, clicchiamo sul grande pulsante colorato per aprire di nuovo l'interfaccia di MetaMask e confermare definitivamente l'invio delle monete

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video) - zShotVM_1604275147

L'operazione è terminata.

Staking Ethereum, passo 23: Verificare lo stato di approvazione dell'account validatore

L'attivazione del validatore non è istantanea, ma si svolge in due fasi:

  1. elaborazione del deposito da parte della rete Ethereum 2.0
  2. effettiva attivazione del validatore

Per controllare a che punto siamo, iniziamo aprendo uno di questi due siti:

  1. per la testnet: medalla.beaconcha.in
  2. per la mainnet: beaconcha.in

Sono assolutamente identici fra loro: cambia solo il fatto che il primo mostra lo stato della rete di test (quella con i "soldi finti") mentre il secondo è per coloro che "fanno sul serio" e hanno depositato 32 ETH reali.

A questo punto:

  1. aprire MetaMask
  2. copiare di nuovo l'indirizzo del wallet (cliccando sull'indirizzo a centro pagina, come fatto in precedenza)
  3. tornare al sito medalla.beaconcha.in oppure beaconcha.in (quello aperto un attimo fa)
  4. cliccare sulla lente d'ingrandimento in alto a destra
  5. incollare l'indirizzo del wallet
  6. cliccare sulla voce subito sotto alla sezione Validators

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video) - zShotVM_1604275815

Si aprirà così un pannello informativo. Per il momento, limitiamoci ad aggiungere questa pagina ai Preferiti del browser web: riporta infatti informazioni utili, che serviranno molto spesso

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video) - zShotVM_1604276140

Staking Ethereum, passo 24: Attendere l'attivazione del validatore

Se sei arrivato fino a qui: COMPLIMENTI! Il validatore è configurato correttamente, anche se non ancora attivato. Per verificare quando questo accade, teniamo d'occhio l'indirizzo pubblico del nostro wallet usando il sito beaconcha.in (dovresti aver aggiunto la pagina ai Preferiti poco sopra).

Prestiamo attenzione alla scheda Overview, sezione Status. In un primo momento, riporterà la dicitura Deposited: significa che il deposito è stato ricevuto, ma non è ancora stato elaborato dalla rete Ethereum 2.0

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video) - zShotVM_1604276140

In pagina si legge che questa situazione dovrebbe durare circa 8 ore ma, nel mio caso, sono stati necessari 3 giorni di attesa.

Non appena il deposito verrà processato, inizierà la seconda fase del processo di attivazione. In questa situazione, la dicitura Status cambierà in Pending. Da qui dobbiamo attendere (ancora!) che il nostro validatore venga materialmente attivato

Come fare staking Ethereum 2.0: Guida Definitiva configurare tutto guadagnare interessi (video)

Questa fase, purtroppo, richiede molti giorni. La sezione Estimated Activation presente in pagina ci fornisce una stima del tempo di attesa. Nel mio caso, si parla di ben 12 giorni.

Niente paura: si tratta solo di pazientare perché è tutto automatico: non c'è un operatore comunale con un timbro che esamina le richieste ad uno ad uno, è tutto gestito via software!

Staking Ethereum, passo 25: Monitorare la rendita

Una volta che il validatore è finalmente attivo, non dobbiamo fare altro se non mantenere acceso il PC di staking, assicurandoci che non si spenga a causa di interruzioni dell'energia elettrica o perda il collegamento ad Internet troppo a lungo, pena ricevere una "multa" dalla rete Ethereum 2.0.

Per il resto, possiamo usare la solita pagina di beaconcha.in aggiunta i Preferiti per tenere d'occhio i nostri guadagni e la rendita complessiva dell'operazione.

Il mio validatore su testnet è disponibile qui per confronto e visualizzazione di una configurazione completa e approvata.

Addendum: Mantenere aggiornato il sistema

L'ho già detto ma lo ripeto: mantenere in sicurezza il PC di staking è di importanza critica. Questo implica che dovremo periodicamente (una volta al mese come minimo, ma "settimanalmente" sarebbe ancora meglio) installare tutti gli aggiornamenti.

Il comando zzupdate torna sicuramente utile allo scopo, poiché aggiorna il sistema operativo e i pacchetti installati tramite apt, compreso Go Ethereum.

Nimbus, invece, deve essere aggiornato manualmente. È importante farlo: uno degli sviluppatori mi ha esplicitamente invitato a ricordarlo! Allo scopo, basta ripetere i comandi indicati al precedente Passo 13: Installare Nimbus.

Conclusioni, fonti e riferimenti

In questa lunga guida abbiamo visto come fare staking con Ethereum 2.0. La procedura è sicuramente un po' articolata, ma è una buona occasione per tutti gli smanettoni di provare in prima persona come funziona la validazione Proof of stake su Ethereum e, per i possessori di 32 ETH, di guadagnare interessi molto interessanti sulle proprie monete.

Questo articolo è frutto della mia esperienza diretta con la sola rete di test, poiché non possiedo un numero di ETH sufficienti a passare sulla "vera" mainnet. Per preparare la guida ho consultato le seguenti fonti: