HomeCriptovaluteEthereumCos'è e come funziona un nodo Ethereum

Cos’è e come funziona un nodo Ethereum

Qual è l’importanza di un nodo Ethereum all’interno della blockchain, e come interagisce con gli altri?

Ethereum in realtà non è una criptovaluta, ma una rete P2P decentralizzata basata su un protocollo informatico pubblico ed open source. 

La sua criptovaluta nativa è Ether (ETH), anche se spesso viene chiamata con il nome dell’intera rete, ovvero Ethereum. 

Le reti P2P, ovvero reti tra pari, sono costituite da nodi paritari che comunicano tra di loro grazie ad Internet. Quindi, sono i nodi i costituenti fondamentali di queste reti. 

Pertanto i costituenti fondamentali di Ethereum sono i suoi nodi, che formano la rete P2P, ed ovviamente il protocollo sui cui sono basati. 

Infatti, per poter far parte della rete P2P di Ethereum, ed interagire con gli altri nodi, un nodo Ethereum ne deve rispettare alla lettera il protocollo di base, che ovviamente deve essere assolutamente identico per tutti i nodi, pena l’esclusione dalla rete stessa. 

Il funzionamento di un nodo Ethereum

I nodi Ethereum sono computer, o server, connessi ad Internet e sui quali gira un apposito software. 

Questo software in gergo si chiama client di rete, ed è assolutamente indispensabile per far girare un nodo. È proprio questo software, infatti, a connettersi con gli altri nodi della rete P2P, e a dover rispettare alla lettera il protocollo di Ethereum. 

La cosa curiosa è che, dato che il protocollo è pubblico ed open source, chiunque può realizzare un client di rete per far girare un nodo della rete Ethereum. 

L’importante è che il client rispetti tutte le regole del protocollo, perchè se non le rispetta tutte alla lettera non risulta essere compatibile con gli altri nodi, finendo per essere escluso a priori dalla rete stessa. 

Attualmente sono solamente 4 i client maggiormente in uso, perchè sebbene ve ne siano molti, la maggior parte è usata pochissimo. 

Bisogna, però, distinguere tra i Consensus Clients e gli Execution Clients. 

Gli Execution Clients sono i nodi del cosiddetto “Execution Layer” (EL) di Ethereum, ovvero quelli derivanti dal precedente protocollo basato su Proof-of-Work (PoW). 

In assoluto il client execution più utilizzato è lo storico Geth, esistente da molto tempo e leader indiscusso della rete basata sul vecchio protocollo. Seguono, ma con percentuali di gran lunga inferiori, Erigon, Nethermind e Besu. 

Da quando il protocollo Ethereum è passato alla Proof-of-Stake (PoS), con il Merge del 15 settembre, è stato aggiunto il cosiddetto “Consensus Layer” (CL), con differenti client. 

Nel caso dei client per il CL c’è maggiore diversità, con Prysm al 42%, Lighthouse al 36% e Teku al 18%. Segue Nimbus con solo il 3%. 

Tutti questi software sono open source, scaricabili gratuitamente e liberamente da tutti. 

Cosa fanno i nodi della rete

Nel corso del tempo la funzione dei nodi è evoluta. 

Inizialmente facevano tutto, ovvero gli unici software esistenti della rete Ethereum erano i nodi. 

In altre parole: 

  • custodivano e controllavano la blockchain 
  • minavano i blocchi con la PoW 
  • verificavano la conformità di tutti i blocchi e di tutte le transazioni con il protocollo
  • eseguivano gli smart contract
  • fungevano da wallet consentendo l’invio e la ricezione di token. 

Nel corso del tempo, però, hanno perso alcune funzionalità. 

In particolare hanno perso la funzionalità di minare i blocchi, perché per poterlo fare con successo servivano software più snelli e veloci. Quindi, per il mining furono sviluppati software ad hoc. 

Come wallet, invece, in teoria possono ancora essere usati, ma risultano molto scomodi. Infatti, ormai quasi tutti i wallet ampiamente in uso non sono nodi. 

Il fatto è che un nodo deve custodire e verificare la blockchain, ovvero un file di quasi 350 GB in cui sono state registrate tutte le transazioni su Ethereum della storia, che un nodo deve controllare una ad una. 

Quindi nel corso del tempo i nodi sono finiti per fare soprattutto due cose: da un lato custodiscono e verificano la blockchain, ovvero il registro delle transazioni, e dall’altro eseguono le istruzioni contenute negli smart contract. 

Il passaggio a PoS

Il Merge, con il passaggio a PoS, ha cambiato le cose. 

Infatti, l’abbandono della PoW ha eliminato la necessità di minare i blocchi, quindi i miner di Ethereum sono semplicemente scomparsi, o si sono spostati su altre blockchain ancora basate su PoW. 

Ma nel momento in cui non erano più i miner a creare i blocchi con le transazioni da aggiungere alla blockchain, è stato necessario creare altri software che convalidassero i blocchi. 

Tali software sono i nuovi client del Consensus Layer, ovvero in particolare Prysm, Lighthouse, Teku e Nimbus. 

Questi nodi del CL convalidano i blocchi ora che i miner non lo fanno più. 

Ma PoS è basato sullo stake, quindi i nodi CL custodiscono anche i token ETH messi in staking. 

Il Consensus Layer si basa su una nuova blockchain, chiamata Beacon Chain e basata su PoS, su cui è possibile mettere in staking gli ETH sui relativi nodi, in modo da poter effettuare la PoS. Il vecchio Execution Layer utilizza la vecchia blockchain basata su PoW, ma senza più nuovi blocchi aggiunti, dato che le transazioni ormai vengono registrate solo sulla nuova Beacon Chain. 

L’installazione di un nodo Ethereum

Il funzionamento di un nodo è relativamente semplice. Infatti, una volta installato, il client è sufficiente lasciarlo lavorare connesso ad Internet. 

L’installazione, invece, non è cosa banalissima. 

Innanzitutto quando viene installato il client deve scaricarsi l’intera blockchain e verificarla tutta, transazione per transazione. Questo processo risulta essere particolarmente lungo. 

Inoltre, una volta installato va configurato in modo che riesca a connettersi agli altri nodi, altrimenti risulta essere di fatto escluso dalla rete P2P. 

Quest’ultimo è un processo tecnico che richiede un minimo di competenza. Quindi, non è adatto a chi sta muovendo solamente i primi passi in questo ambito, anche perché richiede competenze informatiche e sistemistiche. 

La cosa è ancora più complicata nel caso di un nodo CL, perché dato che deve custodire almeno 32 ETH in staking rende il problema della sicurezza ancora più rilevante. 

La sicurezza

La sicurezza di un nodo è fondamentale per consentirne un corretto funzionamento, perchè ha un wallet integrato e nel caso dei nodi CL custodisce ETH in staking. 

Tuttavia, l’unico grosso problema in caso di violazione sono gli eventuali furti di fondi, perché anche se venisse attaccato o craccato l’intera rete non ne risentirebbe. 

Il fatto, però, che possano essere soggetti a furti di fondi rende indispensabile un elevato livello di protezione delle macchine e delle reti su cui gira. 

Un discorso un po’ più complicato, invece, è quello che riguarda la sicurezza della rete P2P. 

Dato che questa si basa sui propri nodi, qualora ne venissero violati molti la rete stessa potrebbe avere problemi. L’eventuale violazione di un singolo nodo, o di un numero limitato di nodi, non crea grossi problemi alla rete, ma se ne vengono violati molti i problemi potrebbero anche essere molto gravi. 

Per questo motivo sarebbe necessario che venissero sempre usati più client, perchè nel caso in cui uno abbia un bug o una vulnerabilità, è difficile che possano averli anche gli altri client. 

Per quanto riguarda l’Execution Layer, ormai Geth è talmente collaudato che sembra difficile che possa avere problemi seri. Nonostante ciò è comunque utile che vi siano anche altri client da utilizzare nell’ipotetico caso di un problema a Geth. 

Invece, nel caso dei client per il Consensus Layer il discorso è differente, dato che di fatto sono in uno solo da pochi mesi. 

Marco Cavicchioli
Marco Cavicchioli
"Classe 1975, Marco è stato il primo a fare divulgazione su YouTube in Italia riguardo Bitcoin. Ha fondato ilBitcoin.news ed il gruppo Facebook "Bitcoin Italia (aperto e senza scam)".
RELATED ARTICLES

MOST POPULARS

GoldBrick