This article has been translated from English to Italian.
Come ho accennato nella lezione precedente sugli smart contract, Ethereum èuna piattaforma informatica che ti permette di creare ed eseguire smart contract.
Uno smart contract è un codice software pre-programmato ("programma per computer") che viene eseguito automaticamente quando vengono soddisfatte determinate condizioni.
La maggior parte degli sviluppatori che creano smart contract lo fanno come parte di un'applicazione decentralizzata o"dApp"che stanno costruendo.
Ma cosa sono le dApp? E perché sono importanti?

Che cos'è un'applicazione decentralizzata (dApp)?
Un'applicazione decentralizzata, nota anche come"dApp", "Dapp" o "dapp", è un'applicazione software che opera in modo autonomo utilizzando contratti intelligenti.
Poiché gli smart contract sono solo programmi per computer che si auto-eseguono in base a condizioni predeterminate scritte esplicitamente nel codice, questo è ciò che consente alle dApp di operare autonomamente, senza alcun coinvolgimento umano.
Le dApp sono molto simili alle applicazioni web o mobili, tranne per il fatto che le dApp sono costruite utilizzando smart contract e funzionano su una blockchain.
In parole povere, una dApp è un contratto intelligente e un'interfaccia utente web (UI).
dApp = frontend + smart contract backend
In altre parole, combina un'interfaccia utente (UI) frontend che assomiglia al tuo buon vecchio smartphone o app web con la funzionalità di contratti intelligenti in esecuzione sul backend.
Il frontend di un'app si riferisce alla parte dell'app che viene visualizzata sullo schermo dell'utente o sull'interfaccia grafica utente (GUI). Il backend di un'app si riferisce alla parte dell'app che non viene visualizzata sullo schermo dell'utente ("frontend").
Le dApp consentono a due parti di effettuare una transazione o un accordo in codice senza bisogno di un intermediario o di un'autorità centrale che ne garantisca il rispetto. Possono semplicemente fidarsi del codice per assicurarsi che il contratto venga rispettato.
Le dApp sono anche open source, il che significa che il codice sorgente è disponibile per chiunque. Questo rende le dApp più affidabili, poiché il codice sorgente può essere ispezionato e qualsiasi intento malevolo può (teoricamente) essere individuato.
Poiché le aziende tecnologiche tengono il loro codice sotto chiave, non sappiamo davvero come funzioni l'algoritmo di ricerca top secret di Google o se Alexa stia effettivamente ascoltando le nostre conversazioni.
Con gli smart contract e le dApp, possiamo vedere se tutto funziona correttamente.
Le dApp sono anche resistenti alla censura. Ciò significa che i governi o le grandi aziende non hanno modo di bloccare alcun contenuto o bandire utenti.
Ora, questo può essere un bene E un male, a seconda di come viene usato (o abusato). La censura sui social media, ad esempio, è stata oggetto di dibattito poiché piattaforme come Facebook possono bandire gli utenti per le loro opinioni politiche o per la diffusione di notizie false.
Se una dApp è programmata per fare qualcosa e il contratto intelligente viene eseguito, non c'è nulla che nessuno possa fare per fermare o invertire il codice. Qui non esiste la possibilità di cancellare dopo averlo provato.
Infine, uno dei grandi vantaggi delle dApp è che è difficile disconnetterle.
Le dApp funzionano su una rete di computer decentralizzati (che potrebbero essere centinaia o migliaia a seconda della blockchain) in tutto il mondo.

Anche se alcuni (o alcune centinaia) si disconnettono, il resto della rete continua a far funzionare la blockchain per garantire un tempo di inattività praticamente pari a zero.
Va tutto bene, ma vale la pena notare che ci sono ancora alcuni svantaggi delle dApp, in particolare dal punto di vista degli sviluppatori.
Poiché il codice e i dati pubblicati sulla blockchain sono più difficili da modificare, può essere particolarmente impegnativo per gli sviluppatori effettuare aggiornamenti delle dApp una volta implementate. Ciò significa che correggere i bug nelle versioni precedenti o introdurre nuove funzionalità può essere una seccatura.
Inoltre, i vantaggi di operare sulla rete Ethereum (ovvero sicurezza, trasparenza, decentralizzazione e affidabilità) comportano un costo elevato.
L'attuale meccanismo di consenso di Ethereum (PoW) richiede un po' di tempo, inoltre ogni nodo deve eseguire e memorizzare ogni transazione, il che comporta un aumento delle richieste computazionali.
Anche se le dApp non sono completamente offline, la congestione della rete può comunque verificarsi e causare un rallentamento del tempo di esecuzione.
Questi compromessi rendono difficile la scalabilità delle dApp, ma i futuri aggiornamenti di Ethereum promettono di affrontare alcune di queste questioni, come il passaggio al meccanismo di consenso proof-of-stake (PoS).
Qual è un esempio di dApp?
Per avere un'idea migliore di come funzionano le dApp nel mondo reale, prendiamo ad esempio Uniswap.
Costruito sulla blockchain di Ethereum, Uniswap è uno scambio decentralizzato (DEX ).
Fornisce un'app che consente agli utenti di scambiare o "swap" facilmente le criptovalute.
Ecco come si presenta l'interfaccia utente dell'app:
A differenza delle borse tradizionali che utilizzano registri centralizzati per gestire la liquidità e fissare i prezzi, la DEX Uniswap funziona con la tecnologia AMM.
"AMM"sta per "automated market maker", che è solo un termine di fantasia per indicare un contratto intelligente che si basa su un pool di liquidità invece che su un order book e utilizza una formula matematica per determinare i prezzi di acquisto e di vendita.
In effetti, Uniswap non detiene alcuna delle criptovalute sulla borsa e non si pone dalla parte opposta delle negoziazioni per creare liquidità.
Invece, le transazioni avvengono tra te e uno smart contract. All'interno dello smart contract, c'è una formula matematica che determina il prezzo al quale puoi acquistare o vendere una criptovaluta.
Da dove provengono le criptovalute? Ad esempio, se voglio scambiare alcuni dei miei ETH con BAT, da chi riceverò i BAT se è l'AMM a gestire la transazione?
È qui che entrano in gioco i "liquidity pool". Altri utenti depositano le loro criptovalute per fornire liquidità e vengono compensati con una quota della commissione di negoziazione.
Poiché il DEX Uniswap funziona su software open source, gli utenti possono controllare il codice sorgente se c'è qualcosa di losco in corso.
Il protocollo è pubblico e senza autorizzazione, il che significa che chiunque può utilizzare la dApp se vuole acquistare o vendere cripto-asset. Non è necessario registrare un account o richiedere l'accesso. Tutto quello che devi fare è collegare il tuo portafoglio cripto.
