Mina protocol: la decentralizzazione come punto d’onore
Nel caso delle blockchain di Bitcoin ed Ethereum, per gestire un nodo, è necessaria una capacità di archiviazione significativa per esaminare ogni transazione effettuata sulla rete. Ciò fa sì che la decentralizzazione voluta originariamente da Satoshi e dalla maggior parte degli appassionati di questa tecnologia venga messa in discussione. Solo i più ricchi possono permettersi l’hardware necessario e il resto del mondo deve affidarsi a questi intermediari senza poter verificare le informazioni. E più la rete viene utilizzata, più ci sono informazioni, quindi il numero di validatori diminuisce nel tempo.
Per diventare un nodo attivo sul protocollo Mina, è molto più semplice che su Bitcoin: i requisiti sono solo avere un processore a 8 core e almeno 16 GB di RAM. Basta poi seguire la procedura indicata sul sito ufficiale e configurare il nodo con poche righe di codice semplici su una macchina virtuale Docker. C’è anche la possibilità di passare attraverso il Cloud lanciando il proprio nodo grazie ai servizi di Google (Google Cloud Platform), Amazon (Amazon Web Service), Microsoft (Azure) o Digital Ocean. Non c’è più bisogno di affidare la propria fiducia a una terza persona, avere il proprio nodo non è mai stato così facile.
Se questa miniatura di blockchain è così efficiente, è grazie alle Zero-Knowledge Proofs, e nel caso di Mina, ai Zk-SNARKs. Questa tecnologia consente anche al protocollo di affermare che la dimensione della blockchain di 22 kB è fissa e non aumenterà.
Zk-SNARKs: La tecnologia crittografica che consente la leggerezza e la privacy di Mina protocol
Comprendere le prove a divulgazioni nulle di conoscenza
La prova a divulgazione nulla di conoscenza consiste nel dimostrare a qualcuno che si conosce un’informazione senza mostrarla direttamente ed esplicitamente. Nel caso della blockchain e delle criptovalute, le prove che si cercano di ottenere sono l’autenticità, l’integrità e la veridicità delle transazioni.
Nelle blockchain tradizionali, ad ogni nuova fase vengono verificate tutte le transazioni precedenti a partire dalla creazione del token. Ciò significa che se ci sono state 150 transazioni, verranno verificate tutte queste 150 transazioni per confermare la 151esima. Per evitare questo, si può generare una prova che circola ad ogni fase in modo che la 151esima persona debba solo leggere questa prova senza consultare il registro di tutte le transazioni precedenti. Ma come generare una tale prova senza divulgare informazioni in primo luogo?
Prendiamo un esempio concreto per comprendere meglio. Immaginate di avere un libro “Dov’è Wally”. Se non conoscete questo famoso gioco, il principio è semplice: bisogna trovare, su una doppia pagina nera di un libro, il personaggio con gli occhiali che indossa jeans blu, maglione a righe rosso e bianco e un berretto dello stesso colore del maglione.
Se vuoi mostrare a un amico di aver trovato Charlie, basterà indicarlo con il dito, dimostrando così che sai dove si trova nell’illustrazione. Ma se vuoi mostrare a questo amico che conosci la posizione esatta di Charlie senza rivelargli alcuna informazione in modo che possa giocare a sua volta, dovrai utilizzare una tecnica un po’ più subdola.
In primo luogo, sarà necessario prendere un supporto molto più grande del libro (un lenzuolo, un grande foglio di carta o un cartone, ad esempio) e coprire il libro con esso. Successivamente, posizionerai il libro a caso sotto questo supporto e ti ricorderai dove si trova. Poi, potrai far venire il tuo amico e ritagliare una piccolissima parte del supporto che mostrerà solo Charlie senza alcun contesto intorno. Il tuo amico sarà convinto che tu conosca la posizione del personaggio, ma non avrà alcun’altra informazione grazie al supporto che copre il libro: questa è ciò che si chiama prove a divulgazione nulla di conoscenza.
I Zk-SNARKs
Zk-SNARKs significa “Zero-Knowledge Succinct Non-Interactive Argument of Knowledge”, in italiano “Argomento di conoscenza succinto non interattivo a divulgazione nulla di conoscenza”. I Zk-SNARKs sono quindi prove a divulgazione nulla di conoscenza con alcune proprietà. Le prove sono facili da verificare e il fornitore di prova e il verificatore hanno bisogno di scambiarsi informazioni solo una volta.
Oltre alla facilità e alla velocità nella verifica delle transazioni o delle informazioni, ciò consente anche di garantire la privacy dei dati. Le matematiche relative a queste prove sono recenti e complesse e non verranno dettagliate in questo articolo. Ma se il concetto ti interessa, Vitalik Buterin, il creatore di Ethereum, è un fan della tecnologia e ha scritto un articolo molto completo al riguardo.
Le Zk-SNARKs sono stati utilizzati per la prima volta dalla criptovaluta Zcash. Attualmente, è il protocollo Mina, con Zk-SNARKs molto leggeri e un po’ diversi nel funzionamento rispetto a quelli di Zcash, a sembrare imporsi in questo campo.
Mina protocol: funzionalità ed utilità
Con gli zk-SNARKs, le applicazioni basate sul protocollo Mina (chiamate SNAPPs, snark-powered decentralized apps) possono interagire con Internet senza avere i permessi dei siti web. Infatti, queste applicazioni non recuperano direttamente i dati, ma solo le prove di essi. Queste applicazioni sono quindi seri concorrenti degli oracoli. Per ricordarlo, gli oracoli (come Chainlink o Band protocol) portano informazioni dal mondo esterno nella blockchain. Con Mina, le applicazioni forniscono la prova di questa informazione senza esporla pubblicamente sulla blockchain.
Mina si distingue per la confidenzialità dei dati. Permette agli utenti di utilizzare la blockchain mantenendo il controllo delle loro informazioni private. Il protocollo ha anche l’obiettivo di diventare un punto di riferimento nella gestione delle proprie credenziali web. L’obiettivo è quello di potersi connettere a qualsiasi sito su Internet in modo sicuro e senza rivelare le proprie informazioni personali. L’applicazione Snapp dedicata fornirà al sito web l’e-mail dell’utente garantendo che sia la persona giusta dietro a quella e-mail senza rivelare ulteriori informazioni.
Il token Mina è inflazionistico e funziona su un sistema di proof of stake. Al momento della stesura di questo articolo, la capitalizzazione di Mina è di circa 1,3 miliardi di dollari, si posiziona al 94° posto in CoinMarketCap e il prezzo del token è di 4,4 dollari. Mina si acquista su tutte le piattaforme di trading di criptovalute.
Conclusione
Le possibilità di applicazione sono infinite e siamo solo agli inizi della tecnologia zk-Snark. Gli zk-Snarks non avranno difficoltà a funzionare insieme ad Ethereum, o ad altre blockchain, e chissà un giorno anche su Bitcoin. Mina sembra imporsi sempre di più come protocollo di riferimento che utilizza questa tecnologia e sarà da monitorare molto da vicino nei prossimi anni.