Wasabi Wallet, Whirlpool e JoinMarket: modelli operativi, decentralizzazione, costi, usabilità e tempi di attesa per aumentare la privacy dei propri UTXO.
Il CoinJoin è una tecnica trustless per gli utenti Bitcoin che desiderano migliorare la privacy dei loro UTXO. Si tratta di una metodologia che consente a più utenti di unire i propri UTXO in un’unica transazione, interrompendo i collegamenti deterministici tra i vecchi UTXO e i nuovi. Il concetto di coinjoin fu proposto per la prima volta nel 2013 dallo sviluppatore Gregory Maxwell. Tra le principali soluzioni attualmente disponibili ci sono Wasabi Wallet, Whirlpool (rilanciato da Ashigaru) e JoinMarket. Sebbene tutte implementino il protocollo CoinJoin, ciascuna adotta un approccio diverso in termini di modello operativo, decentralizzazione, costi e facilità d’utilizzo.
Wasabi Wallet
Wasabi Wallet è un wallet desktop open source che implementa il protocollo WabiSabi, consentendo transazioni coinjoin con importi variabili. Questo mira a ridurre la creazione di “resto tossico”, permettendo un resto esatto o nessun resto. Il protocollo WabiSabi è progettato per essere “trustless”, il che significa che il coordinatore non può rubare fondi né violare la privacy dei partecipanti. Tutte le comunicazioni e le transazioni sono instradate attraverso la rete Tor, che cripta il traffico internet e nasconde gli indirizzi IP degli utenti. Grazie ai block filter lato client (BIP-158), il wallet ottiene la cronologia delle transazioni senza esporre gli indirizzi degli utenti a server esterni. In pratica, Wasabi scarica solo parte di un blocco e, in caso di corrispondenza, richiede il blocco completo direttamente da nodi Bitcoin casuali sulla rete P2P, utilizzando Tor per offuscare ulteriormente l’identità e l’attività degli utenti.
Storicamente, il coordinatore di Wasabi era gestito da zkSNACKs Ltd., la società che sponsorizzava lo sviluppo di Wasabi Wallet. L’uso di un coordinatore centralizzato ha creato un single point of failure e una vulnerabilità normativa. Tale tensione è culminata nella decisione di zkSNACKs di interrompere il proprio servizio di coordinamento nel giugno 2024, citando l’aumento della pressione normativa in seguito all’arresto dei fondatori di Samourai Wallet. Tuttavia, la comunità ha risposto con l’emergere di coordinatori alternativi e indipendenti come Kruw, che hanno permesso di diversificare l’ecosistema, rendendolo meno vulnerabile alla pressione regolatoria.
Lista dei coordinatori esistenti su Wasabi Wallet.
Modello operativo e decentralizzazione
Wasabi Wallet utilizza un approccio centralizzato con un unico coordinatore, che tuttavia non conosce i flussi di input e output grazie all’implementazione di firme cieche (blind signature) e connessione tramite Tor. Il wallet è progettato per essere interamente automatico: l’utente configura la propria strategia di mixing e lascia il software lavorare. Non sono richiesti interventi manuali durante il processo né è possibile selezionare manualmente quali coin mixare.
Commissioni e costi
Dalla versione 2.2.0.0 in poi, Wasabi Wallet ha eliminato le proprie commissioni. Attualmente gli utenti di Wasabi pagano solo le commissioni di mining per lo spazio del blocco utilizzato, affidandosi a coordinatori volontari o alternativi. I nuovi coordinatori, come Kruw, possono implementare le proprie strutture di commissioni, con alcuni che offrono il coordinamento gratuitamente.
Le strategie di mixing, come ”Default”, “Riduci costi” o “Migliora privacy”, aiutano inoltre a calibrare le spese, ottimizzando i tempi e i costi a seconda dei picchi di rete. Ad esempio la strategia “Riduci costi” fa partire round di coinjoin solo quando le commissioni di rete sono basse.
Dimensione dei mix e tempi di attesa
Wasabi Wallet permette di partecipare a mix multipli con UTXO di taglie diverse. Gli output risultanti sono di taglio differente tra loro. Ad esempio, il sito web di Wasabi elenca decine di possibili valori generati in un round (da 0,00005 BTC fino a migliaia di BTC).
Un report del 2024 ha rilevato una media di 60,6 partecipanti per round, con input medi di 0,36 BTC e circa 36,9 round al giorno. I tempi di attesa possono variare da poche ore a un massimo di alcune giornate per raggiungere la privacy desiderata.
Requisiti tecnici
Wasabi è disponibile su desktop (Windows, Mac, Linux); non esiste un’app mobile. Per migliorare ulteriormente la propria privacy, il wallet può essere collegato a un proprio full node Bitcoin.
Whirlpool (Ashigaru)
Whirlpool, originariamente parte di Samourai Wallet e ora rilanciata da Ashigaru, è un’implementazione di Zerolink coinjoin.
Il workflow di Whirlpool è a due fasi: per prima cosa l’utente genera una transazione d’ingresso (Tx0) versando fino a 20 UTXO in una delle due pool disponibili, pagando una fee anti-Sybil fissa; successivamente l’utente partecipa ai round di mixing veri e propri.
La transazione di “pre-mixing” (Tx0) separa il resto in eccesso dagli UTXO destinati al mixing e dalle commissioni del coordinatore prima del coinjoin, assicurando che non vengano creati output di “resto tossico” direttamente dal mix.
Dopo il mix iniziale, gli utenti possono partecipare a round di “remixing” gratuitamente. Questo consente agli output già mescolati di unirsi a ulteriori round, aumentando il loro anonymity set senza incorrere in commissioni di servizio aggiuntive.
Modello operativo e decentralizzazione
Ashigaru Whirlpool si basa su un coordinatore centrale che non può tracciare gli input e gli output grazie all’uso di firme cieche e connessione esclusivamente tramite Tor. Tuttavia, rispetto a Wasabi, Whirlpool richiede un maggiore intervento manuale da parte dell’utente. La procedura inizia con la generazione di una transazione di premix (Tx0), necessaria per accedere a una delle pool disponibili. Da lì in avanti, i round di coinjoin avvengono automaticamente.
Il nuovo sistema utilizza un server Electrum come backend, eliminando la dipendenza da nodi Dojo e rendendo la soluzione compatibile con piattaforme come Start9, Umbrel e myNode. Tale cambiamento architetturale garantisce inoltre che il team di Ashigaru non abbia accesso alle master public key (xpub) degli utenti.
Il codice è open-source e progettato per consentire la creazione di diversi coordinatori indipendenti.
Commissioni e costi
Whirlpool applica una fee anti-Sybil del 5% sul valore della pool (pool da 0,25 BTC e da 0,025 BTC) al momento dell’ingresso tramite la transazione Tx0. Dopo il pagamento iniziale, non ci sono ulteriori commissioni per ogni round, escluso il costo delle normali fee di rete. Tale modello mira a scoraggiare attacchi Sybil e garantire maggiore sicurezza ai partecipanti.
Dimensione dei mix e tempi di attesa
Gli output dei mix sono pari al valore della pool scelta, con dimensioni fisse (ad es. 0,25 BTC per la pool principale). Non ci sono “denominazioni multiple” come in Wasabi. I tempi di attesa dipendono dal numero di partecipanti. Una volta completata la Tx0, i mix si attivano casualmente a intervalli regolari.
Requisiti tecnici
Per utilizzare Whirlpool è necessaria l’interfaccia compatibile Ashigaru Terminal, un’applicazione Terminal User Interface disponibile per desktop. È raccomandato l’utilizzo di un full node Bitcoin. L’interfaccia può risultare meno intuitiva rispetto a Wasabi.
JoinMarket
Nel 2015 Chris Belcher annunciò JoinMarket, la prima implementazione del protocollo CoinJoin. JoinMarket si distingue per il suo modello completamente decentralizzato e peer-to-peer.
JoinMarket opera attraverso un modello di mercato “maker-taker”:
- maker: offrono liquidità creando transazioni parzialmente firmate e mettendo a disposizione i propri UTXO per essere mixati. In cambio di tale servizio, guadagnano una commissione.
- taker: iniziano le transazioni coinjoin e pagano una commissione ai maker per il servizio. Le commissioni non sono fisse ma sono determinate dal mercato, basate sulla domanda e l’offerta.
Il protocollo è open-source e trustless: ogni utente custodisce sempre le proprie chiavi private e firma i propri input nel coinjoin.
Modello operativo e decentralizzazione
A differenza di Wasabi e Whirlpool, non esiste alcun coordinatore centrale: l’incontro tra maker (chi fornisce liquidità) e taker (chi vuole partecipare al coinjoin) avviene tramite un protocollo peer-to-peer. Ciò garantisce la totale indipendenza da server centrali e una gestione più flessibile. I nodi partecipanti comunicano tra loro tramite Tor.
Se un utente decide di fare da maker può impostare un Fidelity Bond per attrarre gli utenti a sceglierlo come collaboratore di una transazione di coinjoin. Il concetto di Fidelity Bond è stato introdotto nel protocollo JoinMarket come sistema per garantire che gli attori del mercato agiscano onestamente. Si tratta di un meccanismo primario per la resistenza agli attacchi Sybil, rendendo economicamente costoso per un attaccante controllare più identità.
Il Fidelity Bond è una funzione che permette di bloccare una certa quantità di bitcoin per mostrare al network il proprio impegno (reputazione) nell’utilizzo del protocollo. È importante bloccare una determinata quantità di bitcoin se si desidera che altri utenti taker prendano in considerazione e accettino l’offerta. I bitcoin bloccati sono impossibili da movimentare fino alla scadenza del bond. È da tenere in considerazione che senza Fidelity Bond potrebbe essere più difficile che la propria offerta venga scelta.
Il protocollo è particolarmente apprezzato da utenti esperti, poiché consente di mantenere il massimo controllo sui propri UTXO. Tuttavia, la configurazione è più complessa e richiede conoscenze più avanzate.
Commissioni e costi
JoinMarket non applica commissioni proprie. I costi dipendono dalle tariffe determinate dai maker, che possono variare in base alla domanda. Tali costi, combinati con le normali commissioni di rete, sono generalmente competitivi, rendendo JoinMarket un’opzione economicamente vantaggiosa per gli utenti.
Dimensione dei mix e tempi di attesa
JoinMarket supporta mix di qualsiasi dimensione superiore al dust limit, a condizione che ci siano maker disponibili a soddisfare le richieste. I mix possono coinvolgere da 4 a 20 controparti, con tempi quasi immediati per i taker. Tuttavia, i maker devono attendere la richiesta di un taker per completare il processo. L’anonimato derivante dipende dal numero di round eseguiti.
Requisiti tecnici
JoinMarket è progettato principalmente per essere utilizzato da riga di comando su computer connessi a un full-node Bitcoin. Tuttavia esistono interfacce grafiche opzionali, come JoinMarket-Qt e Jam, che semplificano notevolmente il suo utilizzo.





