Un nodo (nodo) è un punto nella rete blockchain, la cui funzione principale è distribuire i dati tra altri nodi. Ciò è necessario per trasferire le informazioni all’interno della blockchain mantenendo l’effetto di decentralizzazione. Un nodo può essere un collegamento intermedio o il destinatario finale dei dati.

Caratteristiche tecniche dei nodi

Un nodo è un computer (server) con un portafoglio di criptovaluta installato, che è sincronizzato con altri computer simili. Un collegamento di tali nodi forma una blockchain. L'utilizzo di una rete di questo tipo consente di distribuire rapidamente grandi flussi di dati.

Il funzionamento del nodo è assicurato dalla potenza del server. A questo scopo è adatto qualsiasi dispositivo in grado di trasmettere informazioni tramite Internet. Inoltre, per il funzionamento del nodo è necessario un software speciale.

Nella maggior parte dei casi, il nodo viene utilizzato per eseguire 3 attività:

  • Archivia e distribuisce informazioni tra i nodi sulle transazioni e sulla quantità di fondi nei portafogli dei partecipanti alla rete.

  • Monitorare l'implementazione delle regole di rete (PoS, algoritmo di consenso PoW, ecc.).

  • Supportare il funzionamento di registri distribuiti, che memorizzano informazioni sulle transazioni per l'intera esistenza della rete.

I nodi non possono funzionare senza una connessione Internet. Anche un dispositivo di archiviazione offline non è in grado di svolgere la funzione di un nodo. Ma diventa un nodo a tutti gli effetti se è connesso a Internet.

Perché sono necessari i nodi?

Per supportare il funzionamento stabile della blockchain, è necessaria una rete di server sincronizzati tra loro. Il valore principale di una tale rete è garantire l'effetto del decentramento senza perdere la velocità di interazione degli array di informazioni.

Considerando che i nodi dei computer si trovano in diversi paesi e città, anche il blocco di Internet in una particolare regione non porterà al blocco della blockchain. Ma se tutti i nodi sono concentrati nelle mani di un gruppo di persone, allora saranno in grado di controllare completamente la rete, il che può portare a limitare l’effetto della decentralizzazione.

Allo stesso tempo, la decentralizzazione è uno dei principali vantaggi delle criptovalute. Per garantire ciò e ottenere l’effetto della distribuzione dei dati, la blockchain utilizza numerosi nodi insignificanti. Non partecipano al mining, ma memorizzano l’intera cronologia delle transazioni. Ciò impedisce a un gruppo limitato di persone di assumere il controllo del registro distribuito.

Gli utenti che hanno messo a disposizione la propria potenza di calcolo per garantire il funzionamento della blockchain ricevono una ricompensa per questo. È così che il progetto motiva le persone a connettere i propri PC a una rete distribuita.

Tipi di nodi

I nodi blockchain variano in funzione e scopo. Tra questi ci sono diversi tipi standard presenti in molte blockchain. Esistono anche modelli di nodi aggiuntivi utilizzati nelle singole reti con funzionalità estese.

Nodi completi

Questa è la primissima versione del nodo originariamente creato per eseguire Bitcoin. I nodi completi costituiscono la base della blockchain e sono coinvolti nel completamento delle transazioni.

Tale nodo contiene tutte le informazioni sulle transazioni e sui blocchi dal momento in cui la rete è stata lanciata fino al momento attuale. Quando un utente trasferisce monete, questa operazione viene “vista” da tutti i nodi e salvata nella loro cronologia.

Decine di migliaia di nodi completi possono operare contemporaneamente su una blockchain. Tutti si scambiano costantemente informazioni tra loro. Per elaborare un flusso di dati così grande è necessaria una potenza di calcolo sufficiente.

Se un utente installa per la prima volta un full node sul proprio PC, è necessario sincronizzarlo, ovvero scaricare l'intera blockchain. Nel caso di alcune blockchain, questo occupa molta memoria. Ad esempio, la dimensione della blockchain di Bitcoin nel novembre 2022 era di 438 GB e potrebbero essere necessarie diverse settimane per sincronizzarla.

Se un nodo viene disconnesso dalla rete per un certo periodo, una volta connesso deve risincronizzarsi, ovvero scaricare tutte le informazioni generate durante il periodo di sua assenza.

I nodi completi hanno un certo insieme di opzioni che li distinguono da altri tipi di nodi sulla rete. Una delle funzioni più importanti è verificare le firme (chiavi) per confermare transazioni e blocchi. Se viene rilevato un errore, il nodo potrebbe rifiutare l'operazione. Le ragioni possono essere diverse: formattazione errata, errori dell'algoritmo, duplicazioni, manipolazione dei record, ecc.

Gli utenti che hanno un nodo di rete completo possono controllare da soli i trasferimenti in entrata. Se lo desiderano, hanno anche l'opportunità di partecipare all'estrazione mineraria e ricevere una ricompensa per questo.

Nodi leggeri

I nodi leggeri non contengono informazioni complete sulla blockchain. Tale nodo memorizza solo un record del blocco a cui è connesso. Nella maggior parte dei casi, tali nodi non funzionano in modo continuo.

In genere, un nodo leggero è un software che si connette a un nodo completo e trasmette informazioni da esso al computer dell'utente, ad esempio informazioni sul saldo del conto, sulle transazioni in entrata e in uscita. Infatti, un light node utilizza un full node come ponte per accedere alla blockchain.

Un nodo leggero ha il set di funzioni necessario per utilizzare la criptovaluta, senza richiedere grande potenza di calcolo o memoria. Pertanto, può essere eseguito anche su un dispositivo mobile. In genere, la sincronizzazione richiede pochi secondi.

Nodi completi potati

Tale nodo scarica l'intera blockchain e la sincronizza solo al primo avvio. Successivamente, carica automaticamente nuovi blocchi ed elimina quelli vecchi quando viene raggiunta una certa quantità di memoria. In genere, l'utente può impostare la dimensione del nodo nelle impostazioni, ad esempio 10 GB.

Nodi minerari

Il nodo di mining è coinvolto nel processo di mining di criptovaluta e viene utilizzato solo nelle blockchain basate sull'algoritmo Proof of Work. Può essere pieno o leggero.

Per eseguire un tale nodo, l'utente deve disporre di potenti apparecchiature informatiche:

  • unità di elaborazione centrale (CPU);

  • unità di elaborazione grafica (GPU);

  • circuito integrato specifico per l'applicazione (ASIC).

Dovrai anche installare un software speciale.

Pertanto, nel processo di mining di Bitcoin, è necessario risolvere complessi problemi matematici. Come risultato di tali calcoli, il minatore trova un valore di codice univoco: un hash, che serve come prova del lavoro svolto.

Successivamente, il minatore invia l'hash trovato ad altri nodi, che devono verificarne la conformità con l'attività. Se la verifica ha esito positivo, il miner può aggiungere un nuovo blocco e ricevere una ricompensa per questo.

Nodi di picchettamento

Questo è un analogo dei nodi minerari, che viene utilizzato nelle blockchain con l'algoritmo Proof of Stake. Un nodo di questo tipo è necessario anche per convalidare le transazioni e aggiungere nuovi blocchi e può anche essere completo o leggero.

In questo caso, la ricompensa viene assegnata non per calcoli matematici, ma per aver memorizzato una certa quantità di monete sul conto. Di conseguenza, per avviare un nodo di picchettamento non è necessario acquistare attrezzature costose. Tutto quello che devi fare è configurare correttamente il software e ricaricare il tuo account.

Masternode

Un masternode è un analogo di un full node: memorizza anche tutte le informazioni della blockchain ed è sincronizzato con essa, ma ha anche funzioni aggiuntive. Sono necessari per garantire l’anonimato suddividendo le transazioni e inviandole tra portafogli.

Il proprietario di un full node può ricevere un masternode se soddisfa le condizioni necessarie della blockchain. In genere, il requisito principale è ricostituire e conservare un certo numero di monete nel tuo account. È inoltre necessario eseguire impostazioni speciali del server (sono diverse per le diverse criptovalute).

Quando un utente effettua una transazione anonima, le sue monete vengono “mescolate” nei masternode. Questo processo può coinvolgere un numero diverso di nodi, sparsi in tutto il mondo e selezionati in modo casuale. Anche il numero di giri di miscelazione varia: può essere impostato manualmente o automaticamente. Di conseguenza, diventa impossibile tracciare la connessione tra mittente e destinatario.

I Masternode possono operare sull'algoritmo Proof of Stake o su un consenso ibrido PoW/PoS. Per incoraggiare gli utenti a creare e gestire i masternode, il sistema assegna loro una parte della commissione dei minatori. La dimensione della ricompensa varia anche tra le diverse blockchain.

Il tipo di masternode che viene eseguito sulla blockchain NEM (XEM) è chiamato supernodo.

Nodi fulminei

Lightning Network (LN) è un componente aggiuntivo di secondo livello per la blockchain Bitcoin, che è una rete di canali di pagamento degli utenti. Questo sistema impiega speciali nodi ultraveloci che si sincronizzano tra loro e con la blockchain principale.

I nodi Lightning verificano solo le transazioni ad essi direttamente associate (a differenza dei nodi standard, che verificano tutte le transazioni sulla blockchain). Grazie a questa funzionalità si ottiene la massima velocità di elaborazione delle transazioni.

Validatori e oracoli

Queste sono le funzioni aggiuntive che un nodo di una rete decentralizzata può avere:

  • Un nodo validatore è un dispositivo che verifica le transazioni e le approva. Tali nodi possono operare utilizzando algoritmi diversi a seconda delle caratteristiche della blockchain.

  • Un oracolo è un nodo che trasmette informazioni da sistemi esterni alla blockchain. Un esempio di tali dati potrebbe essere il costo attuale delle valute per un servizio di cambio eseguito su una blockchain.

È necessario uno script Oracle per convertire le informazioni in una forma comprensibile per un contratto intelligente. Il validatore convalida quindi i dati dell'oracolo insieme a tutte le altre informazioni sulla blockchain.

In questo caso, il segnale proveniente da un oracolo viene verificato da un gran numero di validatori, il che aumenta la sicurezza complessiva della rete.

Forcelle e cambiamenti nelle funzioni dei nodi

Qualsiasi progetto di criptovaluta può essere aggiornato periodicamente. Affinché gli aggiornamenti abbiano effetto su tutta la rete, tutti i nodi devono accettarli. A volte potrebbero esserci disaccordi nella comunità degli sviluppatori e dei validatori riguardo all'implementazione di determinati aggiornamenti, quando una parte dei nodi potrebbe accettarli, mentre altri potrebbero rifiutarli. Il processo di introduzione delle modifiche è chiamato fork.

Esistono due tipi di forcelle:

  • Un soft fork è un cambiamento e un miglioramento graduale che non contraddice le impostazioni di base della blockchain. Per accettarli, il proprietario del nodo deve aggiornare il software. Se solo una parte dei nodi accetterà questo aggiornamento, il sistema continuerà comunque a funzionare stabilmente.

  • Un hard fork comporta modifiche significative alla blockchain. Come risultato di un tale evento, i tipi di nodi di rete potrebbero cambiare completamente. Ad esempio, nel settembre 2022, la criptovaluta Ethereum è passata dall’algoritmo POS a POW. Di conseguenza, i nodi di mining sono scomparsi e sono comparsi i nodi di staking con funzioni di validazione.

Se nella comunità c’è disaccordo sull’opportunità di accettare un hard fork, la rete si divide in due blockchain incompatibili. Uno di questi mantiene le impostazioni di base e il secondo passa a quelle nuove.