Ethereum Virtual Machine (EVM) spiegata

cos'è evm

Cos’è la Ethereum Virtual Machine (EVM)?

La Ethereum Virtual Machine (EVM) è un sistema decentralizzato che esegue smart contract e transazioni sulla blockchain di Ethereum. L’EVM è una macchina virtuale, il che significa che è un sistema informatico che non esiste fisicamente. Non c’è un grande computer in una sala server che la gestisce — invece, l’EVM funziona digitalmente, alimentata da migliaia di nodi (validatori) sparsi in tutto il mondo. Chiunque può partecipare e aiutare a far funzionare la rete come nodo. Questo rende il sistema decentralizzato, affidabile e sicuro. L’EVM è una parte fondamentale della rete perché permette agli sviluppatori di costruire nuove app decentralizzate (dApp).

Una cosa interessante della macchina virtuale di Ethereum è che è una macchina Turing-completa. Una macchina di Turing è un modello teorico che descrive cosa può calcolare un computer o un algoritmo. A differenza dei computer normali, le macchine di Turing sono considerate con memoria illimitata e, poiché qualsiasi computer può eseguire una macchina di Turing, l’EVM può praticamente funzionare su qualsiasi computer.


In breve

  • La Ethereum Virtual Machine (EVM) esegue tutti gli smart contract e le transazioni sulla rete Ethereum.
  • L’EVM è un computer virtuale e decentralizzato gestito da migliaia di nodi in tutto il mondo.
  • Gli smart contract sono scritti in linguaggi come Solidity e poi compilati in bytecode che l’EVM può capire.
  • Essendo Turing-completa, l’EVM permette di sviluppare applicazioni decentralizzate (dApp) complesse.
  • L’EVM ha un ruolo chiave nel tenere traccia dello stato della rete, come quali smart contract esistono e i risultati delle interazioni con essi.

Come funziona la Ethereum Virtual Machine (EVM)?

La Ethereum Virtual Machine (EVM) funziona convertendo gli smart contract in bytecode. Questo è un linguaggio di programmazione che l’EVM capisce. Il bytecode è anche un linguaggio compreso da molti sistemi operativi, il che lo rende molto pratico. Ciò permette ai nodi di tutto il mondo di comprendere facilmente il contenuto degli smart contract, che originariamente sono scritti in un linguaggio più complesso (cioè Solidity). Tutti gli smart contract creati con l’EVM sono memorizzati sulla blockchain di Ethereum.

Ecco come funziona il bytecode: quando un utente vuole interagire con uno smart contract, invia una transazione all’indirizzo del contratto. La transazione include il bytecode insieme alla funzione che l’utente vuole richiamare. L’EVM legge quindi il bytecode ed esegue la funzione.

Tutto ciò che accade con l’EVM consuma potenza computazionale. Questa potenza è fornita dai nodi della rete che hanno messo in staking Ethereum (staking). Essi garantiscono l’esecuzione delle transazioni. Per evitare abusi della rete, gli utenti pagano delle gas fee, che sono come un carburante virtuale per eseguire una transazione. Le gas fee sono pagate in Ether (ETH) e ricompensano i validatori. L’ammontare delle gas fee dipende, tra le altre cose, dalla complessità della transazione: inviare ETH è meno complesso che creare un nuovo smart contract.

Mantenere il database di Ethereum

Oltre a eseguire transazioni e smart contract, la Ethereum Virtual Machine ha anche il compito di mantenere il database della rete Ethereum, chiamato anche “stato” (state). Lo stato registra quali smart contract esistono, la distribuzione dei token tra tutti i wallet ETH e tutte le transazioni. Lo stato cambia continuamente perché ogni transazione viene salvata nel database dall’EVM, in collaborazione con i nodi che verificano che le modifiche siano corrette.

L’Ethereum Virtual Machine come macchina basata su stack

Se guardiamo più in dettaglio al funzionamento dell’EVM, vediamo che opera come una macchina basata su stack. Questo significa che durante l’esecuzione delle istruzioni, l’EVM memorizza temporaneamente le informazioni su uno stack.

Questi dati vengono elaborati subito durante l’esecuzione e sono pensati per un uso a breve termine. Inoltre, l’EVM utilizza memoria temporanea per ricordare dati extra durante l’esecuzione, che vengono poi cancellati al termine.

I risultati permanenti delle transazioni e delle interazioni con gli smart contract — come modifiche nei wallet, nei contratti e nel loro codice — vengono salvati nella memoria permanente di Ethereum. Questa fa parte della blockchain mantenuta da tutti i nodi.

Perché l’EVM è importante?

La Ethereum Virtual Machine è fondamentale per la blockchain di Ethereum perché garantisce che venga raggiunto il consenso tra i nodi. Questi sono i validatori della rete, che usano l’EVM per stabilire in modo decentralizzato se una transazione o uno smart contract è valido e affidabile.

Inoltre, l’EVM rende possibile la creazione di nuove applicazioni decentralizzate (dApp) tramite l’esecuzione di smart contract. Le dApp ampliano l’ecosistema di Ethereum con nuovi progetti di DeFi e NFT, tra gli altri.

L’Ethereum Virtual Machine (EVM) è usata da altre blockchain?

La rete Ethereum non è l’unica blockchain a usare l’Ethereum Virtual Machine. Altre blockchain usano l’EVM, una sua variante o sono compatibili con essa. Ecco alcune:

  • Ethereum: La blockchain EVM originale e più grande.
  • Binance Smart Chain (BSC): Compatibile con EVM, nota per velocità e basse gas fee.
  • Polygon (Matic): Una soluzione layer 2 su Ethereum che usa l’EVM e si concentra sulla scalabilità.
  • Avalanche (C Chain): Supporta l’EVM, permettendo agli smart contract Ethereum di migrare facilmente.
  • Harmony: Supporta l’EVM, consentendo l’esecuzione di smart contract Ethereum come sulla rete originale.
  • Arbitrum: Come Polygon, è una soluzione layer 2 per migliorare la scalabilità e ridurre i costi.
  • Moonbeam / Moonriver: Rispettivamente su Polkadot e Kusama, pienamente compatibili con EVM, permettono di trasferire smart contract esistenti senza modifiche.

Futuro della Ethereum Virtual Machine (EVM)

L’EVM è cruciale per Ethereum e molte blockchain compatibili.
Le soluzioni layer 2 e le blockchain che puntano all’interoperabilità cross-chain spesso usano l’EVM o una sua variante, perché l’ecosistema Ethereum ha un ruolo enorme nel mercato crypto. Finché Ethereum resta popolare e gli sviluppatori di dApp continueranno a usare l’EVM, essa avrà un ruolo chiave.

Lo sviluppo dell’EVM è in corso: la community di Ethereum lavora costantemente per migliorarla.

Inoltre, stanno emergendo sempre più soluzioni layer 2 basate su EVM, come le zk rollup, che rendono l’ecosistema Ethereum più scalabile, veloce ed economico.

Vantaggi e svantaggi dell’EVM

Vantaggi dell’EVM Svantaggi dell’EVM
Decentralizzazione: La natura decentralizzata dell’EVM dà grande libertà agli sviluppatori e rende la rete resistente alla manipolazione. Scalabilità: L’EVM su Ethereum dipende dalla velocità e scalabilità di Ethereum, nota per essere lenta e causare alte gas fee nei momenti di congestione.
Trasparenza: La rete Ethereum e quindi l’EVM sono open source e trasparenti. Tutti possono vedere il database, le transazioni, i wallet e gli smart contract. Complessità: L’EVM usa Solidity per sviluppare smart contract, un linguaggio nuovo che richiede tempo per impararlo.
Sicurezza: La blockchain di Ethereum è considerata sicura grazie al meccanismo di consenso convalidato dai nodi. Gli smart contract creati con l’EVM beneficiano di questa sicurezza. Rischi di sicurezza: Nonostante l’EVM sia sicura, errori o bug negli smart contract possono portare a exploit.
Programmabilità: Essendo Turing-completa, l’EVM è un programma che quasi ogni computer può capire, ideale per sviluppare nuove dApp.

In conclusione

La Ethereum Virtual Machine (EVM) è essenziale per il funzionamento di Ethereum e ha un ruolo centrale nell’esecuzione di smart contract e nella creazione di dApp. Essendo decentralizzata e gestita da migliaia di nodi, è affidabile, sicura e trasparente.

L’EVM è compatibile con molte altre blockchain e soluzioni layer 2, permettendo agli sviluppatori di spostare o espandere facilmente i propri progetti.

Inoltre, l’EVM continua a evolversi. Con l’arrivo di soluzioni come le zk rollup, la rete diventa più scalabile e veloce. Finché l’ecosistema Ethereum cresce e gli sviluppatori continuano a costruire con l’EVM, questa macchina virtuale resterà un elemento indispensabile nel mondo delle crypto e del Web3.

Chi è Finst

Finst è uno dei principali fornitori di criptovalute nei Paesi Bassi e offre una piattaforma di investimento di alto livello insieme a standard di sicurezza di livello istituzionale e commissioni di trading ultra basse. Finst è guidata dall'ex team principale di DEGIRO ed è autorizzata come prestatore di servizi per le cripto-attività (CASP) dall'Autorità olandese per i mercati finanziari (AFM). Finst offre un set completo di servizi per le cripto-attività, inclusi trading, custodia, on/off ramp fiat e staking sia per investitori retail che istituzionali.

La piattaforma cripto che amerai

Siamo qui per darti strumenti, ispirazione e supporto per diventare un investitore migliore.