Il concetto di CoinJoin è abbastanza semplice ed è un modo per aumentare la fungibilità di bitcoin. Sappiamo infatti che la blockchain è un registro pubblico accessibile a tutti. Anche se gli indirizzi e le transazioni non sono associate in modo specifico all’identità di qualcuno, la presenza di exchanger e intermediari che conoscono la identità, permette di ricostruire la sequenza delle transazioni e associarle alle persone tramite assunzioni euristiche.

Preoccupazioni per la privacy

infatti da un punto di vista della privacy le persone fisiche non hanno piacere che terzi possano conoscere l’ammontare dei loro valori, dove li spendono e dove li guadagnano.

Per quanto riguarda le aziende, esse possono avere interesse a che non sia pubblicamente visibile chi pagano per non avvantaggiare i loro competitors.

La fungibilità del mezzo di pagamento

La fungibilità è un elemento fondamentale di bitcoin e di ogni altro mezzo di pagamento e di preservazione del valore.

Coinjoin ha lo scopo di migliorare la fungibilità di bitcoin. Esso offusca la trail di bitcoin e rompe l’assunto che tutti gli indirizzi di input appartengono allo stesso utente.

L’obiettivo è quello di ottenere la privacy rompendo il link di quale input “paga” quale output, in modo che nessuno degli output non possa essere attribuito al proprietario dell’input. Pertanto, è molto importante che i valori degli output siano esattamente uguali.

I vantaggi di coinjoin

Essenzialmente, CoinJoin permette a più utenti di combinare tutti gli ingressi e le uscite di diverse transazioni in un’unica grande transazione. Questa singola transazione spende bitcoin da indirizzi diversi a indirizzi diversi – e poiché nessuno degli indirizzi di invio non paga nessuno degli indirizzi di ricezione in modo specifico; non c’è alcun collegamento tra nessuno di essi.

i partecipanti ad una transazione CoinJoin annunciano semplicemente quali input e output vogliono includere nella transazione, e firmano l’aggregato solo se questi input e output sono correttamente inclusi. Una volta che tutti i partecipanti hanno firmato, la transazione viene trasmessa.

Una caratteristica chiave di CoinJoin: una volta che la transazione viene trasmessa e inclusa nella blockchain, non c’è modo di sapere quali bitcoin sono andati dove; nemmeno i destinatari della transazione sapranno da quali indirizzi sono stati pagati.

Esempi pratici

Nel video linkato potrete visualizzare un esempio di coinjoin eseguito con wasabi dall’inizio alla fine, sulla rete mainnet. Molto interessante per vedere come fare in pratica