DApp: cosa sono le app decentralizzate che intendono rivoluzionare il settore
Con la presentazione della piattaforma decentralizzata Ethereum nel 2014 (e la pubblicazione dell’anno successivo), le applicazioni decentralizzate hanno assunto una grande popolarità.
Le cosiddette DApp sono infatti applicazioni che, a differenza delle app tradizionali, si basano su una rete decentralizzata di nodi che interagiscono tra loro per funzionare al meglio. Questa logica peer-to-peer si oppone ai server centralizzati tipici delle applicazioni a cui siamo abituati e punta a rivoluzionare il mercato delle app tradizionali.
Ma che cosa sono le DApp, come funzionano le app decentralizzate e, soprattutto, quali sono i vantaggi che le rendono così interessanti rispetto alle app tradizionali?
Cosa sono le DApp?
DApp è un acronimo che sta per Decentralized Application o, in italiano, Applicazioni decentralizzate. Questa particolare tipologia di app si caratterizza per una modalità di funzionamento diversa rispetto a quella a cui ci hanno abituato le app tradizionali che, infatti, fanno uso di punti di controllo e server centrali. Le DApp funzionano invece sulla base di una rete decentralizzata di cui sono gli utenti stessi a garantire il funzionamento. Le piattaforme blockchain e il loro network distribuito su cui girano le DApp conferiscono a queste app decentralizzate tutta una serie di importanti vantaggi di cui parleremo a breve.
Per utilizzare le DApp, sia da pc sia da smartphone (anche nella loro versione web), agli utenti basta utilizzare il proprio “account” blockchain. Se per accedere ai servizi delle app tradizionali agli utenti viene richiesto di inserire i propri dati personali (poi gestiti in un database centralizzato in mano allo sviluppatore dell’app stessa), quando parliamo di app decentralizzate la questione è ben diversa. Infatti, le DApp non richiedono agli utenti di esplicitare i propri dati personali ma, piuttosto, di utilizzare in modo del tutto sicuro le proprie chiavi crittografiche.
Le differenze tra app decentralizzate e app tradizionali
Proseguiamo la nostra analisi rispetto alle principali differenze tra DApp e app centralizzate.
I sistemi centralizzati vengono “gestiti” da un’entità centrale e fissa che prende le decisioni e le trasmette alle varie componenti. Possiamo pensare, per fare un esempio pratico, alla logica dei social network: servizi, dati e decisioni sono nelle mani di quelle società che possiedono i server centrali e che possono quindi, di fatto, intraprendere qualsiasi azione, dalla censura al danneggiamento di determinati utenti.
Nei sistemi decentralizzati, al contrario, i dati non risiedono in un unico nodo centrale ma sono invece distribuiti su più nodi che hanno la medesima importanza e impediscono il nascere di un’entità centrale dominante sugli altri e con totale potere decisionale.
Il punto centrale della questione è che DApp e app centralizzate hanno moltissimi elementi in comune e si differenziano, piuttosto, per il modo in cui interagiscono con questi elementi. Consideriamo le 3 strutture di base di ogni app:
- Frontend: si tratta dell’interfaccia che gli utenti usano per interagire con l’applicazione stessa, inviare e ricevere informazioni. In questo caso, non esiste alcuna differenza tra app decentralizzate e app centralizzate. In entrambi i casi, le risorse grafiche da mettere in campo sono moltissime, a partire da linguaggio come HTML5 fino ad arrivare a framework come Qt e GK;
- Backend: si tratta della logica di base di un’applicazione. Nel caso delle app classiche, questa logica è centralizzata mentre è decentralizzata e peer-to-peer nel caso delle DApp. In effetti, nel caso delle DApps, il backend è strettamente correlato allo smart contract che gira sulla blockchain e che ne garantisce il funzionamento con massima sicurezza e trasparenza considerato che i cosiddetti “contratti intelligenti” sono infatti visibili e pubblici.
- Archivio dati: si tratta dell’archiviazione dei dati. Per le app tradizionali, l’archiviazione è centralizzata, ovvero i dati dell’utente vengono salvati sul dispositivo o sul server (naturalmente controllati da terze parti). Questa situazione comporta un chiaro rischio: in caso di danno al dispositivo o al server stesso, l’utente non solo non può utilizzare l’app ma rischia persino di perdere le proprie informazioni. Situazione diversa, invece, quella delle DApp in cui l’archiviazione, decentralizzata, fa sì che ogni utente memorizzi una cronologia completa delle azioni eseguite sulla rete e che la blockchain memorizzi le interazioni all’interno dei blocchi. Queste informazioni permettono all’utente DApp di recuperare tutte le sue informazioni immagazzinate semplicemente accedendo da un nuovo dispositivo in massima sicurezza poiché i dati, archiviati in modo crittograficamente sicuro, non sono accessibili da terzi.
La nascita delle DApp
In apertura abbiamo parlato del 2014 come della data di consacrazione delle app decentralizzate con la presentazione di Ethereum.
In realtà, la storia delle DApp va molto più indietro e comincia con alcune app decentralizzate, come BitTorrent o DC++, che permettevano di condividere file peer-to-peer. La prima DApp ad aver utilizzato blockchain è invece Bitcoin, considerata a tutti gli effetti la prima DApp blockchain della storia.
Come funzionano le app decentralizzate
Una DApp o app decentralizzata ha una logica di funzionamento molto simile a quella delle reti blockchain in cui ogni utente rappresenta un nodo all’interno della rete e vigila sul corretto funzionamento e sulle operazioni che vengono svolte nella rete stessa.
A mantenere salda la rete è lo smart contract, il contratto intelligente che corrobora la validità di ogni azione.
In una rete di questo tipo, tutte le informazioni che derivano da nuove operazioni che avvengono nella DApp vengono aggiornate su ogni singolo nodo, così da garantire che siano gli utenti stessi, con le risorse del proprio computer, a contribuire al corretto funzionamento della DApp. Ciò significa che la DApp non potrà mai essere “fuori servizio” poiché è di fatto impossibile rimuovere contemporaneamente tutti i nodi della rete!
Proprio perché girano su una blockchain, le DApp godono, di riflesso, delle sue capacità di sicurezza, privacy e anonimato. I dati utilizzati sono accessibili solo ai loro proprietari garantendo agli utenti il pieno controllo delle proprie informazioni, in qualsiasi momento.
Per approfondire, prova a dare un’occhiata al white paper del CEO di Dapp Fund, David Johnston qui.
I vantaggi delle DApp
Per concludere questo articolo dedicato alla app decentralizzate non ci resta che riassumerne i principali vantaggi. Le DApp, infatti, sono:
- Stabili: per le DApp, a differenza delle app tradizionali che fanno uso di server centrali, non esiste un singolo point of failure. Per comprendere appieno questo vantaggio, pensiamo a servizi come Facebook o Whatsapp che, essendo centralizzati, in caso di errore rischiano di incorrere in “down” su scala globale. Le DApp invece non hanno un unico punto debole poiché ogni singolo utente ha una cronologia completa delle azioni eseguite all’interno della DApp, una sorta di copia di quanto accaduto fino a quel momento. Girando su una blockchain, perché la DApp funzioni correttamente e senza intoppo alcuno è sufficiente sia attivo anche un solo utente.
- Trasparenti: le DApp sono applicazioni Open Source in cui il codice sorgente (così come lo smart contract e il resto delle parti dell’app) è disponibile a tutti garantendo un altissimo livello di trasparenza. L’intera community può infatti accedere alle informazioni relative al codice sorgente e collaborare al suo perfezionamento.
- Sicure: quando si tratta di DApp, gli utenti possono essere certi di mantenere salda la proprietà dei propri dati e asset. Non salvando i dati su server esterni di proprietà terza o sul cloud, i rischi associati al furto di informazioni private viene naturalmente meno. La sicurezza è a tutti gli effetti una delle caratteristiche chiave delle app decentralizzate e deriva dal funzionamento su una blockchain che, utilizzando una crittografia avanzata, permette di proteggere i dati che gestisce. Insomma, solo chi ha prodotto le informazioni può accedervi ma tutti possono verificarne la validità.
Le caratteristiche delle DApp e i vantaggi qui elencati rendono evidenti che le app decentralizzate possano offrire interessanti opportunità di sviluppo. Per fare un esempio? Permetterebbero di realizzare siti resistenti alla censura oppure social network in cui i dati rimangono di proprietà degli utenti e non di società esterne.
Vuoi scoprirne di più sul mondo delle app o trovare una soluzione digitale personalizzata con cui aumentare l’efficacia del tuo business? Contatta gli Happycoder di Beliven.