Tra gli obiettivi primari delle criptovalute c’è sicuramente quello di garantire anonimato e privacy. Tra le crypto più vicine a raggiungere tali scopi sono da annoverare sicuramente Monero, Zcash, Beam e Grin. Ma quali sono le differenze tra queste quattro criptovalute?
Read this article in the English version here.
L’anonimato o presunto tale è uno degli elementi più controversi del mondo crypto.
Monero è una di quelle valute crittografiche che ha l’obiettivo di garantirlo al 100%. Ma il progetto Monero non mantiene del tutto le promesse in questo senso.
Summary
Monero
La crypto, lanciata nel 2014 sotto il nome di BitMonero, fa affidamento su una tecnologia che si chiama Cryptonote. Si tratta di un algoritmo di Proof of Work diverso da quello di Bitcoin. Per rendere anonime le operazioni sulla sua blockchain, il metodo è quello delle “Ring Signature”.
Si tratta di una firma digitale che può essere creata da chiunque e in cui ogni utente possiede la chiave. Una persona può quindi mettere la firma elettronica in maniera anonima in un messaggio o in un documento a nome di una “cerchia” di utenti. I membri della “cerchia” sono scelti dall’autore della firma e non sono per forza informati sull’operazione.
La forza di Monero (XMR) si basa quindi non solo sulla decentralizzazione ma anche sulla sua segretezza, che permette di realizzare transazioni teoricamente non tracciabili da un agente esterno. Se per esempio le operazioni in bitcoin sono trascritte pubblicamente nella blockchain, nel libro mastro di Monero le informazioni non sono accessibili a tutti.
Lo pseudo anonimato di Monero
Detto questo, il funzionamento della piattaforma non è perfetto. Sono state trovate infatti alcune falle del sistema per quanto riguarda privacy e sicurezza. Il team di circa 250 produttori esperti di crittografia sta cercando di porvi rimedio.
Il trucco di Monero per garantire l’anonimato è quello di confondere chi voglia risalire alla fonte dell’operazione, mescolando l’origine delle operazioni effettuate sulla piattaforma.
Ma l’anno scorso un gruppo di accademici ha pubblicato un lungo memo in cui viene sfatato in parte il mito dell’anonimato. In esso sono elencati i punti deboli della struttura per come è stata concepita e i problemi che potrebbero sorgere qualora qualcuno scoprisse l’inganno.
Gli ultimi aggiornamenti e miglioramenti di Monero
Un altro punto forte di Monero è il protocollo che – contrariamente a quanto avviene per Bitcoin dove è necessario avere pc molto potenti e specializzati – permette ai computer tradizionali di competere con i colossi del mining.
Allo stesso tempo, l’anonimato delle operazioni richiede l’uso di più spazio per operazioni “pubbliche”. Di conseguenza una transazione in XMR è 25 volte più voluminosa di una in BTC ed era anche altrettanto onerosa.
Dopo gli ultimi aggiornamenti, tra cui i Bulletproofs, i costi sono stati ridotti del 97% e paragonando oggi i prezzi, rispetto al Bitcoin Monero è diventato economicamente più conveniente.
Monero: scalabilità da migliorare
Anche sotto il profilo del carico di lavoro sono stati fatti progressi, ma la scalabilità rimane uno dei punti deboli. La memoria delle operazioni è stata ridotta dai 18,5 KB originari e i tecnici di Monero stanno cercando di trovare modi per aumentare la capacità della rete.
Il problema è che il sistema delle Ring Signatures aggiunge dati alle operazioni, incrementando il carico della blockchain (48 GB al momento). Ogni operazione richiede 14 KB, 25 volte in più del Bitcoin.
Gli upgrade del team di Monero dovrebbero portare a un miglioramento della scalabilità di anche l’80%, che si tradurrebbe in “una riduzione proporzionale delle commissioni”. Anche se così fosse, tuttavia, la memoria risulterebbe 5 volte superiore al Bitcoin.
Monero, Beam e le differenze con Zcash e Grin
Per rafforzare la protezione dei dati e dell’identità dei suoi utenti, Zcash ricorre a un diverso tipo di sistema rispetto a Monero. La tecnologia su cui si basa la crypto, fondata nel 2016 dal crittografo Zooko Wilcox, è ZK-Snarks e consente di mettere in sicurezza le operazioni realizzate sul network.
In Zcash sono disponibili due tipi di indirizzi:
- z-address (indirizzi privati);
- t-address (indirizzi trasparenti);
Pertanto sono possibili 4 tipi di transazioni
- Private: z-address -> z-address
- Deshielding: z-address -> t-address
- Shielding: t-address -> x-address
- Public: t-address -> t-address
L’utilizzo di indirizzi di tipo z-address è considerato oneroso, sia per il wallet che per un nodo z-cash. Perciò si tende ad usare transazioni private con parsimonia.
La crypto sfrutta un sistema di codici complesso che consente di nascondere le transazioni, svelando soltanto le parti strettamente necessarie. Il principio di crittografia in questione si chiama protocollo “a conoscenza zero”.
Grazie alla “Zero-Knowledge proof”), quando le operazioni in ZEC – il token di riferimento di Zcash – vengono inserite nella blockchain sono automaticamente codificate e cancellate dallo storico e quindi non sono più consultabili. L’utente dimostra di possedere un token quando viene effettuato lo scambio e poi quest’ultimo viene distrutto per lasciare spazio a un nuovo token vergine che sarà utilizzato effettivamente nell’operazione.
Non c’è alcun legame tra vecchio e nuovo token (privo di una “memoria”) e quindi tra token originale e utente. L’unico modo per accedere alle informazioni dettagliate, come l’ammontare dell’operazione o l’identità dell’acquirente, è avere una chiave e una password, che però sono note soltanto all’emittente e al ricevente della singola transazione.
Anche per Zcash un aspetto che si può ancora migliorare è quello riguardante la scalabilità. La blockchain pesa circa 19 GB, mentre ogni operazione richiede in media 5,3 KB. È un valore più basso in confronto a Monero, ma 9 volte più grande rispetto al Bitcoin.
Zcash mantiene quindi le promesse per quanto riguarda l’anonimato, offrendo funzioni che garantiscono la privacy ma sono pesanti. La scalabilità è più soddisfacente di quella di Monero ma ci sono margini di miglioramento.
Un sistema aperto ma che prevede retribuzioni
Il codice di Zcash è open source e – come per Bitcoin e altre monete digitali – la base monetaria è fissa: il token non supererà i 21 milioni di esemplari. Per quanto riguarda il mining, un blocco di Zcash viene estratto ogni 2 minuti e mezzo. Nel caso di Bitcoin ci vogliono all’incirca 10 minuti.
Una differenza sostanziale con le crypto più popolari e capitalizzate come Bitcoin, Ethereum o Monero, è che sebbene si basi su un codice open source, Zcash non è un progetto del tutto “anarchico”, bensì ha una sua gerarchia.
L’obiettivo del suo fondatore è che un giorno Zcash sia sostenuto finanziariamente dalle persone che servono gli interessi di tutti gli utenti in maniera equa. Queste persone faranno parte di una fondazione. Alcuni dei fondatori di Zcash possono decidere liberamente di effettuare un dono alla “Zcash Foundation” che nascerà in futuro.
Zcash si può considerare quindi al pari di un’impresa “libera”, che prevede una remunerazione per i suoi investitori, dirigenti, consiglieri e dipendenti. Il tutto è finanziato da una tassa del 10% prelevata come ricompensa del mining: Founders reward (letteralmente, “ricompensa dei fondatori”).
Beam, quali differenze?
Da parte sua Beam si basa su un protocollo relativamente nuovo, lanciato nell’agosto del 2016 e chiamato Mimblewimble, che garantisce sia l’anonimato sia la scalabilità. Punta più su questi due aspetti che sulla programmabilità. Secondo i suoi ideatori, è in grado di aumentare di scala a seconda delle necessità e disponibilità.
Un po’ come avviene per Bitcoin, Mimblewimble si basa sul concetto di “uscita transazionale”. Ogni operazione è costituita da un’entrata (input) e un’uscita (output). La particolarità del modello di Beam è che ogni entrata rappresenta l’uscita di un’operazione antecedente, in una sorta di catena a oltranza.
Per questo diventa fondamentale l’uscita della transazione non spesa (UTXO): è un frammento della moneta conservato nella blockchain senza che sia speso. È sparpagliato in molteplici transazioni e rappresenta i token in circolazione.
Le tecniche di Beam per garantire scalabilità e anonimato
La tecnica “Coinjoin” consente di mescolare queste operazioni, integrandone diverse in una sola. Due operazioni input possono portare a una operazione in uscita e viceversa due input possono portare a un solo output.
La Coinjoin viene applicata a tutte le operazioni eseguite sulla blockchain, pertanto un blocco di MimbleWimble in realtà contiene un’unica mega transazione. Più è grande e più diventa difficile per una persona esterna sapere qual è l’uscita corrispondente all’entrata.
Grazie al sistema delle “Confidential Transactions”, inoltre, la somma, l’acquirente e il venditore della transazione sono nascosti e non ci sono indirizzi cui risalire nel sistema. Si tratta di metodi di crittografia omomorfica.
Beam, la privacy garantita per default
Ogni utente è in possesso di una chiave personale di accesso all’output della transazione UTXO (unspent transaction output). In sintesi, per usare le parole di Beam, “la privacy è garantita di default”. Non ci sono operazioni “aperte”. Chi prova a esaminare la blockchain da fuori, non troverà alcuna informazione utile.
Un’altra tecnica è quella del “sezionamento” delle operazioni (“transaction cut-through”). Le mega operazioni più datate a un certo punto vengono fuse tra loro. In questo modo vengono eliminati tutti gli stati intermedi UTXO e sulla blockchain sono conservati unicamente gli output non spesi finali.
Questo permette di liberare posto sulla catena dei blocchi. Il libro mastro non cresce di taglia di pari passo con il numero di operazioni, bensì con il numero di UTXO. Un tale sistema offre vantaggi in termini di scalabilità. Il protocollo è studiato per restare piccolo, rendendo più “leggero” il carico di lavoro.
Si stima che la dimensione della blockchain di Beam sia pari al 30% di quella del Bitcoin al momento. Quando Beam raggiungerà la scala della moneta digitale più popolare al mondo, la sua blockchain non dovrebbe superare i 70 GB. Senza contare gli aggiustamenti in corso d’opera che possono ancora essere fatti.
Qualche sacrificio in nome della scalabilità
Per arrivare a una blockchain scalabile e confidenziale, MimbleWimble rinuncia a qualche funzione utile del bitcoin, come la programmabilità delle transazioni. Mentre Bitcoin si serve di un sistema di “script” per convalidare le spese delle uscite transazionali, permettendo la programmazione degli smart contract, il protocollo di Beam no.
Secondo uno dei suoi ideatori, il matematico Andrew Poelstra, si può ancora rimediare inserendo degli “scriptless scripts” grazie a dei sistemi ingegnosi con più firme. Gli script non sarebbero pertanto eseguiti sulle macchine dei nodi della rete, bensì su quelle degli utenti coinvolti nell’operazione.
La seconda caratteristica che non troviamo in MimbleWimble è quella del pagamento offline. Nel protocollo non c’è l’indirizzo e la costruzione delle operazione si deve effettuare on l’interazione tra le due parti. Questo ha un impatto sulla user experience, ma anche sulla sua privacy perché c’è bisogno dell’indirizzo IP. Per risolvere il problema è stata proposta la soluzione Dandelion, protocollo progettato da Giulia Fanti della Carnegie Mellon University.
Grin: quali le differenze con Beam?
Anche Grin è un protocollo basato su MimbleWimbe, ma quali sono le differenze con Beam? Grin è l’applicazione originale del protocollo che prende il nome dalla saga di Harry Potter. Il suo lancio ha avuto luogo il 15 gennaio 2019.
Si tratta di un’applicazione più “leggera” e di un progetto più “riservato” rispetto a Beam, nel senso che offre soltanto le funzioni fondamentali e non mira a fare la concorrenza al bitcoin. Esiste persino un elenco esauriente delle cose che non fa.
Ma la principale differenza riguarda la filosofia che sta dietro ai due progetti.
Grin è più anarchico, mentre Beam ha un aspetto commerciale più accentuato. Il primo è infatti un progetto open source sviluppato nel corso degli anni da diversi programmatori, la maggior parte dei quali ha preferito restare nell’anonimato. Il secondo è invece prodotto da un team definito che si fa promozione su un sito Internet dedicato.
Un’altra distinzione netta riguarda la politica monetaria. La base monetaria di Beam è limitata, mentre nel caso di Grin può essere emesso un numero infinito di token (viene rilasciato in media un grin al secondo). La strategia in quest’ultimo caso è dunque di tipo inflattivo.
La strategia di Beam ricalca invece la politica deflattiva di bitcoin, volta a ridurre nel tempo l’emissione di nuovi token. La vocazione di Beam è diventare una riserva di valore, mentre Grin non ambisce a tanto e si “accontenta” di essere uno strumento di scambio in grado di offrire privacy e scalabilità.