Come lo fanno? Revisione delle tecnologie di anonimizzazione delle criptovalute

Sicuramente tu, come utente di bitcoin, ether o qualsiasi altra criptovaluta, eri preoccupato che qualcuno potesse vedere quante monete hai nel tuo portafoglio, a chi le hai trasferite e da chi le hai ricevute. Ci sono molte controversie sulle criptovalute anonime, ma una cosa su cui non possiamo essere in disaccordo è come Ha detto Riccardo Spagni, project manager di Monero, sul suo account Twitter: "E se non volessi che il cassiere del supermercato sappia quanti soldi ho sul mio saldo e in cosa li spendo?"

Come lo fanno? Revisione delle tecnologie di anonimizzazione delle criptovalute

In questo articolo esamineremo l'aspetto tecnologico dell'anonimato, come lo fanno e forniremo una breve panoramica dei metodi più popolari, dei loro pro e contro.

Oggi esistono circa una dozzina di blockchain che consentono transazioni anonime. Allo stesso tempo, per alcuni, l'anonimato dei bonifici è obbligatorio, per altri è facoltativo, alcuni nascondono solo i destinatari e i destinatari, altri non consentono a terzi di vedere nemmeno gli importi dei bonifici. Quasi tutte le tecnologie che stiamo prendendo in considerazione garantiscono il completo anonimato: un osservatore esterno non può analizzare né i saldi, né i destinatari, né la cronologia delle transazioni. Ma iniziamo la nostra rassegna con uno dei pionieri in questo campo per tracciare l'evoluzione degli approcci all'anonimato.

Le tecnologie di anonimizzazione attualmente esistenti possono essere grosso modo divise in due gruppi: quelle basate sul mixing - in cui le monete utilizzate vengono mescolate con altre monete della blockchain - e le tecnologie che utilizzano prove basate su polinomi. Successivamente, ci concentreremo su ciascuno di questi gruppi e ne considereremo i pro e i contro.

A base di impasto

CoinJoin

CoinJoin non rende anonime le traduzioni degli utenti, ma ne complica solo il tracciamento. Ma abbiamo deciso di includere questa tecnologia nella nostra recensione, poiché è stato uno dei primi tentativi di aumentare il livello di riservatezza delle transazioni nella rete Bitcoin. Questa tecnologia è accattivante nella sua semplicità e non richiede la modifica delle regole della rete, quindi può essere facilmente utilizzata in molte blockchain.

Si basa su un'idea semplice: cosa accadrebbe se gli utenti contribuissero ed effettuassero i pagamenti in un'unica transazione? Si scopre che se Arnold Schwarzenegger e Barack Obama hanno contribuito ed effettuato due pagamenti a Charlie Sheen e Donald Trump in una transazione, allora diventa più difficile capire chi ha finanziato la campagna elettorale di Trump: Arnold o Barack.

Ma dal vantaggio principale di CoinJoin deriva il suo principale svantaggio: la sicurezza debole. Oggi esistono già modi per identificare le transazioni CoinJoin nella rete e abbinare insiemi di input a insiemi di output confrontando gli importi di monete spese e generate. Un esempio di uno strumento per tale analisi è CoinUnisciti al Sudoku.

pro:

• Semplicità

contro:

• Dimostrata hackerabilità

Monero

La prima associazione che nasce sentendo le parole “criptovaluta anonima” è Monero. Questa moneta dimostrato la sua stabilità e privacy sotto il microscopio dei servizi di intelligence:

Come lo fanno? Revisione delle tecnologie di anonimizzazione delle criptovalute

In uno dei suoi recenti articoli Abbiamo descritto dettagliatamente il protocollo Monero e oggi riassumeremo quanto detto.

Nel protocollo Monero, ogni output speso in una transazione è mescolato con almeno 11 (al momento in cui scrivo) output casuali dalla blockchain, complicando così il grafico di trasferimento della rete e rendendo il compito di tracciare le transazioni computazionalmente complesso. Le registrazioni miste vengono firmate con una firma ad anello, che garantisce che la firma è stata apposta dal proprietario di una delle monete miste, ma non consente di determinare chi.

Per nascondere i destinatari, ogni moneta appena generata utilizza un indirizzo monouso, rendendo impossibile per un osservatore (difficile quanto violare le chiavi di crittografia, ovviamente) associare qualsiasi output a un indirizzo pubblico. E da settembre 2017 Monero ha iniziato a supportare il protocollo Transazioni riservate (CT) con alcune aggiunte, nascondendo così anche gli importi dei trasferimenti. Poco dopo, gli sviluppatori di criptovaluta hanno sostituito le firme Borromee con Bulletproof, riducendo così significativamente le dimensioni della transazione.

pro:

• Testato nel tempo
• Relativa semplicità

contro:

• La generazione e la verifica delle prove sono più lente rispetto a ZK-SNARK e ZK-STARK
• Non resistente all'hacking tramite computer quantistici

Mimblewimble

Mimblewimble (MW) è stata inventata come tecnologia scalabile per rendere anonimi i trasferimenti sulla rete Bitcoin, ma ha trovato la sua implementazione come blockchain indipendente. Utilizzato nelle criptovalute Sorriso и BEAM.

MW è degno di nota perché non ha indirizzi pubblici e, per inviare una transazione, gli utenti si scambiano direttamente gli output, eliminando così la possibilità per un osservatore esterno di analizzare i trasferimenti da destinatario a destinatario.

Per nascondere le somme di input e output, viene utilizzato un protocollo abbastanza comune proposto da Greg Maxwell nel 2015: Transazioni riservate (CT). Cioè, gli importi sono crittografati (o meglio, usano schema di impegno), e al loro posto la rete opera con i cosiddetti impegni. Affinché una transazione sia considerata valida, l'importo delle monete spese e generate più la commissione deve essere uguale. Poiché la rete non opera direttamente con i numeri, l’uguaglianza è assicurata utilizzando l’equazione di questi stessi impegni, che si chiama impegno a zero.

Nel CT originale, per garantire la non negatività dei valori (la cosiddetta range proof), si utilizzano le Borromean Signatures (firme ad anello Borromee), che occupavano molto spazio nella blockchain (circa 6 kilobyte per output ). A questo proposito, gli svantaggi delle valute anonime che utilizzano questa tecnologia includevano le grandi dimensioni delle transazioni, ma ora hanno deciso di abbandonare queste firme a favore di una tecnologia più compatta: Bulletproof.

Non esiste il concetto di transazione nel blocco MW stesso, ci sono solo output spesi e generati al suo interno. Nessuna transazione, nessun problema!

Per impedire la de-anonimizzazione del partecipante al trasferimento nella fase di invio della transazione alla rete, viene utilizzato un protocollo Dente di leone, che utilizza una catena di nodi proxy di rete di lunghezza arbitraria che si trasmettono la transazione tra loro prima di distribuirla effettivamente a tutti i partecipanti, offuscando così la traiettoria della transazione che entra nella rete.

pro:

• Piccole dimensioni della blockchain
• Relativa semplicità

contro:

• La generazione e la verifica delle prove sono più lente rispetto a ZK-SNARK e ZK-STARK
• Il supporto per funzionalità quali script e firme multiple è difficile da implementare
• Non resistente all'hacking tramite computer quantistici

Dimostrazioni sui polinomi

ZK-SNARK

Il nome intricato di questa tecnologia sta per “Zero-conoscenza Argomento di conoscenza conciso e non interattivo", che può essere tradotto come "Prova concisa e non interattiva a conoscenza zero". È diventata una continuazione del protocollo zerocoin, che si è ulteriormente evoluto in zerocash ed è stato implementato per la prima volta nella criptovaluta Zcash.

In generale, la prova a conoscenza zero consente a una parte di dimostrare a un'altra la verità di alcune affermazioni matematiche senza rivelare alcuna informazione al riguardo. Nel caso delle criptovalute, tali metodi vengono utilizzati per dimostrare, ad esempio, che una transazione non produce più monete di quante ne spende, senza rivelare l’importo dei trasferimenti.

ZK-SNARKs è molto difficile da capire e ci vorrebbe più di un articolo per descrivere come funziona. Nella pagina ufficiale di Zcash, la prima moneta che implementa questo protocollo, è dedicata una descrizione del suo funzionamento 7 articoli. Pertanto in questo capitolo ci limiteremo solo ad una descrizione superficiale.

Utilizzando polinomi algebrici, ZK-SNARKs dimostra che il mittente del pagamento possiede le monete che sta spendendo e che la quantità di monete spese non supera la quantità di monete generate.

Questo protocollo nasce con l'obiettivo di ridurre la dimensione della prova della validità di una dichiarazione e allo stesso tempo verificarla rapidamente. Sì, secondo presentazioni Zooko Wilcox, CEO di Zcash, la dimensione della prova è di soli 200 byte e la sua correttezza può essere verificata in 10 millisecondi. Inoltre, nell'ultima versione di Zcash, gli sviluppatori sono riusciti a ridurre il tempo di generazione della prova a circa due secondi.

Tuttavia, prima di utilizzare questa tecnologia, è necessaria una complessa procedura di configurazione affidabile di “parametri pubblici”, chiamata “cerimonia” (La cerimonia). La difficoltà è che durante l'installazione di questi parametri, nessuna delle parti ha più chiavi private, chiamate "rifiuti tossici", altrimenti sarà in grado di generare nuove monete. Puoi imparare come avviene questa procedura dal video in poi YouTube.

pro:

• Piccole dimensioni delle prove
• Verifica rapida
• Generazione di prove relativamente veloce

contro:

• Procedura complessa per l'impostazione dei parametri pubblici
• Rifiuto tossico
• Complessità relativa della tecnologia
• Non resistente all'hacking tramite computer quantistici

ZK-STARK

Gli autori delle ultime due tecnologie sono bravi a giocare con gli acronimi, e il prossimo acronimo sta per “Zero-Knowledge Scalable Transparent ARguments of Knowledge”. Questo metodo aveva lo scopo di risolvere le carenze esistenti di ZK-SNARK in quel momento: la necessità di un'impostazione affidabile dei parametri pubblici, la presenza di rifiuti tossici, l'instabilità della crittografia rispetto all'hacking utilizzando algoritmi quantistici e una generazione di prove non sufficientemente veloce. Tuttavia, gli sviluppatori di ZK-SNARK hanno risolto l'ultimo inconveniente.

Gli ZK-STARK utilizzano anche dimostrazioni basate su polinomi. La tecnologia non utilizza la crittografia a chiave pubblica, ma si affida invece alla teoria dell'hashing e della trasmissione. L’eliminazione di questi mezzi crittografici rende la tecnologia resistente agli algoritmi quantistici. Ma questo ha un prezzo: la prova può raggiungere diverse centinaia di kilobyte.

Attualmente ZK-STARK non ha un'implementazione in nessuna delle criptovalute, ma esiste solo come libreria libSTARK. Tuttavia, gli sviluppatori hanno piani che vanno ben oltre la blockchain (nel loro caso). White Paper gli autori forniscono un esempio di prova del DNA in un database della polizia). A questo scopo è stato creato Industrie StarkWare, che a fine 2018 hanno raccolto 36 milioni investimenti delle più grandi aziende del settore.

Puoi leggere ulteriori informazioni su come funziona ZK-STARK nei post di Vitalik Buterin (parte 1, parte 2, parte 3).

pro:

• Resistenza all'hacking da parte dei computer quantistici
• Generazione di prove relativamente veloce
• Verifica della prova relativamente veloce
• Nessun rifiuto tossico

contro:

• Complessità della tecnologia
• Grande formato prova

conclusione

La blockchain e la crescente domanda di anonimato pongono nuove esigenze alla crittografia. Pertanto, il ramo della crittografia che ha avuto origine a metà degli anni ’1980 – le prove a conoscenza zero – è stato arricchito con nuovi metodi in via di sviluppo dinamico in pochi anni.

Pertanto, la fuga del pensiero scientifico ha reso CoinJoin obsoleto e MimbleWimble un promettente nuovo arrivato con idee abbastanza nuove. Monero rimane un gigante incrollabile nel proteggere la nostra privacy. E gli SNARK e gli STARK, nonostante abbiano dei difetti, possono diventare leader nel settore. Forse nei prossimi anni i punti che abbiamo indicato nella colonna “Contro” di ciascuna tecnologia diventeranno irrilevanti.

Fonte: habr.com

Aggiungi un commento