TUTORIAL
Come eseguire un nodo Bitcoin completo su un VPS
Un nodo completo è l'unico modo per usare Bitcoin senza chiedere a qualcun altro qual è la verità. Ogni altra opzione — un block explorer, un wallet leggero che parla con un server pubblico, un saldo su un exchange — significa affidare a terzi la tua cronologia e consegnare, insieme, la tua privacy. Bitcoin Core in sé richiede circa dieci minuti per essere installato. Ciò che decide davvero se il tuo nodo è utile è la macchina che sta sotto: quanto disco gli hai dato, se l'upload è a consumo, e cosa può vedere l'host.
Cosa fa un nodo completo — e cosa non fa
Un nodo completo scarica ogni blocco, verifica da sé ogni firma e ogni regola di consenso, e mantiene una propria copia dell'insieme corrente delle coin spendibili. È un verificatore. Non è un miner, e da solo non è nemmeno un wallet.
- Valida in modo indipendente — nessun explorer, nessun exchange e nessun server per wallet leggeri può dirti cosa è valido o quale sia il tuo saldo.
- Ti evita di far trapelare i tuoi indirizzi al server di uno sconosciuto ogni volta che un wallet si sincronizza, la più grande fuga di privacy per la maggior parte degli utenti Bitcoin.
- Inoltra blocchi e transazioni ad altri nodi, la parte che aiuta la rete e non solo te.
- Non guadagna nulla, non vota su nulla e non rende le tue coin più sicure se le tue chiavi sono già gestite male.
Archivio, pruned o indicizzato: tre impronte su disco molto diverse
Questa singola decisione determina il piano di cui hai bisogno, quindi prendila prima di ordinare qualsiasi cosa. Tutte e tre le modalità verificano la chain esattamente allo stesso modo — la differenza sta solo in quanto ne resta sul disco una volta finita la verifica.
- Pruned — Core scarica e verifica tutto, poi scarta i vecchi file di blocco e mantiene solo quelli recenti. Con prune=5000 i dati dei blocchi restano intorno ai 5 GB; aggiungi il set UTXO e il sistema operativo e ti ritrovi vicino ai 25 GB totali.
- Archivio — ogni blocco conservato per sempre. Oggi supera i 750 GB di dati di blocco, con una crescita di circa 7 GB al mese, a cui si aggiunge il set UTXO. Serve per fornire blocchi storici ad altri peer, o per fare un reindex in seguito senza riscaricare di nuovo la chain.
- Indicizzato — archivio più txindex=1, che permette di cercare qualsiasi transazione per ID ed è ciò che si aspettano i block explorer e alcuni software server. Aggiunge decine di gigabyte in più, e non può essere combinato con il pruning.
Scegliere un VPS per un nodo Bitcoin: disco, RAM e una porta illimitata
Bitcoin Core è tollerante sulla CPU ma esigente sul disco. Le letture e scritture casuali sul database UTXO sono ciò che rende una sincronizzazione veloce o interminabile, motivo per cui qui l'NVMe conta molto più del numero di core. Ogni piano della gamma VPS offshore include NVMe Gen4 in RAID-10 e banda illimitata, quindi la vera scelta riguarda la capacità.
- Nodo pruned: VPS-4 a $7.49/mo — 2 vCPU EPYC, 4 GB DDR5 ECC e 60 GB NVMe, con margine comodo per prune=5000 più i log. Va bene anche il VPS-2 da $3.99 se fai un pruning più aggressivo.
- Nodo pruned che sincronizza rapidamente: VPS-8 a $13.99/mo — 4 vCPU e 8 GB ti permettono di assegnare a Core diversi gigabyte di dbcache, la leva singola più efficace sul tempo di sincronizzazione.
- Nodo archivio: VPS-64 a $89.99/mo è l'unico livello VPS i cui 800 GB di NVMe bastano appena a contenere una chain non pruned — e, alla dimensione attuale, questo lascia appena un anno di margine.
Per un nodo archivio o indicizzato, fai i conti onestamente invece di comprare il VPS più grande per riflesso: un server dedicato parte da $64/mo con 64 GB di memoria e 2 × 1 TB di NVMe, quindi è sia più economico sia molto più capiente del livello VPS più alto. Se hai intenzione di conservare la chain per anni, o di affiancarci un server Electrum e un sito ospitato senza KYC, parti da lì invece di fare due upgrade successivi.
Passo dopo passo: dalla ricarica in crypto a un nodo sincronizzato
- 01Crea un account con un'email usa e gettaUn'email e una password. Nessun nome, telefono o documento, così nulla dal nostro lato collega il nodo a te.
- 02Ricarica il saldo in cryptoAlimenta un saldo prepagato con Bitcoin, Monero o una qualsiasi delle 8 crypto disponibili. Non scade mai e non viene mai congelato.
- 03Distribuisci il VPSScegli un piano, una regione e un'immagine Debian o Ubuntu. L'accesso root è pronto in circa un minuto, in media.
- 04Installa Bitcoin Core e verifica il downloadPrendi la release dal progetto Bitcoin Core, poi controlla le firme prima di scompattarla. Saltare questo passaggio è il modo in cui la gente finisce per eseguire il binario di qualcun altro.
- 05Eseguilo con un utente dedicato sotto systemdUn utente bitcoin dedicato, una directory dati di sua proprietà, e un unit file così il nodo si riavvia da solo dopo un reboot.
- 06Scrivi bitcoin.conf, avvialo e osserva il logImposta il livello di prune, il dbcache e le opzioni di rete, avvia il servizio e segui il log finché il progresso di verifica raggiunge 1.
Le righe di bitcoin.conf che contano davvero
Core viene fornito con impostazioni predefinite sensate, e una buona configurazione è di solito sei o sette righe. Queste sono quelle che vale la pena capire invece di copiare da un post su un forum.
- dbcache — memoria per il database UTXO, 450 MB di default. Alzarlo a qualche migliaio per la sincronizzazione iniziale è l'accelerazione più economica disponibile, e puoi riabbassarlo in seguito.
- prune — un tetto di dimensione in MB per lo storage dei blocchi, minimo 550. Passare da pruned ad archivio in seguito significa riscaricare la chain, quindi decidi prima del primo avvio.
- txindex=1 — costruisce un indice completo delle transazioni. Impostalo solo se uno strumento che usi davvero ne ha bisogno; aggiungerlo in seguito forza un reindex.
- listen=1 con la porta 8333 aperta — ti rende un nodo in ascolto che altri peer possono raggiungere. È la differenza tra usare la rete e contribuire ad essa.
- maxuploadtarget — un tetto giornaliero flessibile sul traffico in uscita, utile da impostare su qualsiasi host che misura il trasferimento a consumo.
- blocksonly=1 — smette di inoltrare le transazioni sciolte. Taglia nettamente la banda, al costo di un mempool utile e di un contributo alla propagazione.
Il download iniziale dei blocchi: cosa lo rende davvero lento
La prima sincronizzazione è l'unica parte davvero pesante del lavoro. Core riesegue l'intera chain e, anche se per default salta i controlli degli script sotto un blocco recente prefissato nel codice, ricostruisce comunque da zero l'intero set UTXO — quindi il lavoro è dominato dall'I/O casuale su disco e dall'hashing, non dalla tua connessione. Su NVMe Gen4 con un dbcache generoso, una sincronizzazione completa normalmente finisce in ben meno di un giorno; lo stesso lavoro su un disco meccanico può durare una settimana. Dagli più memoria piuttosto che più core, e resisti alla tentazione di riavviarlo per impazienza: il progresso viene scritto periodicamente, ma un riavvio a metà di un flush ti costa la cache che stavi pagando.
Eseguire il nodo su Tor
Un nodo in ascolto annuncia se stesso agli altri peer. Su un indirizzo clearnet quell'annuncio è pubblico e punta al tuo server. Core ha un supporto Tor di prim'ordine: dagli un proxy SOCKS Tor locale e l'accesso alla control port di Tor, e pubblicherà il proprio servizio onion accettando lì le connessioni in entrata. Aggiungi onlynet=onion e non parlerà affatto con il clearnet.
Questo è un compito diverso dal gestire un relay Tor, che trasporta il traffico di altre persone ed è deliberatamente pubblico. Qui Tor è semplicemente il modo in cui il tuo nodo raggiunge i suoi peer, e il compromesso è modesto: i nodi solo-onion sincronizzano un po' più lentamente e attingono da un pool di peer più piccolo, il che per una macchina che lasci accesa raramente è un problema.
Banda: il costo che nessuno preventiva
Un nodo in ascolto carica molto più di quanto scarica. Ogni peer che fa la propria sincronizzazione iniziale può tirare da te centinaia di gigabyte, e un nodo archivio ben connesso servirà volentieri diversi terabyte al mese se glielo permetti. Su un host a consumo questo si traduce in una fattura per superamento soglia — è esattamente il profilo di traffico che i piani hosting "illimitati" sono scritti per escludere. Il trasferimento illimitato è lo standard in tutta la gamma qui, e se vuoi seminare la chain in modo aggressivo per altri, la linea 10 Gbps Unmetered da $34.99/mo porta con sé una porta dedicata per questo. Se preferisci restare piccolo, limitalo deliberatamente con maxuploadtarget invece di lasciarlo al caso.
Collegare wallet, un server Electrum o BTCPay
Un nodo da solo è solo metà del lavoro — lo scopo è far parlare il tuo stesso software con lui invece che con quello di uno sconosciuto. Wallet come Sparrow e Specter si collegano direttamente all'RPC di Core tramite un tunnel. I wallet con protocollo Electrum hanno bisogno di un server intermedio: electrs o Fulcrum costruiscono il proprio indice a partire dai file di blocco grezzi, che è una delle ragioni concrete per restare non pruned. E se vuoi accettare pagamenti tu stesso, BTCPay Server eseguito contro il tuo nodo elimina del tutto il payment processor — la stessa logica di self-hosting di mettere online un sito senza KYC.
Una regola vale indipendentemente dallo stack: il nodo verifica, e le tue chiavi vivono altrove. Usa un hardware wallet o un firmatario offline e lascia che la macchina noleggiata non faccia altro che la validazione. Una macchina che non possiedi fisicamente non è il posto dove dovrebbero stare fondi significativi.
Il compromesso di privacy onesto di un nodo che non possiedi
Un nodo su un VPS non è identico a uno sotto la tua scrivania, e vale la pena essere precisi sul perché. Elimina la fuga più grande e più comune: interrogare explorer pubblici e server Electrum di terze parti che registrano esattamente quali indirizzi hai chiesto. Ciò che non può eliminare è l'host. Chiunque abbia accesso fisico a una macchina può in linea di principio leggerne il disco e la memoria, e la crittografia completa del disco su un server remoto ti protegge da un disco rubato, non da uno in funzione.
Quindi la domanda utile non è «l'host può vederlo» ma «l'host sa chi sono». L'hosting no-KYC risponde proprio a questa: un'email e una password, nessuna verifica, niente agli atti da far trapelare o da richiedere con un mandato. Pagare da un saldo in crypto elimina la banca. Fino a che punto spingere il lato dei pagamenti è una scelta di modello di minaccia — Bitcoin è pseudonimo, non anonimo, quindi delle coin ricondotte a un exchange verificato portano comunque da qualche parte, mentre ricaricare in Monero chiude quel varco a livello di protocollo. Lo stesso ragionamento si applica a eseguire un nodo Monero, dove è il collegamento wallet-nodo ciò che stai proteggendo.
Errori che lasciano un nodo bloccato, inattivo o esposto
- Il disco che si riempie a metà sincronizzazione perché il pruning è stato deciso dopo — impostalo prima del primo avvio, non a metà strada.
- La porta 8333 lasciata chiusa sul firewall, così il nodo fa solo connessioni in uscita e non serve mai un singolo peer.
- RPC legato a 0.0.0.0 «solo per fare un test», che su un IP pubblico viene scoperto entro poche ore.
- txindex attivato per riflesso su un disco piccolo, per poi scoprire che serve un reindex completo per rimuoverlo.
- Il nodo eseguito come root da una home directory senza unit systemd, così un solo reboot chiude in silenzio l'esperimento.
Nessuno di questi è un guasto esotico. Sono ciò che succede quando la macchina viene scelta solo in base al prezzo e i dettagli vengono lasciati per dopo. Scegli il disco per la modalità che vuoi davvero, tieni aperta la porta per i peer e chiusa quella RPC, e un nodo Bitcoin è una delle cose meno impegnative che puoi lasciare in funzione per anni.