Glossario / Indirizzi e chiavi
Riutilizzo degli indirizzi
- Che cos'è il riutilizzo degli indirizzi?
- Il riutilizzo degli indirizzi significa accettare più pagamenti sullo stesso indirizzo bitcoin, il che pubblica un collegamento pubblico e permanente fra tutti coloro che ti hanno mai pagato lì.
Gli indirizzi bitcoin sono gratuiti e di fatto illimitati, e nulla nel protocollo ti impedisce di usarne uno due volte. Il whitepaper di Satoshi ne sconsigliava l'uso nella sezione 10, raccomandando una nuova coppia di chiavi per ogni transazione, così che i pagamenti non possano essere ricondotti a un unico proprietario. Il riutilizzo è ciò che trasforma un registro pseudonimo in un resoconto consultabile delle tue finanze.
Come funziona
La blockchain è un indice pubblico, e un indirizzo è la chiave su cui è indicizzato. Ogni block explorer offre un campo di ricerca per indirizzo che restituisce l'intera cronologia in una sola pagina: ogni pagamento in entrata, ogni pagamento in uscita, il saldo progressivo e le marche temporali. Caricare quella pagina non costa nulla e non richiede il permesso di nessuno.
Usare un indirizzo una volta produce una sola riga. Usarlo quaranta volte produce quaranta righe che appartengono dimostrabilmente allo stesso destinatario, e ogni pagatore può leggere le altre trentanove. Per scoprirlo non è stato forzato nulla. Il registro è pubblico per costruzione, e l'unica privacy disponibile è la difficoltà di associare un nome a una stringa.
Il riutilizzo cambia anche ciò che si sa della chiave dietro l'indirizzo. In un output pay-to-public-key-hash o pay-to-witness-public-key-hash, l'indirizzo corrisponde a un hash e la chiave pubblica resta non pubblicata fino al primo spend. Se spendi una volta, quella chiave resta on-chain per sempre. Se continui a ricevere sullo stesso indirizzo in seguito, ogni successivo bitcoin si trova dietro una chiave pubblica esposta invece che nascosta, una posizione più debole senza alcun vantaggio.
I wallet hanno risolto questo problema anni fa senza chiederti di pensarci. Un account BIP-32 contiene 2.147.483.648 indirizzi solo sul suo ramo di ricezione, e la schermata di ricezione passa al successivo indirizzo non usato dopo ogni pagamento. Bitcoin Core contrassegna gli indirizzi come usati e si rifiuta di fornirli di nuovo. Riutilizzare di proposito un indirizzo oggi generalmente significa copiarne uno vecchio dalla tua stessa cronologia.
Perché questo conta quando compri bitcoin
Ogni exchange che ha verificato la tua identità conserva il tuo indirizzo di prelievo in un registro di conformità, e il riutilizzo è ciò che permette a quell'unico registro di coprire tutto ciò che possiedi.
Se prelevi sullo stesso indirizzo 52 volte in un anno, consegni all'exchange, al suo fornitore di analisi e a chiunque ottenga un ordine di esibizione nei confronti di uno dei due un unico filo che svela l'intera tua posizione di risparmio. Se prelevi ogni volta su un indirizzo nuovo, quelle stesse parti vedono 52 output non collegati tra loro, la cui relazione va inferita invece che letta su una pagina. L'inferenza spesso è possibile. È anche un lavoro, e non è una prova.
Le whitelist di prelievo complicano il consiglio, e fingere il contrario sarebbe disonesto. Kraken, Binance e la maggior parte delle piattaforme grandi ti permettono di limitare i prelievi a un elenco salvato di indirizzi, il che è una solida difesa contro chi prende il controllo del tuo account, e ti spinge verso il riutilizzo. Il compromesso praticabile è inserire in whitelist diversi indirizzi dello stesso wallet invece di uno solo, e conservare la whitelist. La compromissione degli account svuota più wallet dell'analisi della blockchain.
Le aziende affrontano la versione più cruda del problema. Un negozio che stampa un solo codice QR e lo attacca al bancone mostra a ogni cliente l'incasso giornaliero e il saldo. I processori di pagamento derivano un indirizzo nuovo per ogni fattura da una chiave pubblica estesa proprio per questo motivo, e una pagina di donazioni che pubblica un solo indirizzo statico ha scelto l'esposizione pubblica al posto della privacy, a volte senza rendersene conto.
Cosa rivela un indirizzo di donazioni riutilizzato
Pubblica un solo indirizzo in un profilo pubblico, lascialo lì per un anno, e il risultato leggibile è scomodo.
Chiunque può calcolare al satoshi l'importo ricevuto, contare i singoli pagamenti e leggere il minuto in cui ciascuno è arrivato. Un donatore che ha pagato direttamente da un account verificato su un exchange può essere abbinato alla propria donazione e poi vedere accanto a essa tutte le altre donazioni. Quando alla fine spendi, la transazione rivela quali bitcoin hai scelto, quanto è tornato come resto e dove è andato, davanti a un pubblico che già sa che l'indirizzo appartiene a te per nome.
I pagamenti silenziosi, specificati nel BIP-352, sono la risposta moderna a questo compromesso. Pubblichi un'unica stringa statica esattamente come prima, e ogni mittente la usa per calcolare un indirizzo on-chain diverso, così l'identificatore pubblico resta costante mentre la catena non mostra nulla in comune tra i pagamenti. Non richiede alcun cambiamento del consenso, solo il supporto in entrambi i wallet, ed è per questo che la disponibilità è irregolare invece che universale.
Riutilizzo degli indirizzi vs fusione degli input
Il riutilizzo degli indirizzi collega i pagamenti che arrivano a un solo indirizzo; la fusione collega bitcoin arrivati a diversi. Una fusione avviene ogni volta che una transazione spende insieme due o più input, il che dice a ogni osservatore che un'unica parte deteneva le chiavi di tutti, una regola che le società di analisi della blockchain chiamano euristica della proprietà comune degli input. I due problemi si sommano. Un'accurata igiene degli indirizzi è annullata da un solo sweep che spende tutto in una volta, e il coin control è la risposta al secondo problema, non al primo.
Riutilizzo degli indirizzi vs attacco di dusting
Il riutilizzo degli indirizzi è autoinflitto; un attacco di dusting è fatto a te. Un attaccante invia qualche centinaio di satoshi a migliaia di indirizzi e attende che i destinatari fondano quel dust in una transazione più grande, il che collega l'indirizzo colpito dal dusting al resto dei loro bitcoin. Il riutilizzo non richiede alcun attaccante e rivela molto di più, perché espone una cronologia completa dei pagamenti invece di un solo collegamento. Entrambi si gestiscono allo stesso modo: indirizzi nuovi in entrata, selezione deliberata degli input in uscita.