Tutorial Ethereum per principianti: contratti intelligenti, DApp, vantaggi e limitazioni
Pubblicato: 2021-03-11Immagina di trovarti in una di queste situazioni:
- Il tuo account e-wallet è stato bloccato dalla piattaforma per qualche motivo.
- La tua azienda deve lavorare per un cliente ma non sai se puoi fidarti o meno.
- Il tuo account sui social media è stato violato.
Tutte queste situazioni sono piuttosto dolorose, giusto? E se vi dicessimo che esiste una tecnologia che offre soluzioni per tutte queste situazioni (e molto altro). Quella tecnologia è Ethereum e questo tutorial di Ethereum per principianti ti renderà più familiare.
Scopri la certificazione di sviluppo software online dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.
Sommario
Ethereum: una breve storia
Ecco una sequenza temporale di tutto ciò che devi sapere sullo sviluppo di Ethereum:
- Novembre 2013 – Vitalik Buterin, uno sviluppatore inizialmente coinvolto in Bitcoin, ha pubblicato un whitepaper su Ethereum.
- Gennaio 2014 - Un'azienda svizzera Ethereum Switzerland GmbH ha annunciato lo sviluppo del progetto software Ethereum guidato da un team di sviluppatori tra cui Vitalik Buterin, Mihai Alisie, Anthony Di Iorio e Charles Hoskinson.
- Agosto 2014 – Ethereum termina il suo ICO e raccoglie con successo 18,4 milioni di dollari.
- Maggio 2015 – Ethereum rilascia la sua prima rete di prova, Olympic.
- Luglio 2015 – Frontier, è stata rilasciata la prima versione di Ethereum.
- Marzo 2016 – Homestead, è stato rilasciato il secondo aggiornamento della versione della rete Ethereum.
- Maggio 2016 – Ethereum ottiene un'ampia copertura mediatica quando la DAO (Organizzazione Autonoma Decentralizzata) ha raccolto un record di 150 milioni di dollari in una vendita collettiva.
- Giugno 2016 - Si verifica l'hacking DAO, che porta a una perdita di 50 milioni di dollari di Ether (che all'epoca costituiva quasi il 15% dell'Ether totale in circolazione).
- Luglio 2016 – La rete Ethereum si è ramificata in due parti: Ethereum (ETH) ed Ethereum Classic (ETC).
- Giugno 2017 – Ethereum guadagna oltre $ 400 con un aumento record del 5001% dal 1 gennaio 2017.
Cos'è Ethereum?
Ethereum è una soluzione software decentralizzata, open source e basata su blockchain che utilizziamo per creare la propria criptovaluta chiamata ether. Ti consente di creare ed eseguire applicazioni distribuite (DApp) e Smart Contract sulla sua piattaforma senza frodi, tempi di inattività o interferenze da parte di terzi.
Oltre ad essere una piattaforma robusta, Ethereum è anche un linguaggio di programmazione (Turing Complete) che gira su blockchain. In parole povere, Ethereum è una piattaforma decentralizzata che puoi utilizzare per programmare una valuta digitale.
Ethereum è la più grande app software decentralizzata e con il suo aiuto puoi facilmente creare e pubblicare DApp di nuova generazione.
Dal suo arrivo, Ethereum ha trasformato completamente l'industria blockchain. Prima del suo arrivo, le soluzioni basate su blockchain non erano in grado di eseguire un insieme diversificato di applicazioni. Ad esempio, Bitcoin e altre criptovalute potrebbero funzionare solo come valute digitali mentre Ethereum è arrivato come piattaforma per gli sviluppatori per creare programmi basati su Blockchain.
Ethereum è accessibile a tutti e consente a tutti di sviluppare un programma basato sulla blockchain di Ethereum. Secondo Ethereum.org , "Ethereum è la blockchain programmabile del mondo".
Le persone dietro Ethereum hanno preso i concetti fondamentali di Bitcoin e criptovalute simili e hanno aggiunto più funzionalità a loro e hanno creato questa soluzione blockchain molto popolare.
A settembre 2019 , Ethereum era la seconda criptovaluta più grande al mondo e dietro solo l'applicazione blockchain più popolare, Bitcoin. Tuttavia, puoi acquisire ether (la criptovaluta di Ethereum) molto rapidamente rispetto a Bitcoin poiché il primo richiede solo dai 14 ai 15 secondi mentre il secondo impiega quasi dieci minuti.
Per comprendere correttamente Ethereum, devi avere familiarità con alcuni componenti fondamentali di questa tecnologia. Di seguito sono riportati gli aspetti principali di Ethereum che dovresti conoscere:
- Etere
- Gas
- Macchina virtuale di Ethereum
- Contratti intelligenti
- DApp (applicazioni decentralizzate)
Nelle seguenti sezioni del nostro tutorial Ethereum per principianti, tratteremo questi concetti e comprenderemo il funzionamento interno di questa piattaforma blockchain:
Ethereum – Termini importanti che dovresti conoscere
1. Emissione di valuta
In ogni paese, l'emissione di valuta è gestita e monitorata principalmente dalla banca centrale di una nazione o dall'autorità monetaria del paese. Ad esempio, in India, la RBI è l'autorità monetaria che regola tutte le altre banche e autorità finanziarie.
2. Organizzazione Autonoma Decentralizzata
L'organizzazione autonoma decentralizzata è un'organizzazione digitale gestita e regolata da un insieme di regole codificate come un programma per computer che non è influenzato da un'autorità di governo centrale: è completamente trasparente e controllata dagli azionisti. Le pratiche di un DAO e i record delle transazioni finanziarie sono conservati su una rete Blockchain.
3. Contratti intelligenti
Uno smart contract è un protocollo informatico progettato per facilitare e verificare la negoziazione o l'esecuzione del contratto tra due o più parti. Questi contratti digitali si basano su un sistema di consenso e vengono eseguiti senza l'intervento di terzi.
4. Proprietà intelligente
La proprietà intelligente potrebbe significare sia risorse fisiche che risorse crittografiche (condivisioni, diritti di accesso a una rete, ecc.) Che sono basate su Ethereum. La proprietà della proprietà intelligente è controllata tramite il portafoglio Ethereum che funge da gateway per le DApp sulla blockchain di Ethereum.
5. Solidità
Solidity è un linguaggio orientato agli oggetti di alto livello utilizzato per implementare contratti intelligenti in Ethereum. Ha tratto ispirazione dai linguaggi di programmazione C++, Python e JavaScript ed è stato progettato per prendere di mira Ethereum Virtual Machine (EVM)
6. Macchina virtuale di Ethereum
Ethereum Virtual Machine (EVM) è un ambiente di runtime progettato per contratti intelligenti. In sostanza, EVM è un livello di computer virtuale appena sopra l'hardware sottostante. Questi livelli virtuali creano un livello di astrazione tra il codice in esecuzione e la macchina in esecuzione. EVM aiuta a migliorare la portabilità del software e garantisce anche che le applicazioni non siano solo separate l'una dall'altra, ma anche dal loro host.
7. Transazioni
Le transazioni sono messaggi inviati da un account all'altro. Includono dati binari chiamati Ether. È un trasferimento di valore/i che viene trasmesso alla rete Ethereum e raccolto in blocchi.
La rete Ethereum
Ormai sai già che la rete Ethereum è una rete Blockchain pubblica distribuita e decentralizzata. Tuttavia, c'è molto di più. Ethereum è la base per tutte le applicazioni e le organizzazioni P2P decentralizzate in esecuzione sulla rete Ethereum. Questa rete è composta da due nodi unici: nodi completi e nodi leggeri.
I nodi completi sono quelli che contengono la cronologia completa delle transazioni a partire dal blocco di genesi (genitore) . Registrano ogni transazione che è stata convalidata e verificata secondo le regole indicate nelle specifiche di Ethereum. Quindi, i full node sono la prova dell'integrità, della sicurezza e della trasparenza della rete Blockchain.
A differenza dei nodi completi, i nodi leggeri contengono solo un sottoinsieme dell'intera Blockchain. I nodi leggeri non verificano ogni transazione e possono/non possono contenere una copia dello stato Blockchain corrente. Dipendono principalmente dai nodi completi per fornire loro dettagli mancanti o funzionalità particolari specifiche. Come suggerisce il nome, i nodi leggeri sono leggeri e, quindi, possono essere eseguiti più rapidamente su dispositivi con limiti di memoria. I nodi leggeri sono utilizzati principalmente nei portafogli elettronici che sono intrinsecamente leggeri.
Cos'è l'etere?
Ether è la criptovaluta che usi sulla rete Ethereum per effettuare pagamenti per le transazioni. Puoi usare Ether nei due modi seguenti:
- Le applicazioni richiedono il pagamento Ether per eseguire qualsiasi operazione sulla piattaforma per impedire l'esecuzione di programmi dannosi e danneggiati sulla rete.
- La rete utilizza Ether per premiare i minatori che contribuiscono alla rete di Ethereum proprio come fa Bitcoin.
Oltre a queste applicazioni, puoi utilizzare Ether per acquistare Gas, di cui abbiamo parlato nella prossima sezione del nostro tutorial di Ethereum per principianti. In Ethereum, Ether è un'unità metrica che ti consente di pagare con precisione Gas e transazioni. La denominazione più piccola di Ether è Wei. Un Ether ha 1e18 Wei.
Cos'è il gas?
L'etere non è l'unica valuta digitale disponibile su Ethereum. Quando esegui una transazione su Ethereum, dovresti effettuare un pagamento di Ether al minatore tramite Gas. Gas è un token intermediario e consente di misurare il lavoro computazionale necessario per completare una transazione o eseguire uno smart contract.
Il prezzo del Gas è espresso in Ether. Inoltre, i minatori determinano il prezzo del gas e possono rifiutarsi di eseguire un contratto intelligente o elaborare una transazione che non offre il prezzo del gas richiesto.
Calcoliamo la commissione di transazione in Ethereum attraverso la seguente equazione:
Etere = Limite Gas x Prezzo Gas
Qui, Gas Price è la quantità di Ether che devi pagare e Gas Limit è la quantità di Gas utilizzata per il processo di calcolo. Il limite del gas e il prezzo del gas assicurano che un contratto termini a un certo punto.
Dove va il gas nell'etere? Va nella macchina virtuale di Ethereum (EVM), che abbiamo trattato nella sezione seguente:
Cos'è la macchina virtuale di Ethereum?
La macchina virtuale di Ethereum è il luogo in cui vengono eseguite tutte le transazioni in Ethereum. Ti permette di sviluppare tutte le applicazioni su un'unica piattaforma. Possiamo dire che l'EVM è il motore che gestisce l'intera rete Ethereum.
Sebbene Ethereum abbia impostato protocolli definiti per lo sviluppo di applicazioni decentralizzate, è stato in grado di farlo grazie all'EVM. La macchina virtuale di Ethereum è isolata e in sandbox. Significa che il codice che esegue l'EVM non ha accesso al file system o alla rete e ha pochissimo accesso ad altri contratti.
Quando inserisci il tuo codice Solidity in Ethereum, va prima al compilatore Ethereum. Successivamente, invia il bytecode EVM alla macchina virtuale Ethereum che gestisce il resto del processo.
L'EVM gestisce il calcolo e lo stato interno di Ethereum. Esegue codice, mantiene un database interno e dispone di numerosi oggetti chiamati "account" che possono dialogare tra loro.
Cosa sono gli Smart Contract?
Uno smart contract è un programma per computer che viene eseguito automaticamente. Come protocollo di transazione, ti consente di scambiare beni, denaro e servizi tramite blockchain. Gli smart contract hanno condizioni specifiche stabilite da entrambe le parti l'una per l'altra e quando entrambe le parti soddisfano le rispettive condizioni, lo smart contract viene eseguito di conseguenza.
Con i contratti intelligenti, puoi svolgere varie attività come il voto decentralizzato e molto altro. In parole povere, uno smart contract è un contratto che esegue, impone, gestisce e gestisce il pagamento automaticamente.
Per eseguire uno smart contract su Ethereum, avrai bisogno di token (Ether). Senza la criptovaluta richiesta, non puoi utilizzare i contratti intelligenti su Ethereum.
Per creare uno smart contract, dovrai utilizzare Solidity, il linguaggio di programmazione generico di Ethereum. È sviluppato per essere eseguito nella macchina virtuale Ethereum e consente di eseguire calcoli arbitrari, memorizzare stati ed eseguire transazioni di token digitali.
Gli smart contract offrono molteplici vantaggi grazie ai quali stanno diventando sempre più popolari. Il più grande vantaggio dell'utilizzo dei contratti intelligenti è che eliminano la necessità di avere un intermediario.
Poiché i contratti intelligenti sono automatici, non c'è margine di errore umano. Sono presenti virtuali e sono abbastanza convenienti rispetto ai contratti tradizionali. I contratti intelligenti hanno potenziali casi d'uso in più settori, tra cui:
- Assistenza sanitaria
- Finanza e Banca
- Servizi B2B (servizi IT, servizi di marketing, ecc.)
Leggi anche: Idee e argomenti del progetto Ethereum
Cosa sono le DApp?
Una DApp o applicazione decentralizzata è un'applicazione software in esecuzione su una rete distribuita. È ospitato su una rete decentralizzata peer-to-peer anziché su un server centrale. Una DApp potrebbe essere qualsiasi applicazione software come un'app mobile o un sito Web. La distinzione tra una DApp e un'applicazione convenzionale è che è costruita su una rete decentralizzata.
L'interfaccia utente di un'applicazione decentralizzata è proprio come l'interfaccia di qualsiasi applicazione convenzionale. Tuttavia, tutti i processi di back-end di un'applicazione decentralizzata si basano su una rete decentralizzata.
Ethereum è una rete blockchain decentralizzata, quindi quando crei un'applicazione basata su Ethereum, stai essenzialmente creando un'applicazione decentralizzata. Le DApp sono un concetto relativamente nuovo ma stanno diventando molto popolari.
Man mano che le persone diventano più preoccupate per la loro privacy e sicurezza, la domanda di DApp aumenterà di conseguenza. Imparare a conoscerli presto può facilmente darti un vantaggio in termini di carriera.
Simile alle applicazioni decentralizzate, Ethereum ha anche organizzazioni autonome decentralizzate (DAO). Queste organizzazioni esistono solo su blockchain e sono controllate dai protocolli della blockchain. Queste organizzazioni sono create per mantenere i beni e utilizzare un sistema di voto per gestire la distribuzione degli stessi. Scopri tutto ciò che devi sapere sulle DApp.
Valute Ethereum
Come accennato in precedenza, la rete Ethereum funziona su due tipi di criptovalute: Ether e Gas.
1. Etere
Ether è il nome della criptovaluta che viene utilizzata per pagare tutte le transazioni effettuate nella rete Ethereum. Tuttavia, oltre a pagare per transazioni e servizi generali, Ether viene utilizzato anche per acquistare Gas, che viene utilizzato per pagare i servizi di calcolo all'interno dell'EVM.
L'etere è un'unità metrica con più tagli per aiutare gli utenti a pagare l'importo esatto per le transazioni e il gas. La denominazione più piccola – l'unità base – di Ether è conosciuta come Wei. Ecco una tabella completa di tutte le denominazioni Ether:
2. Gas
EVM esegue il codice distribuito sulla rete Ethereum. Ora, potresti pensare che si possa eseguire in modo efficiente un ciclo infinito sull'EVM e sovraccaricarne la memoria. Grazie a Gas, questo non è possibile.
Il gas rappresenta una metrica per le risorse computazionali sulla rete. A ogni contratto sulla rete Ethereum viene assegnata una quantità massima di Gas che può utilizzare per i calcoli. Questo limite impostato è chiamato "Limite di gas". Ci sono altri due termini Gas che dovresti conoscere:
Prezzo del Gas – È il prezzo del Gas in termini di token come Ether e le sue denominazioni. Il prezzo del gas è un valore variabile che aiuta a stabilizzare il valore del gas. Quindi, se il costo dei token o della valuta oscilla, anche il prezzo del gas si adegua per mantenere lo stesso valore reale.
Commissione Gas – Rappresenta la quantità di Gas che si richiede di pagare per eseguire una particolare transazione o programma (contratto).
Pertanto, se si tenta di eseguire un codice infinito (uno che funziona per sempre), alla fine il contratto supererà il limite di gas assegnato e l'intera transazione che ha invocato il contratto tornerà al suo stato originale.
Quali sono i vantaggi e le limitazioni di Ethereum?
In questa sezione del nostro tutorial Ethereum per principianti, daremo un'occhiata ai vari vantaggi di questa piattaforma blockchain:
- Con Ethereum puoi caricare e richiedere l'esecuzione di programmi.
- Offre una memorizzazione dei dati permanente e persistente.
- Puoi creare un token negoziabile che puoi utilizzare come condivisione virtuale o come valuta digitale.
- Offre il 100% di uptime e resistenza DDoS (Distributed Denial of Service).
- Puoi creare organizzazioni virtuali (DAO) in Ethereum.
- Ti consente di creare DApp altamente sicure e tolleranti ai guasti.
Tuttavia, come qualsiasi altra tecnologia, Ethereum ha la sua parte di limiti. Ecco alcuni svantaggi di Ethereum:
- Le applicazioni che richiedono la verifica dell'ID utente saranno problematiche da costruire su Ethereum in quanto non ci sarebbe l'autorità centrale per eseguire la verifica.
- L'aggiornamento di un'app o la correzione di bug può essere piuttosto impegnativo perché ogni peer dovrebbe aggiornare il software del proprio nodo.
Estrazione in Ethereum
Come qualsiasi altra tecnologia Blockchain, Ethereum promuove la sicurezza attraverso un modello basato sugli incentivi, popolarmente noto come meccanismo di proof-of-work. L'algoritmo proof-of-work utilizzato in Ethereum si chiama Ethash, un algoritmo di hashing ispirato all'algoritmo Dagger-Hashimoto.
I passaggi nel mining di Ethereum sono i seguenti:
- Un utente avvia una transazione inviando valori Ether a un altro utente.
- Questa nuova transazione viene quindi aggiunta in un nuovo blocco insieme alle altre transazioni contenute nel blocco precedente.
- I minatori della rete competono per convalidare il nuovo blocco con una serie specifica di istruzioni.
- Il miner che riesce a convalidare con successo il nuovo blocco e ad aggiungerlo alla rete riceve una ricompensa, ovvero un Ether.
- Una volta convalidata la transazione, l'utente che ha avviato la transazione guadagna anche un Ether.
Ethereum Tutorial per principianti: cosa c'è dopo?
Ethereum è una vasta tecnologia con molteplici aspetti. L'apprendimento delle sue varie sezioni come contratti intelligenti e mining può essere piuttosto ingombrante senza risorse e guida sufficienti. Come avrai visto nel nostro tutorial di Ethereum per principianti, se capisci Blockchain e la sua implementazione in Ethereum, lavorare con questa tecnologia diventa un gioco da ragazzi.
Ecco perché consigliamo di seguire un corso blockchain che copra Ethereum e tutti i suoi aspetti tecnici. Un corso blockchain ti fornirà un curriculum strutturato in modo da poter studiare in modo efficiente ed efficace.
In upGrad, offriamo più corsi blockchain che ti aiutano a comprendere i concetti di base e avanzati della blockchain con Ethereum. Imparerai cos'è la blockchain, cos'è Ethereum, come lavorano insieme e come puoi usarli come professionista della blockchain.
Su upGrad, ottieni i seguenti corsi blockchain:
Laurea Magistrale in Informatica (offerta di specializzazione in sviluppo blockchain)
upGrad offre questo programma con la Liverpool John Moores University. Dura 19 mesi e offre più di 500 ore di materiale di studio. Durante questo programma, otterrai tutoraggio di gruppo quindicinale con mentori del settore e oltre 30 progetti e incarichi. È un eccellente corso blockchain per persone che provengono da un background non tecnologico.
Richiedi il programma di certificazione avanzato in Blockchain
Questo corso dura 7,5 mesi e ti offre più di 250 ore di apprendimento. Otterrai lo status di alumni IIIT Bangalore e un tutoraggio personalizzato 1:1 da esperti del settore blockchain. Oltre a Ethereum, imparerai anche Hyperledger Fabric, contratti intelligenti e molto altro.
Programma Executive PG in Sviluppo Software - Specializzazione in Blockchain
Questo corso di 13 mesi ti darà una certificazione esecutiva di 4 mesi in Data Science e Machine Learning gratuitamente. Studierai attraverso lezioni dal vivo e sessioni online durante questo programma e imparerai oltre 10 strumenti e linguaggi di programmazione. Inoltre, puoi testare la tua conoscenza di blockchain ed Ethereum
Tutti i corsi di cui sopra richiedono di avere una laurea con il 50% o voti equivalenti. Tieni presente che puoi iscriverti a uno qualsiasi di questi corsi senza alcuna esperienza di programmazione. Imparerai tutte le competenze necessarie per diventare un professionista qualificato.
Conclusione
Ethereum è sicuramente una tecnologia fenomenale. Completando questo tutorial di Ethereum per principianti, hai sicuramente fatto il primo passo verso l'apprendimento di questa tecnologia.
Ethereum Blockchain ha molte altre applicazioni che vale la pena notare. Le carriere nel campo Blockchain sono in aumento poiché ha cambiato il panorama della tecnologia.