Un nodo completo è un nodo che mantiene una copia completa della blockchain, inclusi tutti i dati delle transazioni. Più precisamente dovrebbe essere definito un nodo blockchain completo. Agli albori di Bitcoin, tutti i nodi erano nodi completi e l’attuale client Bitcoin Core è ancora un esempio di nodo blockchain completo. Tuttavia, negli ultimi anni, sono emersi molti nuovi tipi di client che non hanno più bisogno di archiviare l’intera blockchain e funzionano invece come client leggeri. Questi client leggeri verranno discussi in modo più dettagliato nelle sezioni seguenti.
Un nodo blockchain completo mantiene una copia completa e aggiornata della blockchain Bitcoin, comprese tutte le informazioni sulle transazioni. È in grado di costruire e verificare in modo indipendente la blockchain dal primo blocco, noto come blocco genesi, fino all'ultimo blocco sulla rete. Un nodo blockchain completo può anche verificare in modo indipendente qualsiasi transazione senza fare affidamento su nessun altro nodo o fonte esterna di informazioni. Quando riceve un nuovo blocco contenente i dati delle transazioni attraverso la rete Bitcoin, prima verifica il blocco e poi lo aggiunge alla sua copia locale della blockchain.
L'esecuzione di un nodo blockchain completo offre l'esperienza Bitcoin più pura, perché ti consente di verificare tutti i dati delle transazioni da solo, senza dipendere o fidarti di alcun sistema di terze parti. È facile capire se stai utilizzando un nodo completo: controlla semplicemente se il tuo dispositivo di archiviazione permanente, come un disco rigido, ha più di 20 GB di spazio disponibile per archiviare l'intera blockchain. Se il tuo nodo richiede una grande quantità di spazio su disco e impiega due o tre giorni per sincronizzarsi con la rete Bitcoin, molto probabilmente stai utilizzando un nodo completo. Questo è il costo per raggiungere la completa indipendenza dal controllo centralizzato.
Sebbene esistano molti altri client blockchain completi realizzati con linguaggi di programmazione e architetture software diversi, il più utilizzato è Bitcoin Core, noto anche come client Satoshi. Oltre il 90% dei nodi della rete Bitcoin esegue diverse versioni di Bitcoin Core. Come accennato in precedenza, questi nodi possono essere identificati attraverso i messaggi di versione scambiati tra peer o dalla stringa di subversion “Satoshi” restituita dal comando getpeerinfo, ad esempio: /Satoshi:0.8.6/.
