Nessun dato del tuo nodo viene mai inviato a server esterni — tutto gira nel browser
// simulatore interattivo · rete p2p bitcoin

Rete P2P Bitcoin

Configura il tuo nodo passo per passo e vedi in tempo reale le conseguenze sulla tua privacy. Clearnet vs Tor, Dandelion++, eclipse attack — con i comandi reali da eseguire sul tuo nodo.

1
2
3
4
// Step 1 di 4
Che tipo di nodo vuoi essere?
SPV / Light wallet★☆☆☆☆
Non scarica la blockchain. Si fida di nodi altrui per verificare le transazioni. Rivela al server gli indirizzi monitorati.
es: Electrum + server pubblico, wallet mobile standard
Full Node★★★★☆
Scarica e verifica tutta la blockchain in autonomia dal blocco Genesis. Conserva l’intera storia — oltre 600 GB. Può servire blocchi storici ad altri nodi che si sincronizzano. È il comportamento predefinito di Bitcoin Core.
es: Bitcoin Core (comportamento predefinito)
Full Node Pruned★★★☆☆
Verifica tutta la blockchain ma mantiene solo gli UTXO recenti (~10 GB). Non può servire blocchi storici ad altri nodi.
es: Bitcoin Core con prune=550
Archival Node★★★★★
Scarica, verifica e conserva tutta la blockchain con indice completo delle transazioni (txindex=1). Permette di interrogare qualsiasi transazione storica per TXID, non solo quelle relative al proprio wallet. Richiesto da block explorer, Fulcrum/Electrs, BTCPay Server.
es: Bitcoin Core con txindex=1 (configurazione per self-hosted Electrum server)
▼ Quanti nodi esistono oggi? — distribuzione della rete Bitcoin
Distribuzione attuale della rete Bitcoin (dati approssimativi, agosto 2026):
Nodi raggiungibili (porta aperta): ~21.000
Nodi totali stimati (inclusi non raggiungibili): ~60.000–100.000
Nodi Tor: ~40% dei raggiungibili
Distribuzione geografica: USA, Germania, Francia, Paesi Bassi, Canada
Distribuzione per tipo
Full Node 70%
Pruned 25%
5%
Full Node Pruned SPV
Fonte: bitnodes.io — i dati cambiano continuamente. Ogni nodo che aggiungi alla rete aumenta la sua resilienza e decentralizzazione.
# Verificare il tipo di nodo attuale bitcoin-cli getblockchaininfo | grep pruned # Attivare pruning (aggiungere a bitcoin.conf) prune=550 # Verificare quanti blocchi hai bitcoin-cli getblockcount # Verificare lo spazio usato dalla blockchain bitcoin-cli getblockchaininfo | grep size_on_disk # Abilitare txindex (Archival Node - aggiungere a bitcoin.conf e riavviare) txindex=1 # Verificare se txindex e abilitato bitcoin-cli getindexinfo # Interrogare una transazione qualsiasi per TXID (richiede txindex=1) bitcoin-cli getrawtransaction "txid" true
// Step 2 di 4
Come vuoi connetterti alla rete?
🌐Clearnet puroPrivacy IP: Nessuna
Il tuo IP è visibile a tutti i peer. Massima velocità. I nodi di sorveglianza possono correlare IP e transazioni.
🕵Tor onlyPrivacy IP: Alta
Tutte le connessioni passano per Tor. IP reale invisibile. Più lento, alcuni peer rifiutano connessioni onion.
Clearnet + Tor (ibrido)Privacy IP: Media-Alta
Connessioni in uscita via Tor, in entrata via clearnet. Configurazione raccomandata da Bitcoin Core per la maggior parte degli utenti.
🔳I2PPrivacy IP: Alta
Rete anonima alternativa a Tor, progettata per comunicazioni P2P. Minor latenza per certi scenari. Community più piccola.
▼ Come funziona la connessione tra due nodi? — protocollo handshake P2P
Sequenza handshake P2P — messaggi reali del protocollo Bitcoin:
Tuo nodo Peer remoto | | |——— version —————————————> | (versione protocollo, height, servizi, IP) | <——— version ———————————— | (risponde con i propri dati) |——— verack ——————————————> | (conferma ricezione) | <——— verack ————————————— | (handshake completato) | | |——— getaddr —————————————> | (richiede lista peer conosciuti) | <——— addr —————————————— | (lista di indirizzi IP:porta) | | |——— ping ——————————————> | (keepalive, include nonce) | <——— pong —————————————— | (risposta con stesso nonce)
Messaggi principali del protocollo P2P
version / verack — handshake iniziale, scambio di capacità
inv — “ho qualcosa di nuovo” (block hash o txid)
getdata — “mandami quello specifico blocco/transazione”
tx / block — transazione o blocco completo
getblocks / getheaders — sincronizzazione blockchain
ping / pong — keepalive e misurazione latenza
addr / getaddr — scoperta di nuovi peer
# Verificare se Tor e attivo sul tuo nodo bitcoin-cli getnetworkinfo | grep reachable # Verificare le connessioni per tipo di rete bitcoin-cli getpeerinfo | grep network # Abilitare Tor in bitcoin.conf proxy=127.0.0.1:9050 listen=1 bind=127.0.0.1 # Abilitare I2P in bitcoin.conf i2psam=127.0.0.1:7656 # Verificare il tuo indirizzo onion bitcoin-cli getnetworkinfo | grep onion # Vedere quante connessioni Tor hai attive bitcoin-cli getpeerinfo | grep -c '"network": "onion"'
// Step 3 di 4
A chi ti connetti?
🎲Peer casuali dalla reteDefault Bitcoin Core
8 peer in uscita casuali scelti automaticamente. Buona resistenza agli attacchi grazie alla diversità. Nessun controllo su chi sono i peer.
👥Peer fidati + casualiRaccomandato
Aggiungi manualmente peer fidati (amici, community) con addnode. Li combini con peer casuali. Buona fiducia, buona diversità.
🔓Solo peer fidati (connect)Rischio eclipse
Il nodo si connette SOLO ai peer specificati. Massimo controllo, minima diversità. Vulnerabile se tutti i peer fidati diventano irraggiungibili.
▼ Come trova nuovi peer il tuo nodo? — meccanismi di peer discovery
1
DNS Seeds
Al primo avvio, Bitcoin Core interroga DNS seed hardcoded come seed.bitcoin.sipa.be che restituiscono IP di nodi attivi. Lista hard-coded nel codice sorgente di Bitcoin Core.
2
addr / addrv2 gossip
I peer condividono liste di indirizzi che conoscono. Nel tempo il nodo costruisce un database locale (peers.dat) con migliaia di indirizzi visti.
3
peers.dat (database locale)
Dalla seconda esecuzione in poi, il nodo usa il database locale salvato nelle sessioni precedenti. Contiene anchor peers — connessioni affidabili dell’ultima sessione.
4
addnode manuale
L’operatore aggiunge esplicitamente peer fidati via bitcoin.conf o bitcoin-cli addnode. Massimo controllo, complementare agli altri meccanismi.
⚠ Eclipse Attack
Un eclipse attack isola il tuo nodo riempiendo tutti i tuoi slot di connessione con nodi controllati dallo stesso attore. Bitcoin Core si difende con slot riservati, rotazione periodica dei peer, e anchor peer mantenuti tra i riavvii.
0%
Nodo sicuro — nessun peer malevolo
# Vedere i tuoi peer attuali bitcoin-cli getpeerinfo # Vedere solo le info essenziali di ogni peer bitcoin-cli getpeerinfo | grep -E '"addr"|"network"|"synced_blocks"' # Aggiungere un peer fidato (temporaneo) bitcoin-cli addnode "indirizzo:porta" "add" # Aggiungere peer fidati permanenti (in bitcoin.conf) addnode=xyz.onion:8333 # Connettersi solo a peer specificati (in bitcoin.conf) connect=xyz.onion:8333 # Bannare un peer sospetto bitcoin-cli setban "IP" "add" 86400 # Verificare connessioni in entrata e uscita bitcoin-cli getnetworkinfo | grep -E '"connections_in"|"connections_out"'
// Step 4 di 4
Come trasmetti le tue transazioni?
🔌Broadcast diretto (clearnet)Privacy: Bassa
La transazione viene trasmessa direttamente. Il tuo IP è associabile alla transazione dai nodi di sorveglianza.
🕵Broadcast via TorPrivacy: Alta
La transazione viaggia via Tor. Il tuo IP reale non è associabile alla transazione. Richiede Tor configurato nel nodo.
🌼Dandelion++Privacy: Media-Alta
Fase stem: la transazione viaggia in silenzio per 1-10 hop casuali. Fase fluff: propagazione standard. Default da Bitcoin Core 26.0.
🔯Tor + Dandelion++Privacy: Massima
IP mascherato da Tor + origine mascherata da Dandelion++. I due livelli si complementano. Configurazione ottimale per la privacy del broadcast.
Broadcast alternativo senza internet: Una transazione firmata è solo una stringa di dati — può viaggiare via radio, SMS, satellite. Approfondisci →
▼ Cosa succede esattamente quando invii una transazione? — messaggi P2P reali
Sequenza di messaggi P2P per la propagazione di una TX:
Tuo nodo Nodo A Nodo B Nodo C | | | | |— inv (txid) —> | | | | |— getdata ——> | | | <— tx (completa)| | | | | | | | |— inv (txid) —>| | | | |— getdata ——>| | | |<— tx (completa)| | | | | | | |— inv (txid) —> (propagazione)
Bitcoin non invia le transazioni a tutti i peer immediatamente: prima invia solo il txid tramite inv, poi il peer che lo vuole fa getdata, e solo allora riceve la TX completa. Questo riduce la banda: se un peer riceve lo stesso inv da più fonti, richiede la TX a uno solo.
Con Dandelion++ la fase stem usa solo connessioni scelte casualmente, senza broadcast inv ad altri peer durante quella fase — per questo l’origine è non tracciabile.
# Trasmettere una transazione firmata (hex raw) bitcoin-cli sendrawtransaction "hex_della_transazione" # Verificare che la transazione sia nella mempool bitcoin-cli getmempoolentry "txid" # Verificare lo stato della mempool bitcoin-cli getmempoolinfo # Sostituire una transazione con fee piu alta (RBF) bitcoin-cli bumpfee "txid" # Verificare versione Bitcoin Core bitcoin-cli --version
// Visualizzazione rete dal tuo nodo
Peer clearnet
Peer Tor
Peer I2P
Peer sospetto
Peer fidato
🌼 Dandelion++ — come viene trasmessa la tua transazione
Un osservatore esterno vede la transazione apparire dal nodo fluff — non dal nodo che l’ha originata. Quanti hop percorre il gambo prima del fluff è casuale e sconosciuto all’osservatore.
Fase STEM (il gambo)
La transazione viaggia in silenzio lungo una catena lineare di 1-10 nodi casuali. I nodi sul gambo non la diffondono pubblicamente.
Fase FLUFF (i semi)
A un punto casuale, un nodo attiva il fluff — la transazione viene propagata a tutti i peer contemporaneamente, come una normale propagazione.
// Cosa sa la rete di te 50/100
Punteggio privacy
50
/100
Privacy parziale
Un peer casuale sa:
Il tuo IP realeParziale
I tuoi indirizzi BitcoinNascosto
Che stai usando BitcoinParziale
Le tx che hai trasmessoParziale
Un nodo di sorveglianza:
Correla IP e txParziale
Deduce il wallet softwareParziale
Traccia i tuoi UTXOParziale
Fingerprint walletParziale
▼ Cos'e' il fingerprinting P2P?
I nodi di sorveglianza identificano il wallet software dall’ordine dei messaggi P2P, dai flag services nel messaggio version, dal user-agent string, e dal timing delle transazioni. Bitcoin Core trasmette con user-agent /Satoshi:XX.X/ — visibile a tutti i peer in clearnet.
bitcoin.conf attuale

      
✓ La tua configurazione ottimale
Tipo nodo
Full Node
Rete
Clearnet + Tor
Peer
Peer casuali
Broadcast
Dandelion++
Punteggio privacy complessivo
// bitcoin.conf completo pronto da copiare

  
// Come applicare questa configurazione
# Trovare il file bitcoin.conf
# Linux/Mac:
~/.bitcoin/bitcoin.conf

# Windows:
%APPDATA%\Bitcoin\bitcoin.conf

# Aprire bitcoin.conf per modificarlo
nano ~/.bitcoin/bitcoin.conf

# Dopo aver modificato bitcoin.conf, riavviare Bitcoin Core
bitcoin-cli stop
# Attendere lo shutdown completo, poi riavviare
bitcoind -daemon

# Verificare che la nuova configurazione sia attiva
bitcoin-cli getnetworkinfo
// Checklist completa di verifica
# === CHECKLIST DI VERIFICA ===

# 1. Tipo di nodo
bitcoin-cli getblockchaininfo | grep -E '"pruned"|"blocks"|"headers"'

# 2. Connettivita Tor
bitcoin-cli getnetworkinfo | grep -A2 '"onion"'

# 3. Connettivita I2P
bitcoin-cli getnetworkinfo | grep -A2 '"i2p"'

# 4. Numero peer per rete
bitcoin-cli getpeerinfo | grep '"network"' | sort | uniq -c

# 5. Il tuo indirizzo onion
bitcoin-cli getnetworkinfo | grep '"localaddresses"' -A 10

# 6. Stato mempool
bitcoin-cli getmempoolinfo

# 7. Verifica connessioni in entrata/uscita
bitcoin-cli getnetworkinfo | grep -E '"connections"'

# 8. Verifica ban list
bitcoin-cli listbanned

# 9. Trovare e aprire bitcoin.conf
# Linux/Mac: ~/.bitcoin/bitcoin.conf
# Windows: %APPDATA%\Bitcoin\bitcoin.conf
nano ~/.bitcoin/bitcoin.conf

# 10. Riavviare Bitcoin Core
bitcoin-cli stop
# Attendere shutdown completo, poi:
bitcoind -daemon

Sostieni il progetto

Bitcoin Report School è un progetto indipendente, senza pubblicità, senza sponsor, senza agenda nascosta. Tutti gli strumenti sono gratuiti e open source.

Se questo simulatore ti è stato utile, considera di contribuire con una piccola donazione in Bitcoin.

La matematica non si abroga. La crittografia non si vota. La rete non si spegne.
QR donazione Bitcoin Bitcoin

📷 Scansiona con la fotocamera del telefono, non con un wallet

BTCPay Server · self-hosted · no KYC