DI GIACOMO ZUCCO
18 MARZO 2020
Introduzione
Come la propria attenzione può spostarsi in sole due settimane! Mentre tutti oggi nello spazio Bitcoin sembrano più preoccupati delle fluttuazioni dei prezzi in risposta al panico finanziario globale (comprensibilmente), è importante ricordare questioni perenni che non vanno mai via, come l'importanza di mantenere la tua privacy quando si effettuano transazioni in bitcoin.
Durante questo mese, in particolare, abbiamo ricevuto segnalazioni di exchange conformi a KYC/AML (regolamentazione Know Your Costumer/ Anti- Money Laundering N.d.T) che bloccano gli account degli utenti a causa del sospetto uso di software CoinJoin (ne parliamo più avanti), oltre che un altro caso di un famoso e rispettato sostenitore di Bitcoin che promuove il suo nuovo altcoin illiquido come qualcosa che "sostituirà Bitcoin, che non è abbastanza privato!"
Se volete fare una breve pausa dalle pandemie globali, dai crolli finanziari e dalla volatilità dei prezzi, ecco un tentativo di analizzare le affermazioni, i fatti e il contesto di questo ultimo "dramma Bitcoin".
Per cominciare, nella Parte 1 di questa serie in due parti, inizieremo esaminando la relazione fondamentale tra Bitcoin e privacy tornando all'inizio con il white paper. Quindi, nella parte 2, ci concentreremo su alcuni modi in cui la privacy di Bitcoin viene mantenuta e migliorata - e smascheriamo alcuni tentativi di "depistaggio".
Il denaro ha bisogno di privacy
Bitcoin è progettato per svolgere funzioni monetarie e il denaro ha bisogno di una forte separazione dell'identità personale da specifiche unità monetarie e transazioni per funzionare in modo sostenibile su scala. Ci sono almeno due componenti fondamentali in questa separazione.
Negabilità
Potremmo chiamare il primo componente "negabilità". Questo descrive la possibilità per un individuo che utilizza uno strumento monetario di negare credibilmente qualsiasi connessione con esso in seguito.
La ragione di ciò è che il denaro è stato sviluppato per facilitare il risparmio individuale e lo scambio volontario tra le persone. Ma il gioco a somma positiva dello scambio volontario non è l'unico modo per aumentare la propria ricchezza: l'altro modo è il gioco a somma negativa della confisca violenta. Come ha brillantemente affermato il sociologo ed economista politico Franz Oppenheimer, ci sono due diversi paradigmi per l'acquisizione di ricchezza all'interno delle società:
Mentre la tentazione di ricorrere a mezzi politici è sempre presente in contesti sociali estesi, diventa particolarmente forte quando è coinvolto il denaro: le stesse caratteristiche che rendono il denaro uno strumento particolarmente buono per lo scambio e per conservare la ricchezza acquisita economicamente lo rendono anche particolarmente interessante come obiettivo di confisca - e come modo per immagazzinare ricchezza acquisita politicamente.
Gli individui che scambiano e immagazzinano denaro sono più facilmente e più spesso presi di mira da persone in cerca di rendita politica, poiché è molto più efficace derubarli che rapinare i partecipanti in semplici baratti o eremiti isolati che non si scambiano affatto. Molto spesso le organizzazioni politiche preferiscono presentare la confisca in base al tipo specifico di scambio intrapreso dalla vittima: tasse, imposte, pedaggi, tariffe, tributi, multe, tangenti, sanzioni, accise, pizzi, ecc.
La privacy nella comunicazione è importante e gli scambi economici sono tra le forme di comunicazione più importanti, sensibili, private e potenzialmente pericolose in ambienti ostili. Il denaro parla. Qualcuno la cui vita finanziaria e commerciale è completamente esposta corre un rischio maggiore di subire rapine, ricatti, rapimenti o espropri politici.
Per tutti queste ragioni, diventa fondamentale che gli agenti economici siano in grado di separare la propria identità pubblica dalle specifiche transazioni monetarie a cui hanno preso parte e, quindi, di poter negare tale connessione.
Fungibilità
Il secondo componente si chiama "fungibilità". Con ciò intendiamo la possibilità per un individuo che riceve uno strumento monetario di ignorare tranquillamente qualsiasi connessione tra tale strumento e qualsiasi individuo o caso d'uso con cui abbia interagito in passato.
La fungibilità è più una categoria economica che politica: in pratica significa che qualsiasi somma casuale di denaro è praticamente indistinguibile da qualsiasi altra, rendendo così il costo di validazione per un ricevitore di denaro molto più basso. Una banconota da 50 Euro è buona come le altre e non è necessario sapere chi l'ha utilizzata in passato per accettarla o utilizzarla come pagamento oggi. In effetti, se un destinatario dovesse valutare la storia di ogni singola unità [di denaro] prima di poterne valutare il valore, i costi di verifica aumenterebbero in modo esponenziale.
Ironia della sorte, una delle tendenze relativamente recenti delle normative "Know Your Customers”- Conosci i tuoi Clienti" in tutto il mondo è, in effetti, che il denaro è stato principalmente adottato come modo per i commercianti di evitare di conoscere (e fidarsi) dei loro clienti! I clienti sono già tenuti in qualche modo a "conoscere il loro commerciante", poiché devono fidarsi di loro in merito alla qualità e alla consegna affidabile del prodotto o del servizio che acquistano. Ma i commercianti, quando passano da banali sistemi di baratto o di credito a mercati reali, usano il denaro per essere liberi dall'onere di conoscere tutti i loro clienti. La regolamentazione "KYC" è solo uno strumento di controllo politico commercializzato con un'espressione paradossale che trasuda analfabetismo economico.
Questo non è un problema ideologico ma funzionale: un bene non può facilmente passare molte mani (come è necessario fare un bene monetario) se ogni destinatario attuale deve verificare l'intero stato politico di ogni precedente proprietario per sapere come molto rischio politico (tra cui persecuzioni, censura, fiscalità, debito) che sta ereditando. Le merci non fungibili non possono funzionare come moneta.
Alcuni beni sono ideali per mitigare i problemi di negabilità e fungibilità: "strumenti al portatore" che non trasportano le informazioni personali dei precedenti proprietari, rendendo facile per tutti negare di essere stati coinvolti in una transazione specifica.
Bitcoin: nato per la privacy
Satoshi Nakamoto ha creato Bitcoin come strumento per la privacy. L'intera ricerca cypherpunk, di cui Satoshi era parte attiva e di cui l'esperimento Bitcoin è l'incoronazione, riguardava la privacy personale e finanziaria. La maggior parte dei primi messaggi e pubblicazioni di Satoshi (incluso il famoso white paper, che gli dedica un paragrafo) sono fortemente preoccupati per le sue caratteristiche sulla privacy.
La prima considerazione fatta nel white paper sulla privacy è che gli intermediari di pagamento online centralizzati sono facili obiettivi di regolamentazione. Come tale, è facile spingere questi intermediari a mediare attivamente le controversie e quindi a rendere reversibili la maggior parte delle transazioni. Questo requisito, di conseguenza, obbliga i commercianti, spaventati dai rischi di storni di addebito, a essere molto "diffidenti nei confronti dei loro clienti, infastidendoli per avere più informazioni di quante non avrebbero altrimenti bisogno". I commercianti vengono respinti nuovamente nel "paradosso della KYC". Essendo decentralizzato e impossibile da regolare, Bitcoin non può essere costretto a mediare attivamente le controversie. Per questo motivo, le transazioni in Bitcoin possono rapidamente diventare irreversibili, rendendo assolutamente superflua e non necessaria qualsiasi indagine sull'identità personale di un pagatore.
La seconda considerazione riguarda il fatto che il protocollo base di Bitcoin (il "timechain", sviluppato per evitare la doppia spesa senza la necessità di una terza parte fidata) richiede la pubblicazione di ogni transazione di regolamento, limitando così la possibilità di applicare la tradizionale tecnica di "privacy attraverso l’anonimato" caratteristica dei fornitori centralizzati. Questa limitazione è mitigata dall'anonimato delle chiavi pubbliche crittografiche, che devono essere utilizzate una sola volta, senza alcuna associazione con identità per funzionare.
Nelle parole di Satoshi,
Privacy e fiducia: tutto o niente
Una caratteristica interessante di questa impostazione trasparente, discussa da Satoshi e da molti altri collaboratori e ricercatori di Bitcoin, è la natura del tutto o niente delle sue garanzie sulla privacy. Una terza parte fidata può, infatti, promettere di proteggere le tue informazioni sensibili da potenziali rapitori, ladri o stalker, pur essendo costretta a fornire qualsiasi dettaglio a entità politiche più potenti (stati-nazione con le loro agenzie fiscali, autorità finanziarie, servizi segreti, eccetera.).
In un ambiente (pseudo)anonimo, ma pubblico, è lecito ritenere che in ogni caso in cui quest'ultimo tipo di antagonista sia in grado di accedere a informazioni finanziarie sensibili, anche quelli del primo tipo troveranno un modo. Quando la privacy di qualcuno sulla timechain viene compromessa, viene compromessa a vantaggio di tutti i ficcanaso con una connessione a Internet: governi, banditi, hacker, concorrenti aziendali, nemici personali, nemici, ex coniugi, ecc. Questo dovrebbe servire da forte incentivo per gli utenti di proteggere la loro negabilità "sulla catena", proteggendo così la fungibilità per tutti.
D'altra parte, le transazioni del livello base dei bitcoin mostrano già una perfetta fungibilità interna. Ciò significa che, sebbene ogni transazione sia pubblica, non vi sono dati pubblici su chi, all'interno di una determinata transazione, avesse il controllo delle chiavi private che avevano speso un input specifico o chi ora abbia il controllo delle chiavi private che spendere un output specifico.
Le regole del protocollo Bitcoin ci assicurano che la quantità totale di satoshi spesi con tutti gli input sia uguale o inferiore alla quantità totale di satoshi "bloccati" in tutti gli output (la transazione non può creare inflazione, possono solo tralasciare le "commissioni per lo spazio sulla blockchain" a favore dei minatori). Tecnicamente difatti, non c'è modo di essere sicuri, dai soli dati di timechain pubblici, se una transazione con 10 input e 10 output sta spostando i satoshi da un pagatore a dieci beneficiari, o da due pagatori a un beneficiario o da un'entità a se stesso. Naturalmente, sono possibili alcune inferenze probabilistiche, basate sull'euristica e sui modelli comuni, ma nulla può essere dimostrato con i dati di timechain pubblici a livello di singola transazione.
Sebbene avere una o più entità che controllano gli output sia banale, avere più entità che controllano gli input è un po 'più complicato, richiedendo un certo coordinamento in tempo reale tra tutti i beneficiari prima che la transazione venga trasmessa. Fortunatamente, però, l'atomicità delle transazioni Bitcoin è tale che questo processo non richiede alcuna fiducia tra beneficiari diversi e sconosciuti.
Il fattore di fungibilità
Questa caratteristica di fungibilità delle transazioni Bitcoin ha fatto parte del progetto di Bitcoin sin dall'inizio, ma le sue implicazioni sulla privacy sono state esplicitamente evidenziate da diversi collaboratori solo in seguito. Infine, nel 2013, l'etichetta CoinJoin è stata creata da Gregory Maxwell, per fare riferimento alle migliori pratiche che un portafoglio bitcoin dovrebbe implementare al fine di sfruttare appieno tale fungibilità interna preesistente. Molte varianti della tecnica sono state proposte nel tempo (PayJoin, JoinMarket, CoinSwap, P2EP e Zerolink implementate nei portafogli Wasabi e Samourai), tutte con lo stesso obiettivo: sfruttare la fondamentale fungibilità del protocollo.
Un'altra dinamica con il potenziale di aumentare la privacy di Bitcoin è la sua stratificazione. I livelli superiori dello stack di protocollo, come Lightning Network, non devono utilizzare il timechain per confermare ogni singola transazione; piuttosto le transazioni sono usate solo come "ancore" per aprire e chiudere "contratti" che consentono pagamenti altrove. Già all'inizio Satoshi aveva immaginato questo tipo di "canali di pagamento":
Questo non si è rivelato essere il modo esatto in cui sono stati introdotti i canali di pagamento (era viziato da alcuni problemi), ma ora sono uno strumento comune per molti utenti Bitcoin. Possono essere utilizzati direttamente o collettivamente tramite il routing. Sebbene siano spesso presentate come una soluzione di "scalabilità", la rete Lightning e, in generale, le tecniche di livello 2 hanno il grande vantaggio di ridurre la quantità di informazioni pubbliche disponibili sulla timechain.
Iniziare con il piede sbagliato
Ovviamente, non era banale implementare le migliori pratiche sulla privacy nei portafogli e negli strumenti bitcoin di tutti i giorni. Innanzitutto, pur riducendo la quantità di informazioni trapelate su catena, le tecniche di Layer 2 e CoinJoin spesso aumentano la quantità di informazioni a livello di rete da gestire e proteggere (principalmente a causa della necessità di interattività in tempo reale, aggiornata elenchi di nodi raggiungibili, liquidità disponibile al pubblico, ecc.). La rete Lightning, in particolare, non è stata davvero facile da avviare fino a quando un aggiornamento del protocollo non è stato adottato dagli utenti alla fine del 2017.
Anche se, a differenza della rete Lightning, sarebbe stato possibile implementare CoinJoin in teoria dal giorno zero (anche se con molte sfide pratiche in termini di coordinamento, liquidità e offuscamento della quantità), la maggior parte dei portafogli bitcoin non si è preoccupata di trovare un modo per farlo. Non facendolo, hanno consolidato una tendenza pericolosa: la grande maggioranza delle transazioni on-chain è stata considerata come creata, firmata e trasmessa da una singola entità, in completo controllo delle chiavi private associate a tutti gli input. Le transazioni in bitcoin hanno iniziato a essere viste come sempre one-to-one o one-to-many. Pertanto, una delle funzionalità di fungibilità più efficaci del protocollo non è stata in realtà trasformata in una best practice di portafoglio fino a tempi molto recenti, anche se è sempre stata disponibile.
Ma c'è di più, sfortunatamente. Altre best practice più semplici, incluse nel design di Bitcoin come valori predefiniti banali, sono state per lo più ignorate dai fornitori di strumenti che sono stati meno preoccupati della privacy e più focalizzati sull'esperienza dell'utente durante i primi anni. Un esempio evidente è il riutilizzo degli indirizzi. Le parole di Satoshi sull'anonimato delle chiavi pubbliche sono state scritte supponendo che gli utenti generassero un indirizzo unico ogni volta che ricevevano bitcoin, che sarebbero poi scartate dopo essere state spese di nuovo e mai più riutilizzate. (Forse la parola "indirizzo", di per sé, non era una buona scelta dopo tutto, essendo spesso collegata a riferimenti permanenti: e-mail, IBAN, ecc.; mentre la parola "fattura", ora utilizzata per le transazioni della rete Lightning, sarebbe stata una scelta più pulita.)
L'implementazione di questo progetto non è stata del tutto banale (soprattutto prima dell'introduzione dei portafogli HD che ha reso più semplice il recupero di migliaia di chiavi con un solo backup "master"). Quindi abbiamo finito con un massiccio riutilizzo degli indirizzi statici, diminuendo l'entropia e facilitando l'analisi e la deanonimizzazione. Gli utenti hanno iniziato a collegare lo stesso indirizzo ai loro profili su forum, social network e blog. Per molti primi utenti, effettuare un pagamento significava dare al beneficiario una panoramica completa di tutta la loro vita finanziaria passata e futura in Bitcoin.
Un altro grande incidente è stato la proliferazione di "client leggeri": applicazioni incapaci di scaricare, convalidare e archiviare direttamente il timechain, ma in grado di archiviare chiavi private e interrogare altri nodi (nel migliore dei casi, una terza parte fidata, come un fornitore di portafogli; nei casi peggiori, nodi casuali, nei cosiddetti "portafogli SPV") per la validità delle transazioni che coinvolgono le corrispondenti chiavi pubbliche. Oltre a creare un rischio sistemico in termini di sicurezza, questi clienti diventano un rischio comune in termini di privacy.
Alcune altre migliori pratiche di implementazione minori sono state inizialmente trascurate dai fornitori di strumenti a questo proposito (tra cui la selezione delle monete da spendere orientata alla privacy, la merge avoidance, la gestione dei resti, ecc.), ma, per la maggior parte, queste tre pratiche rappresentano la base per l’euristica impiegata da società di "chain analysis" assunte dagli intercettatori per spiare gli utenti di Bitcoin.
Ad oggi, la maggior parte di questi problemi ha soluzioni tecniche brillanti e strumenti moderni che li implementano. Ma è difficile spingere le migliori pratiche (che a volte presentano piccoli ma pur sempre esistenti costi di coordinamento) in un ecosistema già "drogato" con scorciatoie facili, seppur pericolose. E la privacy, come si suol dire, ama la compagnia: anche se hai gli strumenti migliori e segui le migliori pratiche, non aiuta davvero se sei l'unico a farlo (in effetti, può persino essere controproducente, evidenziando i tuoi sforzi al contrario di tutti gli altri utenti, mettendoti quindi sotto i riflettori).
Nella parte 2, esamineremo alcune delle tecniche che minacciano la nostra privacy come utenti bitcoin, idee sbagliate comuni sulla privacy e, infine, come le innovazioni in Bitcoin renderanno la privacy più sicura e più facile da mantenere.