
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.

“Mistakes are unavoidable. Students make mistakes consciously, and it affects their grades. In this article, we have shared a brief concept on editing or proofreading your assignment. If you want to know more, you can contact university assignment help.
If you want to achieve an A+ grade and desire to hold the first ranking in the class, you must hire a professional assignment editor. Only a professional can proofread your content and make it flawless. But, before you hire, here are some exciting tips for you!
1. Compendious or Conciseness- Before you say “rewrite my essay’ to someone, here is a first pick-up point! Concise assignment writing is related to improving your score.
. Proofreading hacks – To get professional advice, hire an assignment proofreader online. Many assignment writing services offer free proofreading advantages after availing their writing experts.
3. Rewrite and edit When you proofread or edit your paper, you should be looking for more than grammatical mistakes. Many students go through the challenging spelling and change it accordingly. You can buy assignments online, and you are running out of your time.”