La definizione di nodo può variare notevolmente a seconda del contesto utilizzato. Quando si tratta di reti informatiche o di telecomunicazioni, i nodi possono offrire scopi diversi, fungendo da punto di ridistribuzione o punto finale di comunicazione. In genere un nodo è costituito da un dispositivo di rete fisico, ma in alcuni casi vengono utilizzati nodi virtuali.

In parole povere, un nodo di rete è un punto in cui è possibile creare, ricevere o trasmettere messaggi. Qui discuteremo i diversi tipi di nodi Bitcoin: nodi completi, super nodi, nodi miner e client SPV.


Nodi Bitcoin

Il disinvestimento nel contesto delle blockchain, progettate come un sistema distribuito di una rete di nodi informatici, è ciò che consente a Bitcoin di essere utilizzato come valuta digitale peer-to-peer (P2P) decentralizzata, resistente alla censura per definizione, senza la necessità di intermediari coinvolti nello scambio tra utenti (non importa quanto lontani).

Pertanto, i nodi blockchain hanno il compito di fungere da punto di comunicazione in grado di svolgere diverse funzioni. Qualsiasi computer o dispositivo che si connette all'interfaccia Bitcoin può essere considerato un nodo, nel senso che comunica tra loro in qualche modo. Questi nodi possono anche trasmettere informazioni sulle transazioni e sui blocchi attraverso una rete distribuita di computer utilizzando il protocollo peer-to-peer (P2P) di Bitcoin. Tuttavia, ogni nodo di elaborazione è definito in base alle sue funzioni specifiche, quindi esistono diversi tipi di nodi Bitcoin.


Nodo completo

I nodi completi sono quelli che effettivamente supportano e proteggono Bitcoin e sono indispensabili per la rete. Questi nodi sono anche chiamati nodi di convalida completa perché partecipano al processo di convalida delle transazioni e dei blocchi, contrariamente alle regole di consenso del sistema. I nodi completi possono anche inoltrare nuove transazioni e blocchi alla blockchain.

In genere, un nodo completo scarica una copia della blockchain di Bitcoin con ogni blocco e transazione, ma questo non è un requisito per un nodo completo (in alternativa può essere utilizzata una copia ridotta della blockchain).

Un nodo completo Bitcoin può essere installato utilizzando diverse implementazioni software, ma quella più comunemente usata e popolare è Bitcoin Core. Questi sono i requisiti minimi per eseguire un nodo completo di Bitcoin Core:

  • Un computer portatile o portatile con l'ultima versione di Windows, Mac OS X o Linux.

  • 200 GB di spazio libero su disco.

  • 2 GB di RAM.

  • Connessione Internet ad alta velocità con una velocità di trasferimento di almeno 50 kB/s.

  • Connessione illimitata o connessione con un limite di download elevato. I nodi completi possono caricare 200 GB al mese o più e l'utilizzo del caricamento è di 20 GB al mese. Sarà inoltre necessario scaricare circa 200 GB la prima volta che esegui il nodo completo.

  • Il tuo nodo completo dovrebbe funzionare almeno 6 ore al giorno. Sarebbe ancora meglio se funzionasse 24 ore su 24, 7 giorni su 7.

Molte organizzazioni di volontariato e utenti gestiscono i nodi core di Bitcoin per aiutare l'ecosistema Bitcoin. Attualmente ci sono circa 9.700 nodi pubblici in esecuzione sulla rete Bitcoin. Si prega di notare che questo numero include solo i nodi pubblici, ovvero i nodi di ascolto Bitcoin visibili e accessibili (ovvero nodi di ascolto).

Oltre ai nodi pubblici, ci sono molti altri nodi nascosti che non sono visibili (nodi non rintracciabili). Questi nodi solitamente operano dietro il firewall tramite protocolli nascosti come Tor o semplicemente perché sono configurati per non consentire il monitoraggio della connessione.


Nodi di tracciamento (super nodi)

In sostanza, un nodo di controllo o supernodo è la stessa cosa di un nodo completo accessibile al pubblico. Comunica e fornisce informazioni a qualsiasi altro nodo che decida di connettersi ad esso. Pertanto, un supernodo è fondamentalmente un punto di ridistribuzione che può fungere da sorgente dati e da ponte di comunicazione.

Un supernodo affidabile in genere è operativo 24 ore su 24, 7 giorni su 7 e dispone di più connessioni stabilite che trasmettono la cronologia della blockchain e i dati delle transazioni a più nodi in tutto il mondo. Per questo motivo, un supernodo richiederà probabilmente più potenza di calcolo e una migliore connessione Internet rispetto a un nodo completamente nascosto.


Minatori di nodi

Al momento, per poter minare Bitcoin in modo competitivo, è necessario disporre di dispositivi hardware e programmi specializzati. Questi programmi (software) non sono direttamente collegati a Bitcoin Core, ma vengono eseguiti in parallelo, tentando di estrarre blocchi Bitcoin. Un minatore può scegliere di lavorare da solo (minatore singolo) o in gruppo (minatore in pool) 

Mentre i miner singoli full node utilizzano la propria copia della blockchain, i miner in pool lavorano insieme, ognuno contribuendo con le proprie risorse di elaborazione (potenza di hash). In un mining pool, solo un amministratore del pool è tenuto a gestire un nodo completo, che può essere definito un miner pool a nodo completo.


Clienti leggeri o SPV

Noti anche come Simplified Payment Verification (SPV), i client leggeri sono quei client che utilizzano la rete Bitcoin ma in realtà non agiscono come nodi completi. Pertanto, i client SPV non contribuiscono alla sicurezza della rete perché non conservano una copia della blockchain e non partecipano al processo di verifica e conferma delle transazioni.

In breve, SPV è un metodo attraverso il quale un utente può verificare se delle transazioni sono state incluse o meno in un blocco senza dover scaricare tutti i dati del blocco. Pertanto, i client SPV si affidano alle informazioni fornite da altri nodi completi (super nodi). I client leggeri fungono da endpoint di comunicazione e sono utilizzati da molti wallet di criptovalute.


Client vs nodo di mining

È importante notare che eseguire un nodo completo non è la stessa cosa che eseguire un nodo di mining completo. Mentre i minatori devono investire in hardware e software costosi per effettuare il mining, chiunque può gestire un nodo di convalida completo. Inoltre, prima di tentare di estrarre un blocco, un minatore deve raccogliere le transazioni in sospeso che sono state precedentemente accettate come valide dai nodi completi. Il minatore crea quindi un blocco candidato (con un gruppo di transazioni) e tenta di minare quel blocco. Se un minatore riesce a trovare la soluzione corretta per questo blocco, la trasmette alla rete e altri nodi completi controlleranno la validità di questo blocco. Pertanto, le regole del consenso sono determinate e applicate da una rete distribuita di nodi di convalida, non dai minatori.


Conclusione

I nodi Bitcoin comunicano tra loro tramite il protocollo di rete Bitcoin P2P, garantendo così l'integrità del sistema. Un nodo che abusa o tenta di diffondere informazioni errate viene rapidamente riconosciuto dai nodi onesti e disconnesso dalla rete.

Sebbene l'esecuzione di un nodo di convalida completo non comporti vantaggi economici, è altamente consigliata in quanto garantisce fiducia, sicurezza e privacy agli utenti. I nodi completi garantiscono il rispetto delle regole. Proteggono la blockchain da attacchi e frodi (come la doppia spesa). Inoltre, un nodo completo non ha bisogno di fidarsi di altri e consente all'utente di avere il controllo completo sul proprio denaro.