La decentralizzazione delle Dapp: cosa sono e come funzionano

Le Dapp sono applicazioni costruite su una rete decentralizzata, principalmente Ethereum, dove uniscono uno smart contract con interfaccia utente di front-end. Di fatto, l’abilitazione degli smart contracts su blockchain ha permesso lo sviluppo crescente di applicazioni decentralizzate. Ma come nascono, che differenza c’è con le app tradizionali e, soprattutto, come funziona una Dapp?

Introduzione

La diffusione della blockchain ha cambiato anche i paradigmi di programmazione di applicazioni e web app con la decentralizzazione delle risorse e dei server, permettendo la nascita di Dapp o applicazioni decentralizzate (decentralized applications). Nonostante la prima Dapp in assoluto ad aver utilizzato blockchain sia legata alla criptovaluta Bitcoin, il modello di sviluppo attuale è stato introdotto con gli smart contracts di Ethereum. Lo smart contract, nello specifico, è un programma o semplicemente codice che viene messo in esecuzione sui nodi validatori della blockchain ed è il collante di validazione di ogni interazione della Dapp in grado, oltre tutto, di ampliare i vantaggi delle applicazioni decentralizzate a partire dalla trasparenza. Sebbene parliamo sempre di app, è importante sottolineare che la complessità della blockchain ed i suoi problemi di integrazione richiedono conoscenze e competenze diverse dai tradizionali approcci di sviluppo delle applicazioni.

Cosa sono le Dapp

Si scrive Dapp e si legge Di-app. Sono molto simili alle applicazioni che conosciamo e utilizziamo quotidianamente. Si basano sugli stessi elementi ma differiscono nel modo in cui interagiscono con questi stessi elementi. Mentre il funzionamento lato front-end ed interfaccia UI non cambia, i processi back-end differiscono. Le Dapp evitano i server centralizzati e agiscono in modo distribuito e peer-to-peer (P2P) invece di utilizzare il protocollo HTTP per comunicare. Sono in esecuzione su sistemi di calcolo distribuiti, come le tecnologie DLT - Distributed Ledger Technology - che sono la base dei sistemi blockchain e sono molto più trasparenti e flessibili. Oggi, si parla sempre più della crescita dell'economia legata alle Dapps, delle potenzialità strategiche e delle nuove tipologie di soggetti, come i validatori di transazione, essenziali nel funzionamento delle piattaforme decentralizzate.

Le caratteristiche principali

Naturalmente, una Dapp ha codice sorgente open source e nessun singolo nodo della rete decentralizzata ne ha il controllo completo. L'archiviazione dei dati è completamente decentralizzata, per memorizzare i dati dell'applicazione vengono utilizzate diverse strutture dati. Per sopperire alla mancanza di un server centrale, coordinare i peers e garantire maggiore sicurezza, si fa riferimento comunque ai meccanismi o protocolli di consenso della rete. La natura stessa delle Dapp riduce il rischio di Single Point Of Failure (SPOF) e garantisce l'esperienza dell'utente.

Ad ogni aspetto funzionale è possibile attribuire una caratteristica:

  • Decentralizzata: nessuno può avere il controllo
  • Deterministica: esegue la stessa funzione indipendentemente dall'ambiente in cui viene eseguito il codice
  • Isolata: viene eseguita in un ambiente virtuale (Ethereum Virtual Machine) per non influenzare altri blocchi o il funzionamento della rete blockchain a causa di bug o altro
  • Turing compatibile: può eseguire qualsiasi azione che può essere codificata

Quali sono i vantaggi nello sviluppo di una Dapp?

Rispetto alle comuni applicazioni hanno diversi vantaggi effettivi e in alcuni casi di natura etica. Ad esempio, la trasparenza del codice open source ed accessibile: i team sviluppano utilizzando il lavoro di altri. Ad esempio, lo scambio di token (come vedremo) da parte degli utilizzatori in una Dapp avviene grazie al codice di un'altra Dapp. Inoltre, viene garantita maggiore fiducia da parte degli utilizzatori poiché le Dapp non vengono controllate da una singola autorità e, allo stesso tempo, non possono essere censurate in rete. C'è maggiore semplicità e rispetto della privacy nelle procedure di registrazione dove ci sono vari gradi di anonimato. Inoltre, possono continuare a lavorare ed essere utilizzate anche in presenza di un guasto.

Cosa rende le Dapp così diverse dalle normali app?

Le Dapp presentano una serie di caratteristiche che le rendono particolarmente interessanti e al contempo diverse dalle normali app:

  • Nessun proprietario
  • Pagamenti integrati
  • Addio ai tempi di inattività
  • La crittografia
  • Un solo login anonimo
  • Plug and play
  • Il codice aperto
  • Maggiore privacy
  • Resistenza alla censura
  • Integrità del dato
  • Trasparenza

Come vengono utilizzate

Inizialmente le Dapp erano utilizzate per realizzare applicazioni di tipo finanziario. Oggi vengono create in tutti i settori e molte sono in fase di sviluppo o di sperimentazione. Quelle legate al ramo finanziario sono molte e offrono servizi vari tramite criptovalute e di prestiti ed investimenti privati senza richiedere dati personali. Tra le più utilizzate ci sono quelle per i wallet che permettono di gestire il proprio conto in criptovalute. Numerose sono quelle sviluppate per il mondo dell'arte e del collezionismo di oggetti ed immancabili quelle per i giochi e la creazione di mondi virtuali. Dark Forest tra le più apprezzate, permette di giocare contro altri utenti per conquistare pianeti e di provare la nuovissima tecnologia di scaling di Ethereum per aumentare al massimo la privacy. Oltre al mondo del divertimento ci sono molte sperimentazioni che includono anche l'utilizzo di Dapp soprattutto legate al mondo della supply chain. Esistono Dapp per il Crowdfunding per progetti di community o per incrementare le potenzialità della tecnologia Ethereum per scambiare token, oppure altre per creare lotterie. La più conosciuta è per molti Cryptokitties, un gioco in cui poter allevare, collezionare e vendere gattini crittografici e fare cose come risolvere enigmi, guadagnare ricompense e giocare con i gattini.

Le Dapp e i dati esterni

Un limite delle Dapp è la mancata possibilità di utilizzare dati off-chain ovvero esterni alla blockchain. Per ovviare a questo limite si fa ricorso ad un “Oracolo”, un ente esterno in grado di comunicare agli smart contracts di riferimento di una Dapp. L’oracolo che prende il nome dal significato mitologico e antico, rappresenta il trait d’union tra la rete blockchain e le informazioni del mondo di Internet con particolari caratteristiche che ne garantiscono in un certo senso, la salvaguardia del principio di decentralizzazione alla base della blockchain. Queste caratteristiche sono: [...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2134 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend