L’acronimo DApp sta per Decentralized Applications, ovvero applicazioni decentralizzate. Si tratta di un tipo specifico di applicazioni che per funzionare non hanno bisogno di server centrali, ma di una rete decentralizzata.
Tale rete prevede che i suoi utenti ne abbiano il pieno controllo e consente di accedere a vari servizi in maniera sicura. Per le app tradizionali i dati vengono archiviati su server centralizzati e di fatto si permette alle società proprietarie di poter operare azioni di controllo, censura e manipolazione.
Tutto questo, invece, non può accadere con le applicazioni decentralizzate perché girano su network peer-to-peer oppure su blockchain. Proviamo a capire cos’è una DApp, come funziona e quali benefici offre in concreto.
Definizione di DApp
Oggi la gran parte delle persone si fida delle applicazioni installate su pc e telefoni, avendo fiducia che i dati sensibili siano al sicuro. Nonostante le costanti rassicurazioni, non sempre però le multinazionali sono in grado di proteggere al 100% le informazioni personali.
Per esempio, lo scandalo Cambridge Analytica nel 2018 ha riportato alla luce il furto di dati privati da profili Facebook, rivenduti successivamente per fare pubblicità politica. Questo è solo uno dei tanti episodi che si possono citare a proposito della sicurezza non sempre garantita.
È proprio per ovviare a questo genere di problematiche che sono nate le Decentralized Applications.
Un’app decentralizzata è un software open source che sfrutta una blockchain oppure una rete peer-to-peer. La differenza principale rispetto ad un’applicazione normale è che, essendo decentralizzata, non è coinvolta nessuna parte terza nelle transazioni.
Andando nel dettaglio, nel caso della DApp la componente back-end che di solito risiede sui server esiste invece sulla blockchain. Dunque, non ci sono intermediari e le informazioni sono costantemente condivise tra i partecipanti, senza ingerenze esterne o manipolazioni.
Le DApp hanno preso ispirazione dai protocolli di condivisione come DC ++ e BitTorrent, sistemi peer-to-peer con un’elevata resistenza alla censura. Ad ogni modo, la prima vera DApp su blockchain è stato Bitcoin, che ha dato il via al successo delle cosiddette criptovalute.
Come funzionano le DApp
Ciascun utente di una DApp che agisce su blockchain rappresenta un nodo all’interno della rete. Quindi ogni persona è in grado di verificarne il corretto funzionamento e vigilare sulle operazioni svolte.
All’interno della blockchain rimane il record di ogni singola transazione che passa attraverso lo smart contract. L’approvazione o meno delle operazioni effettuate dagli utenti della DApp è gestita proprio da questo smart contract, il quale assicura che i partecipanti agiscano all’interno di regole valide per tutti.
Quindi lo smart contract, o contratto intelligente, funge da garante ed è responsabile per la validità delle transazioni. Ogni qual volta si verifica una nuova operazione, in ciascun nodo si aggiornano le informazioni. Questo significa che l’utente contribuisce con le risorse del proprio computer al mantenimento della DApp.
Tale meccanismo d’azione garantisce che la piattaforma sia sempre in servizio ed attiva, in quanto non è possibile rimuovere tutti i nodi della rete in contemporanea. Una situazione del genere potrebbe verificarsi durante un attacco hacker o tentativi di manomissione.
È evidente allora che le DAPP rappresentano un enorme passo in avanti in termini di sicurezza poiché, lavorando su blockchain, ne ereditano le immense capacità di privacy, anonimato e protezione dai cyberattacchi.
A proposito del funzionamento delle DApp, vediamo quali sono le caratteristiche principali:
- Open Source: per le applicazioni a codice chiuso gli utenti devono fidarsi degli sviluppatori perché non possono accedere direttamente ai loro dati. Invece nelle DApp il codice sorgente è disponibile a tuttu e ciò assicura un alto livello di trasparenza. Chiunque può controllare il codice oppure migliorarlo e tutte le modifiche devono essere approvate dalla maggior parte degli utenti.
- Consenso: i registri di funzionamento della DApp vengono memorizzati su una blockchain decentralizza pubblica e tutte le operazioni passano attraverso un sistema di consenso. Vuole dire che quando la maggior parte dei nodi della rete approva la transazione, quest’ultima viene processata.
- Protocollo: i dati della blockchain sono archiviati in modo crittografico per aumentare il livello di sicurezza. Infatti, girando su blockchain la DApp deve utilizzare un protocollo di consenso per autorizzare le transazioni. I protocolli principali sono Proof of Work (PoW) oppure Proof of Stake (PoS).
- Decentramento e sicurezza: le DApp permettono di decentralizzare le informazioni in esse memorizzate lungo i nodi della rete, indipendenti l’uno dall’altro. Nell’eventualità di un guasto a carico di un nodo, gli altri non saranno coinvolti. In poche parole, non esiste un segmento centrale di guasto. Basta che un singolo utente sia attivo perché la rete continui a funzionare, senza interruzioni.
Differenze tra DApp e app tradizionali
Le app e le DApp hanno alcuni punti di contatto, ma la differenza principale risiede soprattutto nel modo in cui interagiscono questi elementi che hanno in comune.
Le due categorie di applicazioni condividono 3 componenti di base:
- Front-end: è l’interfaccia che gli utenti impiegano per interagire con l’applicazione. Sia le app classiche che le DApp si servono di interfacce web in HTML5 o framework quali GTK e Qt. Il front-end ha quindi l’obiettivo di fornire ai partecipanti la possibilità di inviare e ricevere le informazioni che l’app sta utilizzando.
- Back-end: è la struttura logica che consente il funzionamento dell’app. Nell’app tradizionale il back-end è centralizzato, mentre nelle DApp è decentralizzato ed è connesso allo smart contract della blockchain. I contratti intelligenti sono pubblici e visibili a tutti e gli utenti sanno che la DApp seguirà attentamente ciò che è indicato nello smart contract.
- Archivio dati: per finire c’è il livello di archiviazione. Nelle applicazioni classiche lo spazio dove vengono conservati i dati è centralizzato e può essere rappresentato dal computer dell’utente o da server di terze parti. Invece in DApp anche l’archiviazione è del tutto decentralizzata. Infatti, le informazioni sono memorizzate all’interno dei nodi della blockchain con sistemi di crittografia che garantiscono la giusta protezione. Inoltre, il grado di sicurezza aumenta con l’incremento del numero di partecipanti alla DApp.
Le tipologie di DApp
Nello specifico si possono incontrare 3 categorie di DApp principali, secondo la blockchain che viene utilizzata:
- Tipo I: in tale gruppo rientrano le applicazioni decentralizzate che dispongono di una propria blockchain, come appunto Bitcoin, Ethereum, Litecoin e altre criptovalute. Sono DApp che di solito offrono agli utenti sistemi di gestione del denaro e delle proprie finanze.
- Tipo II: in questa classe troviamo le DApp che hanno bisogno di una blockchain e delle sue proprietà per funzionare. Un esempio è Golem, una DApp che gira tramite blockchain di Ethereum. È stata sviluppata per consentire agli utenti di noleggiare risorse di calcolo utili per elaborare dati. Golem è una specie di supercomputer decentralizzato dal quale si può affittare la potenza di cui si ha bisogno.
- Tipo III: le DApp di questo genere usano DApp di tipo II per poter funzionare, soprattutto i token. È il caso di Safe Network che si affida a Omni Layer, una DApp di tipo II, per creare la propria criptovaluta Safecoin.
I vantaggi e i limiti delle DApp
È facile intuire come le DApp offrano oggi dei vantaggi non indifferenti, soprattutto in confronto con le app tradizionali. Tre i benefici più importanti abbiamo:
- Resistenza a manipolazioni e censure: uno dei problemi più evidenti delle applicazioni comuni centralizzate è che possono essere manipolate o censurate da coloro che le amministrano. Questo con le DApp non può avvenire perché, essendo decentralizzate ed open source, affidano il controllo direttamente all’utente.
- Nessun malfunzionamento: le DApp non hanno punti di interruzione del servizio o malfunzionamento. Come già detto, i dati sono archiviati nei nodi indipendenti tra loro e se anche uno non funziona, ci sono gli altri a sopperire.
- Trasparenza ed affidabilità: in quanto open source, il codice sorgente delle DApp è accessibile a tutti. Questo garantisce maggiore sicurezza e trasparenza.
- Anonimato: le DApp impiegano un meccanismo di chiavi pubbliche e private e dunque gli utenti hanno l’opportunità di effettuare transazioni con differenti livelli di anonimato e senza lunghe fasi di registrazione.
Nonostante tutti i vantaggi appena elencati, le DApp mostrano ancora dei punti di debolezza. Per fare un esempio, un errore di scrittura dello smart contract non può essere corretto.
A proposito dei contratti intelligenti, questi devono essere analizzati con attenzione e bisogna assicurarsi che siano poi attuati secondo quanto dichiarato.
In aggiunta, essendo ancora un settore in evoluzione, le DApp mostrano spesso interfacce poco accattivanti che attirano un numero ristretto di utenti. Pochi utenti rendono però le DApp non interessanti e meno sicure, considerando che spesso la sicurezza è legata al numero di persone coinvolte nella rete.
Infine, è chiaro che lo sviluppo delle DApp è strettamente connesso a quello delle blockchain. Infatti, una DApp può essere ben strutturata, ma il tutto sarà rallentato se non c’è al contempo un’evoluzione adeguata della blockchain e delle sue funzioni.
Quindi DApp e blockchain vanno a braccetto ed hanno bisogno di lavorare allo sviluppo in sinergia per ottenere buoni risultati a lungo termine.
Esempi di DApp
Come abbiamo visto le DApp sono immutabili e a prova di manomissione e riescono a rispondere ad una vasta gamma di necessità.
Attualmente è Ethereum la piattaforma di riferimento per gli sviluppatori di DApp, ma molti altri si affidano anche a QTUM, NEO e Cardano.
Tra le DApp più famose ci sono:
- Crypto Kitties: è stato il primo videogioco ad essere sviluppato su blockchain. Consiste nel crescere e scambiare gattini virtuali unici. Ciascun gattino ha caratteristiche che lo rendono diverso dagli altri ed è proprio l’unicità a dargli valore.
- Status: è una DApp di messaggistica istantanea e scambio di file multimediali. Ricorda molto Whatsapp.
- Storj: si tratta di una DApp che fornisce spazio di archiviazione online. È paragonabile a Google Drive o Dropbox.
- Steemit: è una DApp di blogging. Dà la possibilità agli utenti di avere un profilo personale dove postare contenuti. Per ogni interazione o like si viene ripagati in criptovalute.
- Uniswap: è una DApp di exchange basata su Ethernum che permette di scambiare token ERC20, senza che venditori ed acquirenti siano costretti a fornire liquidità.
- BAT: Basic Attention Token è una piattaforma che si occupa di pubblicità digitale e si fonda su blockchain di Ethereum. In particolare, gli inserzionisti possono comprare spazi pubblicitari usando il browser Brave.