Address reuse

Riutilizzo dell'indirizzo

Difficoltà: avanzato

Argomento: tecnologia


DEFINIZIONE

Quando viene effettuato un pagamento Bitcoin, in genere deve essere specificato l'indirizzo di destinazione. Quindi l'utente che vuole ricevere l'importo comunica l'indirizzo dove riceverlo.

I wallet degli utenti sono in grado di generare diversi indirizzi, tutti gestiti dallo stesso wallet.

È quindi semplice, ed è consigliato, per ogni pagamento che si deve ricevere anche dallo stesso pagante, utilizzare un nuovo indirizzo di ricezione, evitando il Riutilizzo degli indrizzi o Address Reuse, che è una pessima pratica ché compromette la privacy e la sicurezza.

Il riutilizzo dell'indirizzo danneggia la privacy non solo di voi stessi, ma anche di altre persone, comprese quelle non collegate alla transazione.

Considerato che un wallet HD (e la maggior parte dei wallet lo sono) può creare un numero di chiavi praticamente infinite, è meglio usare un nuovo indirizzo per ogni nuovo pagamento che si vuole ricevere.

Quando gli indirizzi vengono riutilizzati, permettono ad altri di determinare in modo molto più semplice e affidabile che l'indirizzo riutilizzato è il vostro. Ogni volta che la chiave privata dell'indirizzo riutilizzato firma una nuova transazione, chiunque la riceva può utilizzare le cronologie di quell'indirizzo per scoprire informazioni su di voi, e chiunque sia interessato a scoprire l'identità del proprietario dell'indirizzo ha un obiettivo in più che può cercare di contattare per scoprire chi siete.

Il grafo delle relazioni di un indirizzo riutilizzato è fortemente collegato, in quanto tutti gli input di quell'indirizzo sono necessariamente collegati a tutti i suoi output.

Sono state condotte ricerche significative sull'area di quello che i ricercatori chiamano "collasso dell'identità", ovvero ciò che accade quando più di un indirizzo Bitcoin è fortemente collegato a un altro attraverso il grafo delle transazioni Bitcoin. Il riutilizzo degli indirizzi rende il loro lavoro banale. Esistono database noti al pubblico che non solo hanno fatto collassare milioni di indirizzi Bitcoin, ma hanno anche utilizzato informazioni pubblicamente disponibili per collegare le identità collassate alle persone, e questi database vengono mantenuti attivamente.

Mentre a voi può andare bene che un ricercatore europeo a caso sia obbligato dal suo comitato etico a nascondere la vostra identità al grande pubblico, è molto probabile che le persone che accettano denaro da voi non siano a conoscenza della vostra decisione: quindi, attraverso la vostra azione di riduzione della privacy, le persone che si trovano più avanti nella catena di firma degli indirizzi potrebbero mettervi a rischio se spendono i loro bitcoin in qualcosa che attira l'attenzione delle forze dell'ordine.

Non sempre questo riutilizzo di indirizzi viene fatto dal legittimo proprietario, ma può essere anche causato da un dust attack, dove un attaccante invia piccole quantità di bitcoin a indirizzi che sono già apparsi sulla blockchain, producendo un riutilizzo degli indirizzi anche per gli utenti che consapevolmente hanno cercato di evitarlo.

Alcuni wallet cercano di risolvere questo problema implementando la coin selection, o coin control, obbligatoria che aiuta a evitare che gli utenti spendano dust nelle transazioni nelle quali vogliono proteggere la loro privacy. Altri wallet offrono funzioni opzionali che consentono di spendere tutte i coin ricevuti allo stesso indirizzo contemporaneamente, ma non più di una volta, eliminando la perdita di privacy derivante dal riutilizzo degli indirizzi con il rischio di non poter spendere i fondi ricevuti a un indirizzo precedentemente utilizzato.

L'Address Reuse viene chiamato anche Output linking, in riferimento al fatto che gli importi sono su output, o UTXO, diversi, ma attraverso l'uso di uno stesso indirizzo si riesce a collegarli.


aggiornato il 2022-11-14