Che cos’è la Ethereum Virtual Machine (EVM)?

Potresti aver già sentito parlare di Ethereum (ETH), la seconda criptovaluta più grande per capitalizzazione di mercato. E se usi i termini ETH ed Ethereum in modo intercambiabile nelle conversazioni, non sei assolutamente il solo. Ma c’è una distinzione essenziale da fare tra ETH, la cripto, ed Ethereum, la rete. Come con la maggior parte delle criptovalute, Ethereum rappresenta sia una risorsa digitale che una blockchain. La rete Ethereum è una blockchain progettata per gli smart contract. Mentre la valuta digitale ETH ne è la criptovaluta di riferimento. Gli sviluppatori possono creare programmi utilizzando contratti intelligenti per tutta una serie di scopi, incluso l’utilizzo di applicazioni decentralizzate, e sono in grado di farlo proprio grazie alla cd. “Ethereum Virtual Machine (EVM)”.

Il concetto di Ethereum Virtual Machine (EVM)

Ethereum Virtual Machine è la piattaforma software che gli sviluppatori possono utilizzare per creare applicazioni decentralizzate (DApp) su Ethereum. Questa macchina virtuale è il luogo in cui risiedono tutti gli account Ethereum e gli smart contract della rete.

La Ethereum EVM elimina ogni necessità di hardware potente ed è pensata per essere adatta anche ai programmatori principianti. Detto questo, una comprensione più approfondita della macchina virtuale Ethereum e del codice EVM richiederebbe la conoscenza di termini informatici spicifici quali: memoria, byte e stack, oltre che di concetti blockchain come proof of work , Merkle Tree e funzioni hash. In questo articolo tratteremo le basi dell’EVM e come funziona.

 

Qual è lo scopo della macchina virtuale di Ethereum?

Lo scopo dell’EVM è determinare quale sarà lo stato generale di Ethereum per ogni blocco nella blockchain.

Ethereum è molto simile ad altre reti basate su blockchain in quanto ha una propria criptovaluta nativa (ETH) ed in quanto utilizza un registro distribuito per mantenere un database di transazioni applicando regole specifiche su come le persone possano operare sulla rete. Tuttavia, Ethereum ha un ulteriore livello di funzionamento grazie alla sua capacità di creare contratti intelligenti.

Questo secondo livello è stato definito come “macchina a stati distribuiti”. Al livello più semplice, lo stato di Ethereum è un grande database che contiene tutti i conti ed i saldi di ETH. Allo stesso tempo però, lo stato di Ethereum è anche uno “stato macchina”, in grado di cambiare ad ogni nuovo blocco, secondo un insieme di regole predefinite per eseguire qualsiasi tipo di codice. Le regole specifiche che determinano il modo in cui la macchina cambierà stato durante ogni nuovo blocco sono definite dalla macchina virtuale di Ethereum.

 

Cenni sugli smart contract

Gli smart contract sono programmi che girano sulla blockchain di Ethereum. Il contratto è una raccolta di dati e codici che risiedono su di un indirizzo Ethereum. Uno smart contract esiste come account su Ethereum, e come gli altri account, ha la possibilità di inviare transazioni sulla rete. Tuttavia, invece di essere account controllati da un utente, i contratti intelligenti funzionano automaticamente in base al modo in cui sono stati programmati.

Tutti i contratti intelligenti condividono alcuni attributi specifici: applicano regole predeterminate attraverso il loro codice, non possono essere eliminati, e le transazioni con essi non possono essere annullate una volta confermate nella blockchain.

 

Il ruolo del “gas” su Ethereum

Ogni azione intrapresa su Ethereum rappresenta una transazione in ETH. Le transazioni richiedono come ben sappiamo delle commissioni. Su Ethereum, le commissioni sono indicate con il nome di Gas, il quale alimenta anche le applicazioni decentralizzate.

Durante i periodi di elevata attività della rete, con molte transazioni in corso contemporaneamente, le commissioni del gas tendono ad aumentare. A volte, può costare finanche 10 o 20 Euro in ETH per effettuare una semplice transazione; circostanza che questo settore ha sperimentato in molte occasioni.

 

Vantaggi e svantaggi della Ethereum Virtual Machine (evm)

L’EVM consente a chiunque di creare la propria DApp. Esistono infiniti potenziali casi d’uso per questo tipo di software e la tecnologia non è limitata ad un determinato gruppo di persone o a coloro che hanno molti soldi o risorse. Ci sono molti potenziali vantaggi che viaggiano a braccetto con i contratti intelligenti. Un esempio recente sarebbero i token non fungibili (NFT): creando NFT, chiunque può creare arte digitale e venderla su di un mercato decentralizzato. E questo democratizza l’accesso al mercato dell’arte in modo virtuale, cosa che prima non era possibile.

Per quanto concerne gli svantaggi si può dire che la rete EVM non sia ancora completamente decentralizzata. La stragrande maggioranza dei nodi Ethereum viene ospitata su server cloud centralizzati come lo sono quelli di Amazon Web Services. Se i proprietari di tali servizi decidessero dunque di abbandonare Ethereum per qualunque motivo, i nodi potrebbero essere facilmente chiusi, danneggiando o distruggendo la rete. Questo è già successo con alcune app di social media, ad esempio. Anche le tariffe gas elevate nei periodi di congestione della rete sono un crucio della EVM, e possono rappresentare un grande svantaggio per gli utenti di Ethereum. Mentre magari coloro che inviano transazioni di grandi dimensioni potrebbero non essere interessati a quanto incida nel totale una commissione di tal rilievo, chiunque tenti di inviare transazioni più piccole potrebbe non essere in grado di utilizzare la rete per un certo periodo salvo dover sostenere costi che annullano ogni beneficio dell’operazione. In particolare, questo crea diversi problemi alle applicazioni decentralizzate. Quando molti utenti interagiscono con i contratti intelligenti delle DApp e creano molte transazioni, le cose possono rallentare fino addirittura a smettere di funzionare a causa delle tariffe di gas troppo elevate.

 

Casi d’uso dell’EVM

Ora che abbiamo coperto ciascuno degli elementi chiave dell’EVM, diamo un’occhiata a come queste parti si uniscano per aiutare a potenziare i progetti su Ethereum.

 

Token ERC-20 

I token ERC-20 sono gettoni digitali che possono essere trasferiti tra utenti della piattaforma Ethereum, e  che hanno un importo fisso in quanto il loro valore è lo stesso in tutta la rete. Gli smart contract vengono utilizzati per creare tali token ERC-20. Diverse applicazioni e progetti utilizzano i token ERC-20 per incentivare gli utenti a determinate attività. Nexus Mutual, assicurazione decentralizzata sugli smart contract, ad esempio, utilizza il token NXM per consentire agli utenti di acquistare coperture ed effettuare reclami.

 

Exchange decentralizzati 

Un exchange decentralizzato distribuisce contratti intelligenti per consentire agli utenti di scambiare token ERC-20. Questi contratti intelligenti sono chiamati Automated Market Makers (AMM) perché consentono agli utenti di contribuire ai pool di liquidità di determinati token senza che terze parti li controllino. Alcuni degli exchange più popolari come Uniswap e SushiSwap sono applicazioni pratiche di questo modello AMM.

 

Token ERC-721 

L’altro standard di token che è ampiamente popolare su Ethereum è il cugino “non fungibile” di ERC-20: l’ERC-721. Questi contratti intelligenti vengono utilizzati per coniare NFT (token non fungibili) i quali vedono nella creazione di opere d’arte digitali il più grande caso d’uso odierno. Altri progetti nel settore dei videogames come Axie Infinity e God’s Unchained utilizzano tali gettoni per rappresentare oggetti da collezione unici all’interno del gioco.

 

Ethereum Virtual Machine ed oltre

L’EVM rende Ethereum una piattaforma multifunzionale e non solo una blockchain. Tuttavia, l’EVM non è un sistema perfetto, in quanto ci sono ancora molte sfide relative alla velocità delle transazioni ed al throughput effettivo della rete. Questa è un’area di grande interesse per la comunità e per il team di sviluppo di Ethereum. Se Ethereum vorrà mantenere le proprie promesse e rivoluzionare il modo in cui effettuiamo transazioni tra di noi, sarà sicuramente grazie ai futuri miglioramenti dell’EVM.

Articolo precedente

Zilliqa, la recensione del 2022

Articolo successivo

Binance USD (BUSD), la recensione del 2022