Ho più di 15 anni di esperienza in sviluppo web e app e da qualche anno mi interesso anche di sviluppo relativo alla blockchain.
Ethereum è una piattaforma blockchain con una propria criptovaluta, chiamata Ether (ETH) o Ethereum, e un proprio linguaggio di programmazione, chiamato Solidity.
Come rete blockchain, Ethereum è un registro pubblico decentralizzato per la verifica e la registrazione delle transazioni.
Gli utenti della rete possono creare, pubblicare, monetizzare e utilizzare applicazioni sulla piattaforma e utilizzare la sua criptovaluta Ether come pagamento.
Gli addetti ai lavori chiamano le applicazioni decentralizzate sulla rete "dApps".
Un "contratto intelligente" è un programma che gira sulla blockchain di Ethereum.
Si tratta di una raccolta di codice (le sue funzioni) e dati (il suo stato) che risiede a un indirizzo specifico sulla blockchain di Ethereum.
I contratti intelligenti sono un tipo di account Ethereum. Ciò significa che hanno un saldo e possono inviare transazioni sulla rete. Tuttavia, non sono controllati da un utente, ma vengono distribuiti sulla rete ed eseguiti come sono stati programmati.
Gli account utente possono quindi interagire con uno smart contract inviando transazioni che eseguono una funzione definita sullo smart contract.
I contratti intelligenti possono definire regole, come un normale contratto, e applicarle automaticamente tramite il codice.
I contratti intelligenti non possono essere eliminati per impostazione predefinita e le interazioni con essi sono irreversibili.
Un'applicazione decentralizzata (dapp) è un'applicazione costruita su una rete decentralizzata che combina un contratto intelligente e un'interfaccia utente frontend.
Una dapp ha il suo codice di backend in esecuzione su una rete peer-to-peer decentralizzata. È quindi diversa da una app, in cui il codice di backend è in esecuzione su server centralizzati.
Una dapp può avere codice frontend e interfacce utente scritte in qualsiasi linguaggio (proprio come un'app) che può effettuare chiamate al suo backend. Inoltre, il suo frontend può essere ospitato su storage decentralizzato come IPFS.
Ethereum non è l'unica blockchain con cui lavoro come sviluppatore