Async Payjoin, Coinswap e Silent Payments: analisi delle soluzioni che puntano a migliorare la privacy on-chain.
(Le informazioni contenute in questo articolo sono tratte dall’articolo originale “Advancements in On-Chain Privacy” pubblicato da OpenSats).
La timechain di Bitcoin, con la sua natura trasparente e immutabile, rappresenta una criticità per la privacy degli utenti. Ogni transazione è permanentemente registrata e pubblicamente visibile, creando un registro completo di tutti i movimenti di fondi dalla creazione del blocco genesi.
Gregory Maxwell, uno dei più noti sviluppatori Bitcoin, già nel 2013 evidenziava tale problematica:
“Il sistema bancario tradizionale offre di default un discreto livello di privacy. I tuoi suoceri non vedono che stai comprando contraccettivi che li privano di nipoti, il tuo datore di lavoro non scopre quali organizzazioni non-profit sostieni con i soldi del tuo stipendio e i ladri non possono vedere i tuoi ultimi acquisti o quanto sei ricco, evitando così di prenderti di mira per truffarti. Una scarsa privacy in Bitcoin può rappresentare un grave svantaggio pratico sia per gli individui che per le aziende”.
Tale trasparenza ha consentito la nascita di aziende specializzate in “chain analysis”, che utilizzano “euristiche di tracciamento” per monitorare i flussi di bitcoin, identificare cluster di indirizzi e, potenzialmente, de-anonimizzare gli utenti. Tra queste euristiche, particolarmente rilevante è quella della “proprietà comune degli input” (CIOH – Common Input Ownership Heuristic), che presuppone che tutti gli input di una transazione appartengano alla stessa entità.
Negli ultimi anni diversi sviluppatori hanno cercato di affrontare il problema, sviluppando soluzioni per migliorare la privacy on-chain senza compromettere i principi fondamentali di Bitcoin. L’organizzazione non-profit OpenSats contribuisce a tale scopo attraverso il suo General Fund, che ha fornito finanziamenti a tre progetti tra il 2023 e il 2024: Async Payjoin, Coinswap e Silent Payments. Questi tre approcci, seppur differenti, mirano ad affrontare specifiche carenze nel modello di privacy della rete Bitcoin. Vediamo nel dettaglio ciascuna di queste soluzioni.
Async Payjoin: confondere le euristiche di tracciamento
Payjoin è una tecnica che mira a rompere l’euristica della proprietà comune degli input (CIOH).
La prima versione di Payjoin, conosciuta come Pay-to-EndPoint (P2EP), rende impossibile assumere che tutti gli input appartengano al mittente, compromettendo l’affidabilità dell’euristica CIOH. Durante una transazione Payjoin infatti, anche il destinatario del pagamento contribuisce alla transazione con un proprio input.
Tuttavia, Payjoin V1 presenta una limitazione: richiede che mittente e destinatario siano online simultaneamente per coordinare la transazione, limitandone l’adozione.
È qui che entra in gioco Payjoin V2 (BIP 77) che introduce l’Async Payjoin. Tale miglioramento elimina la necessità di coordinamento simultaneo, consentendo al destinatario di contribuire alla transazione in un secondo momento, anche se il mittente non è più online. Il processo avviene in modo asincrono, utilizzando canali di comunicazione sicuri e crittografati.
Impatto sull’ecosistema Bitcoin
Secondo OpenSats, anche se solo una minoranza di utenti effettuasse transazioni Payjoin, l’intera rete beneficerebbe di una privacy migliore. Questo perché, una volta che un numero sufficiente di partecipanti utilizza Payjoin, l’euristica CIOH diventa inaffidabile per tutte le transazioni, rendendo più difficile l’analisi della blockchain.
Lo scorso dicembre Bull Bitcoin Mobile è diventato il primo wallet mobile a consentire l’invio e la ricezione di transazioni Async Payjoin. Francis Pouliot, Ceo di Bull Bitcoin, ha evidenziato l’importanza di tale sviluppo, affermando:
“Senza la sovvenzione di OpenSats assegnata a Payjoin Dev Kit, Payjoin V2 potrebbe non essere mai esistito e sarebbe rimasto solo un’idea nella mente dei cypherpunk. Ora che Payjoin Dev Kit ha dimostrato che un’app come Bull Bitcoin può integrare Payjoin facilmente, molte altre applicazioni seguiranno sicuramente. […] Questo non solo avvantaggia gli utenti offrendo loro una consolidazione opportunistica degli UTXO senza compromettere la privacy, ma giova all’intera rete Bitcoin sfidando le euristiche utilizzate dagli osservatori malevoli della blockchain”.
Diversi wallet e servizi hanno già integrato o stanno considerando l’adozione di Async Payjoin, tra cui BitMask, Bitcoin Core, il processore di pagamenti Bria di Galoy e Boltz.
Coinswap: rompere i collegamenti diretti on-chain
Mentre Payjoin mira a interrompere le euristiche di tracciamento, Coinswap elimina completamente i collegamenti diretti di proprietà on-chain scambiando gli UTXO tra utenti.
Coinswap è stato originariamente proposto da Gregory Maxwell nel 2013 come un metodo per migliorare la privacy di Bitcoin. Il concetto alla base prevede che gli utenti scambino i propri bitcoin (UTXO) tra loro in modo che le transazioni on-chain non rivelino più i veri modelli di spesa.
A differenza di mixer centralizzati, Coinswap è un protocollo di scambio atomico decentralizzato che non richiede fiducia in terze parti. Gli scambi sono garantiti crittograficamente e non è possibile per una parte rubare i fondi dell’altra.
Architettura e funzionamento
Coinswap utilizza un modello maker-taker:
– i provider di swap (maker) offrono il servizio di swap, dimostrando la loro disponibilità;
– gli utenti (taker) utilizzano applicazioni per iniziare e coordinare gli scambi.
Il protocollo supporta transazioni multi-hop, in cui i bitcoin passano attraverso più partecipanti, creando un percorso complesso che oscura ulteriormente l’origine e la destinazione dei fondi.
Il progetto ha recentemente rilasciato la versione beta 0.1.0 su testnet. Tra i miglioramenti futuri, si sta sviluppando il supporto per swap cross-chain con la sidechain Liquid.
Silent Payments: indirizzi riutilizzabili
I Silent Payments affrontano la necessità di rivelare indirizzi pubblici per ricevere bitcoin. Ancora oggi molti utenti ricevono transazioni sempre sullo stesso indirizzo. Nonostante il protocollo consenta di farlo, riutilizzare gli indirizzi Bitcoin porta a una significativa erosione della propria privacy, creando un registro pubblico di tutte le transazioni associate a quell’indirizzo e rendendo più facile tracciare i modelli di spesa e ricezione.
Silent Payments, formalizzato come BIP 352, risolve tale problema consentendo agli utenti di ricevere bitcoin senza mai dover rivelare il proprio indirizzo pubblico.
Come funzionano?
Il destinatario crea un indirizzo SP e lo condivide con il mittente. Tale indirizzo non viene mai usato direttamente nelle transazioni, ma funge da base per generare un nuovo indirizzo unico on-chain per ogni pagamento. Il mittente utilizza l’indirizzo SP del destinatario per generare un nuovo indirizzo pubblico, utilizzando una combinazione di chiavi pubbliche e private e una serie di funzioni crittografiche.
Tale indirizzo unico appare esattamente come qualsiasi altro indirizzo Taproot, impedendo a un osservatore esterno di sapere se è stato utilizzato un Silent Payments.
Esempio di un indirizzo SP: sp1qqf74m02lzwvk4kskmzn3kcgzkyy2ud6n70m8avgruc7e72yczft22q3t6tpl5hnpslzrlpn874yevunn3ju88dy2m5r8t3gem5zd5wgreq3v9c4v
I vantaggi
- Comodità: i SP permettono più facilmente di utilizzare un indirizzo unico per ogni transazione, soprattutto per entità che ricevono molti pagamenti come attività commerciali o e-commerce; non necessitano di un web server e perciò possono essere utili anche per donazioni o casi d’uso simili;
- Maggiore privacy: le transazioni non possono essere collegate a un indirizzo SP da un osservatore esterno;
- Nessuna interazione tra mittente e destinatario: al contrario di altre transazioni che puntano a migliorare la privacy degli utenti, i Silent Payments non richiedono l’interazione tra chi invia e chi riceve il pagamento.
I limiti
- Costo computazionale: utilizzando complesse tecniche crittografiche, per il destinatario è necessario scansionare continuamente la timechain per individuare i pagamenti ricevuti, il che può richiedere risorse computazionali significative, specialmente per utenti con un elevato volume di transazioni.
Da un punto di vista on-chain, le transazioni Silent Payments appaiono come normali transazioni Bitcoin, senza caratteristiche distintive che potrebbero segnalarne l’uso.