Indirizzi Stealth Monero: Come Funzionano Davvero
Indirizzi Stealth di Monero: Come Funzionano Davvero
Se incolli il tuo indirizzo del wallet Monero in un block explorer, le transazioni in entrata semplicemente non compaiono. Non si tratta di un bug né di un indice mancante: l'explorer non è genuinamente in grado di collegare l'indirizzo agli output che ti appartengono. Dietro questo comportamento controintuitivo si nasconde uno dei pezzi più eleganti di crittografia applicata che il mondo delle criptovalute abbia prodotto: lo stealth address. Nel 2026, con società di sorveglianza on-chain come Chainalysis e TRM Labs che ammettono pubblicamente di non riuscire a tracciare in modo coerente i destinatari di Monero, gli indirizzi stealth restano il cavallo di battaglia silenzioso che protegge ogni utente XMR — dal piccolo acquirente che usa MoneroSwapper al giornalista che riceve donazioni. In questo articolo vedremo cosa sono esattamente, come vengono derivati, perché ogni transazione genera un output one-time unico e da cosa, in concreto, proteggono (e da cosa no).
Perché la privacy del destinatario è il problema più ostico delle criptovalute
Bitcoin ha risolto il problema del consenso decentralizzato, ma ha lasciato quasi del tutto irrisolto quello della privacy del destinatario. Quando Alice invia a Bob 0,1 BTC, il mondo intero vede l'indirizzo di Bob arricchirsi di 0,1 BTC. Se Bob riutilizza quell'indirizzo, ogni pagamento passato e futuro viene messo in correlazione. Euristiche come il common-input-ownership e il clustering degli indirizzi hanno reso Bitcoin uno dei sistemi finanziari più sorvegliabili mai costruiti: uno studio del 2025 dell'IMDEA Networks Institute di Madrid ha mostrato che oltre il 71% dei wallet Bitcoin mainstream può essere deanonimizzato unicamente attraverso dati pubblici on-chain, senza alcuna fuga di dati KYC.
Monero adotta la posizione opposta: ogni output deve essere non collegabile all'indirizzo pubblico che lo ha ricevuto. Tre pilastri garantiscono questa proprietà:
- Gli indirizzi stealth nascondono il destinatario — nessun osservatore può dire quale output appartiene a quale indirizzo pubblico.
- Le firme ad anello e CLSAG nascondono il mittente — il vero spender è sepolto tra 15 esche.
- RingCT e Bulletproofs+ nascondono l'importo — solo mittente e destinatario sanno quanto è stato mosso.
Gli indirizzi stealth sono la gamba lato-destinatario di questo tripode. Senza di essi, le firme ad anello da sole continuerebbero a far trapelare la destinazione, e la garanzia di privacy crollerebbe. Sono anche il motivo per cui il tuo indirizzo pubblico Monero può essere tranquillamente messo su un sito web, stampato su un biglietto da visita o condiviso con migliaia di donatori: per quanti pagamenti vi arrivino sopra, ciascuno crea un output fresco e matematicamente scorrelato sulla blockchain.
La matematica: come si genera un indirizzo stealth
Un indirizzo pubblico Monero non è un hash come in Bitcoin. È la concatenazione di due chiavi pubbliche su curva ellittica Ed25519: una chiave di spesa pubblica (B maiuscolo) e una chiave di visualizzazione pubblica (A maiuscolo). Le corrispondenti chiavi private sono b minuscolo e a minuscolo. Quando qualcuno vuole inviarti XMR, il suo wallet non inserisce il tuo indirizzo nella transazione — sarebbe controproducente. Esegue invece il seguente calcolo.
Passo 1: il mittente genera una chiave di transazione casuale
Il wallet del mittente sceglie uno scalare casuale r per ogni transazione. Da questo deriva la chiave pubblica di transazione R = r·G, dove G è il punto base di Ed25519. R viene pubblicato in chiaro nel campo "extra" della transazione, ma da solo non rivela nulla sul destinatario.
Passo 2: il mittente calcola un segreto condiviso
Usando la tua chiave pubblica di visualizzazione A presa dall'indirizzo del wallet, il mittente calcola il segreto condiviso r·A. È un classico scambio Diffie-Hellman sulla curva. Per la simmetria dell'operazione, tu — e soltanto tu — puoi ricomputare lo stesso valore come a·R usando la tua chiave privata di visualizzazione. Nessun altro sulla rete è in grado di farlo, perché nessun altro detiene a.
Passo 3: il mittente deriva la chiave di output one-time
La chiave pubblica one-time P che effettivamente compare sulla blockchain si calcola come:
P = Hs(r·A || i)·G + B
Qui Hs è un hash scalare basato su Keccak, i è l'indice dell'output all'interno della transazione (cosicché le transazioni multi-output producano comunque chiavi uniche) e B è la tua chiave pubblica di spesa. L'output P è ciò che viene registrato on-chain come destinazione. Sembra una chiave da 32 byte perfettamente ordinaria, indistinguibile da qualunque altro output in qualunque altra transazione. Cruciale: P è un punto fresco sulla curva, mai visto prima — anche se lo stesso mittente paga lo stesso destinatario mille volte, ogni singolo output sarà diverso.
Passo 4: il destinatario scansiona e rileva la proprietà
Il tuo wallet scarica ogni blocco e, per ciascun output, calcola Hs(a·R || i)·G + B e verifica se il risultato corrisponde alla P on-chain. Se sì, l'output appartiene a te. Ecco perché la sincronizzazione del wallet Monero può sembrare lenta sui dispositivi mobili: il wallet deve testare ogni output recente contro la tua chiave di visualizzazione. È anche il motivo per cui la sola chiave di visualizzazione è sufficiente per rilevare transazioni in entrata senza conferire alcun potere di spesa — può calcolare il segreto condiviso ma non può derivare la chiave privata one-time necessaria per spendere.
Per spendere effettivamente l'output, combini la tua chiave privata di spesa b con lo stesso hash per produrre la chiave privata one-time x = Hs(a·R || i) + b, che corrisponde a P. Senza b, nessuna quantità di dati view-key consente a chicchessia di muovere i fondi. Questa separazione netta è ciò che permette ad auditor, commercialisti o software fiscali di ricevere accesso in sola lettura a un wallet Monero senza alcun rischio di spesa.
Indirizzi stealth, subaddress e indirizzi integrati a confronto
Monero offre in realtà tre costrutti lato-destinatario correlati. Vengono spesso confusi, perfino da utenti esperti, quindi conviene metterli affiancati.
| Costrutto | Cos'è | Quando usarlo | Compromesso di privacy |
|---|---|---|---|
| Indirizzo stealth (output one-time) | Generato automaticamente per ogni transazione; non riutilizzabile | Ogni transazione — invisibile all'utente | Nessuno: è la base |
| Subaddress | Figlio deterministico del tuo indirizzo principale; consente a un solo wallet di gestire molte etichette di ricezione indipendenti | Fatturazione per cliente, tracciamento donazioni, depositi su exchange | Ogni subaddress è non collegabile agli altri e all'indirizzo principale per osservatori esterni |
| Indirizzo integrato | Indirizzo principale più un payment ID cifrato a 64 bit | Legacy — la maggior parte dei servizi li ha sostituiti con subaddress nel 2018-2019 | Il payment ID è cifrato on-chain ma aggiunge comunque metadati; sconsigliato per nuove integrazioni |
| View key | Chiave privata che può scansionare ma non spendere | Audit, dichiarazioni fiscali, wallet di sola lettura | Dà al titolare piena visibilità sulle entrate — condividila con cautela |
Il punto importante: la generazione dell'indirizzo stealth avviene a livello di protocollo, in automatico, per ogni output, indipendentemente dal fatto che la destinazione fosse un indirizzo principale, un subaddress o un indirizzo integrato. Non digiterai mai un indirizzo stealth a mano perché non lo vedrai mai — il wallet lo deriva a partire da qualunque indirizzo il mittente abbia incollato.
Passo dopo passo: un pagamento reale dal mittente al destinatario
Immagina di acquistare hosting rispettoso della privacy da un fornitore che accetta XMR. Ecco cosa succede esattamente tra il momento in cui premi "invia" e il momento in cui il merchant vede il saldo aggiornato.
- Incolli l'indirizzo principale o il subaddress del merchant (la lunga stringa che inizia con 4 o 8) nella finestra di invio del tuo wallet e inserisci l'importo.
- Il tuo wallet genera una chiave di transazione privata casuale r e calcola R = r·G. R è la chiave pubblica di transazione che accompagnerà il movimento.
- Per ogni output destinato al ricevente, il wallet deriva l'indirizzo stealth one-time P = Hs(r·A || i)·G + B utilizzando le chiavi pubbliche di visualizzazione e spesa del destinatario. L'eventuale output di resto verso te stesso viene generato allo stesso modo usando le tue chiavi.
- Il wallet seleziona 15 output esca della stessa classe di denominazione da blocchi precedenti e costruisce una firma ad anello CLSAG in modo tale che uno qualsiasi dei 16 candidati potrebbe essere il vero spender.
- Gli importi vengono cifrati con il segreto condiviso Diffie-Hellman, e le range proof Bulletproofs+ dimostrano che tutti gli importi sono positivi senza rivelarli.
- La transazione viene propagata tramite Dandelion++ per offuscare l'IP di origine agli osservatori di rete.
- Una volta minata, il wallet del merchant scansiona il blocco, calcola il segreto condiviso a·R per ogni R di ogni transazione, verifica se i valori di P derivati corrispondono a output in quella transazione, e accredita il saldo in silenzio.
L'intero ciclo richiede grossomodo 20 secondi di calcolo più i due minuti medi di tempo di blocco. Dall'esterno, la transazione appare identica a qualsiasi altra transazione Monero sulla catena: stessa classe di dimensione, stesso ring size, stessa struttura di proof. Non esiste modo per una terza parte — exchange, ISP o analista blockchain — di guardare la catena e stabilire che il merchant abbia ricevuto fondi, e tanto meno quanti.
Il merchant può pubblicare lo stesso indirizzo Monero su ogni pagina del suo sito web per dieci anni senza mai compromettere la sua privacy — ogni pagamento atterra su un output one-time fresco e non collegabile, che la blockchain non associa all'indirizzo pubblico.
Cosa gli indirizzi stealth non proteggono
La privacy crittografica è necessaria ma non sufficiente. Gli indirizzi stealth proteggono la collegabilità on-chain, ma non possono difendere da errori o fughe fuori catena. Conoscerne i limiti fa parte dell'uso corretto dello strumento.
- KYC all'ingresso: se acquisti XMR da un exchange centralizzato che ha effettuato la verifica dell'identità, l'exchange conosce il valore R della transazione di prelievo. Non può vedere dove invii le monete in seguito, ma ha un punto di partenza solido. Un servizio di swap senza KYC come MoneroSwapper evita di piantare quella radice fin dall'inizio.
- Riutilizzo dell'indirizzo fuori catena: gli indirizzi stealth impediscono il collegamento on-chain, ma se pubblichi lo stesso indirizzo principale su X (ex Twitter), su GitHub e su un post di forum, chiunque può correlare le tue identità reali anche senza poter correlare le tue transazioni.
- Fughe di view key: se condividi una view key per un audit e la macchina di quell'auditor viene poi compromessa, ogni transazione passata e futura in entrata su quel wallet diventa visibile all'attaccante. Usa un wallet dedicato per qualunque audit basato su view key.
- Inferenza basata su tempistiche e importi: un'entità di sorveglianza che controlla sia un exchange sia un merchant non può collegare l'output on-chain, ma può correlare il tempo e l'importo approssimativo di un prelievo con un pagamento successivo. Per questo Monero raccomanda di attendere almeno 10 conferme (circa 20 minuti) prima di considerare i fondi definitivi, e per questo gli importi dei pagamenti non dovrebbero costituire impronte uniche (evita di inviare 0,12345678 XMR se la fattura del merchant era di 0,12345678 EUR).
- Metadati a livello IP: gli indirizzi stealth vivono a livello crittografico. La privacy a livello di rete è fornita da Dandelion++ ed è notevolmente rafforzata se fai girare un tuo nodo dietro Tor o I2P. Un wallet che si appoggia di default a un nodo remoto gestito da terzi rivela a quell'operatore il legame IP-wallet.
Esempio pratico: ricevere donazioni in modo anonimo
Pensiamo a una giornalista indipendente che pubblica su un blog di leak e inchieste a fine 2025. Vuole accettare donazioni dai lettori senza svelare l'identità dei donatori né la propria. Il suo flusso di lavoro:
Pubblica un unico indirizzo principale Monero nel footer del sito, nella bio firmata con PGP e in calce a ogni articolo. Nell'arco di sei mesi riceve 412 donazioni che vanno da 0,001 a 4,3 XMR. Sulla blockchain, nessuno di questi pagamenti è collegabile al suo indirizzo pubblicato. Nessuno è collegabile agli altri. Block explorer come xmrchain.net mostrano 412 transazioni verso 412 output one-time distinti, sparpagliati su migliaia di blocchi, senza alcun clustering possibile.
Quando vuole convertire una parte in fiat per le spese quotidiane, non manda i fondi a un exchange KYC — significherebbe creare una pista cartacea che lega l'attività del wallet alla sua identità. Usa invece uno swap senza KYC per convertire XMR in una stablecoin orientata alla privacy o in BTC, che spende poi attraverso un canale non custodiale. Dall'inizio alla fine, nessun intermediario centralizzato conserva traccia del rapporto tra il suo indirizzo pubblicato e la sua identità reale. È questo il modello di minaccia per cui gli indirizzi stealth sono stati progettati, ed è lo stesso modello di minaccia che il flusso di swap senza account di MoneroSwapper estende, garantendo che i punti di ingresso e uscita verso Monero non diventino essi stessi vettori di deanonimizzazione.
Il futuro: FCMP++ e cosa cambia per gli indirizzi stealth
La derivazione degli indirizzi stealth fa parte di Monero fin dal paper originale di CryptoNote del 2014 e non è cambiata in modo sostanziale da oltre un decennio. Ciò che invece sta cambiando nel 2026 e oltre è il livello di privacy lato mittente. I Full-Chain Membership Proofs (FCMP++), la cui attivazione tramite hard fork è attesa nel corso del 2026, sostituiranno l'attuale firma ad anello a 16 membri con una proof a conoscenza zero che dimostra che l'output speso è uno qualsiasi tra tutti gli output idonei mai creati sulla catena — in pratica un anonymity set di decine di milioni anziché di 16.
Per gli indirizzi stealth, la matematica resta invariata. Un output one-time si deriva ancora come P = Hs(r·A || i)·G + B. Il destinatario scansiona ancora calcolando a·R. Quel che cambia è che, quando il destinatario in seguito spenderà quell'output, la proof che dimostra il possesso non dovrà più puntare a 15 esche specifiche. Combinato con Seraphis e il formato di indirizzo Jamtis nella roadmap a più lungo termine, gli indirizzi stealth diventeranno ancora più flessibili: Jamtis introduce address tag che consentono ai wallet leggeri di scansionare in modo più efficiente senza indebolire la garanzia di non collegabilità. Lo schema di ricerca matematica che si trasforma in privacy implementata è uno dei motivi per cui Monero resta l'implementazione di riferimento per la privacy del destinatario nel 2026.
FAQ
Si può vedere quanti XMR ha ricevuto il mio indirizzo?
No. A differenza di Bitcoin, dove il saldo di qualsiasi indirizzo è visibile pubblicamente, un indirizzo principale Monero non ha alcun saldo on-chain. I saldi vengono calcolati dal wallet del proprietario che esegue lo scan degli output corrispondenti alla derivazione dello stealth address. Una terza parte che disponga solo del tuo indirizzo pubblico non può determinare quante transazioni hai ricevuto, per quale importo o quando.
È sicuro riutilizzare lo stesso indirizzo Monero?
Sì, tecnicamente. Ogni pagamento verso lo stesso indirizzo produce comunque un indirizzo stealth on-chain unico, quindi le transazioni non sono collegabili. Detto questo, per ragioni contabili e di privacy operativa è buona pratica generare un subaddress per ogni controparte: in questo modo, se mai dovessi condividere una view key o se una controparte venisse compromessa, l'esposizione si limita a quel singolo subaddress.
Qual è la differenza tra view key e indirizzo stealth?
La view key è una chiave privata che appartiene al tuo wallet e consente al detentore di rilevare i pagamenti in entrata ricomputando le derivazioni degli indirizzi stealth. Un indirizzo stealth è invece l'output one-time on-chain che la view key ti aiuta a trovare. La view key li legge; non li genera.
Gli indirizzi stealth rendono Monero resistente ai computer quantistici?
No. Gli indirizzi stealth si appoggiano all'assunzione del logaritmo discreto sulla curva Ed25519, che un computer quantistico sufficientemente potente potrebbe spezzare con l'algoritmo di Shor. Il laboratorio di ricerca di Monero ha diverse proposte post-quantum sulla roadmap a lungo termine, comprese sostituzioni basate su lattice per lo schema attuale, ma nessuna è in produzione nel 2026. Per modelli di minaccia che includano avversari quantistici credibili, gli indirizzi stealth non sono d'aiuto.
Se mi mando XMR da solo, il mio stesso wallet genera un indirizzo stealth?
Sì. Ogni output — incluso il resto che torna al mittente — è un indirizzo stealth derivato dalle tue chiavi di visualizzazione e di spesa. Per questo anche i tuoi output di resto sono non collegabili al tuo indirizzo principale, e un wallet appena creato che abbia eseguito un solo self-send appare comunque, sulla blockchain, come due destinatari indipendenti.
Un tribunale o una richiesta della Guardia di Finanza può obbligare un indirizzo stealth a rivelarne il proprietario?
Nessuna parte in possesso dei soli dati on-chain può mappare un indirizzo stealth a un indirizzo pubblico senza la view key. Un provvedimento dell'autorità giudiziaria potrebbe costringere il proprietario di un wallet (se identificato) a consegnare la sua view key, ma non può obbligare la rete o terze parti a eseguire la derivazione inversa, semplicemente perché matematicamente non esiste alcuna derivazione di questo tipo.
Conclusione
Gli indirizzi stealth sono la metà silenziosa della privacy di Monero. Le firme ad anello e RingCT si prendono la maggior parte dell'attenzione perché proteggono mittente e importo, ma senza chiavi di output one-time generate per ogni transazione quelle difese sarebbero vuote: la destinazione continuerebbe a trapelare e l'analisi della catena raggrupperebbe comunque i destinatari. Ciò che CryptoNote ha intuito correttamente nel 2014, e che Monero ha portato avanti attraverso dieci anni di upgrade, è il riconoscimento che la privacy del destinatario è strutturale, non opzionale: deve essere incorporata in ogni singola transazione, in automatico, senza richiedere all'utente di attivarla. È questa scelta strutturale a rendere sicuro pubblicare un indirizzo di donazione XMR in un modo in cui pubblicare un indirizzo di donazione BTC, semplicemente, non lo è.
Se arrivi da Bitcoin e vuoi mettere subito al lavoro questa proprietà, il primo passo più pulito è procurarti dei XMR senza creare un punto di ingresso collegato alla tua identità. MoneroSwapper ti consente di scambiare BTC, ETH, LTC, USDT e una dozzina di altri asset in Monero senza account, senza KYC e senza conservare log che vanificherebbero a posteriori le stesse garanzie di privacy descritte sopra. Una volta che le monete arrivano nel tuo wallet, gli indirizzi stealth fanno automaticamente il resto del lavoro: ogni pagamento che riceverai sarà non collegabile a ogni altro, e l'unica persona in grado di dimostrarne la proprietà sarai tu.
🌍 Leggi in