Essendo la prossima generazione di blockchain altamente scalabile, Solana ha guadagnato molta attenzione. Ciò è dovuto principalmente alle sue eccellenti prestazioni, che possono gestire migliaia di transazioni al secondo con costi del gas quasi trascurabili. Uno degli elementi chiave della tecnologia avanzata di Solana è il suo ambiente di esecuzione SVM, che include il motore di parallelizzazione Sealevel.

Questo articolo presenta la Solana Virtual Machine (SVM) e come questa infrastruttura innovativa consente alla blockchain di Solana di fornire prestazioni più elevate rispetto alle tradizionali blockchain EVM come Ethereum. Sebbene EVM sia da tempo lo standard di macchina virtuale dominante nel mondo della crittografia, esploreremo anche il modo in cui SVM viene gradualmente ampliato attraverso soluzioni rollup come Nitro ed Eclipse.

Solana Virtual Machine (SVM) e Sealevel

La Solana Virtual Machine, o SVM in breve, è l'ambiente di esecuzione per l'elaborazione di transazioni e contratti/programmi intelligenti sulla rete Solana. Per comprendere meglio SVM, dobbiamo prima capire come funzionano le macchine virtuali in una rete crittografata.

Nel contesto della blockchain, una macchina virtuale (VM) è un software che esegue programmi, più comunemente noti come ambiente runtime, per l'esecuzione di contratti intelligenti di una rete di criptovaluta. Quando viene inviata una transazione, la macchina virtuale della rete è responsabile della sua elaborazione e della gestione dello stato blockchain (lo stato attuale dell'intera rete) interessato dall'esecuzione di questa transazione. Le regole specifiche per la modifica dello stato della rete sono definite dalla macchina virtuale.

Durante l'elaborazione di una transazione, la VM converte il codice del contratto intelligente in un formato che l'hardware del validatore può eseguire. Su Solana, i linguaggi principali per la scrittura di contratti intelligenti sono Rust, C e C++, che vengono compilati nel bytecode BPF tramite la Solana Virtual Machine (SVM), in modo che le transazioni possano essere eseguite in modo efficiente dai nodi di rete (validatori).

I nodi della rete Solana, chiamati validatori, eseguono ciascuno il proprio ambiente di isolamento Solana Virtual Machine (SVM) per mantenere il consenso attraverso la blockchain. Quando uno smart contract viene distribuito (modifica lo stato della rete), comunica le modifiche di stato richieste al runtime. Il runtime Solana inoltra quindi queste modifiche di stato alle istanze SVM in esecuzione in ciascun sistema di validazione e tutti i nodi di validazione ricevono una copia e la traducono, aggiornando così la blockchain. Questa distribuzione delle istanze SVM tra i validatori si traduce in una rete decentralizzata, riducendo il rischio di attacchi DDoS o arresti. Inoltre, questo isolamento garantisce che potenziali bug o vulnerabilità nei contratti intelligenti non compromettano la sicurezza o la stabilità dell’intera rete Solana.

In sintesi, queste istanze SVM possono essere pensate come “microcomputer” che eseguono le operazioni necessarie per aggiornare lo stato della rete Solana in base alle istruzioni fornite dalle transazioni. Mentre molte blockchain oggi si affidano alla Ethereum Virtual Machine (EVM), Solana ha sviluppato la propria macchina virtuale con caratteristiche uniche che forniscono prestazioni migliorate.

Il componente chiave di SVM è Sealevel. Il motore consente l'esecuzione simultanea di più contratti intelligenti senza influire sulle prestazioni reciproche, consentendo il ridimensionamento "orizzontale" all'interno dell'ambiente di esecuzione Solana, un concetto chiamato elaborazione parallela. Ciò è possibile perché i contratti intelligenti di Solana descrivono quali dati (stato) verranno letti o scritti quando eseguiti in fase di runtime. Ciò consente alle transazioni senza conflitti di essere eseguite contemporaneamente, così come a quelle che leggono solo le stesse informazioni. Sealevel consente quindi a SVM di elaborare decine di migliaia di transazioni contemporaneamente, anziché elaborarle una dopo l'altra come l'Ethereum Virtual Machine (EVM).

SVM ed EVM (macchina virtuale Ethereum)

Sebbene EVM e SVM svolgano funzioni simili, Solana VM è più efficiente e veloce. Su EVM, quando un contratto intelligente trasferisce un dollaro dal saldo di un utente, questa transazione viene archiviata nell'archivio del contratto specifico. Questo design crea potenziali problemi se la macchina virtuale Ethereum tenta di elaborare più transazioni in parallelo. Ad esempio, due diversi contratti intelligenti potrebbero tentare di spendere il saldo di un utente contemporaneamente, oppure un altro contratto potrebbe leggere il saldo dello stesso utente durante un aggiornamento, causando incoerenze e conflitti.

Al contrario, il modello di account Solana separa dati come i saldi degli utenti per una migliore organizzazione ed efficienza. Le transazioni su Solana devono inoltre specificare esplicitamente i dati che leggeranno e modificheranno prima di essere eseguite nella SVM. Come accennato in precedenza, ciò consente ai programmi che non interagiscono con gli stessi dati di essere eseguiti contemporaneamente, il che aiuta ad alleviare la congestione e a ridurre le tariffe elevate. Ad esempio, Solana VM può gestire sia Toly che invia $ 1 a Raj sia Armani che invia $ 3 a Chase.

Parte del motivo per cui l'EVM ha difficoltà nell'elaborare più transazioni contemporaneamente è che si tratta di un ambiente runtime "a thread singolo" che può gestire solo un contratto alla volta. Pertanto, il design EVM non sfrutta l’hardware multi-core, il che significa che solo un core nell’hardware del validatore elabora attivamente le transazioni, mentre gli altri core rimangono sottoutilizzati. Ciò si traduce spesso in una congestione della rete e in commissioni di transazione più elevate. Tuttavia, è importante notare che oltre a non avere un runtime multithread, altri fattori possono causare limitazioni EVM, come il desiderio di mantenere bassi i requisiti hardware sui nodi in esecuzione.

Sealevel, d'altro canto, ottimizza le prestazioni del runtime Solana utilizzando in modo efficiente le risorse hardware disponibili. SVM è un ambiente runtime multi-thread progettato per elaborare più transazioni in parallelo utilizzando tutti i core disponibili della macchina di validazione. Ciò consente a Solana di scalare in modo più efficiente man mano che l'hardware del validatore continua a migliorare. Grazie alla sua architettura, Solana VM può anche gestire meglio le commissioni di transazione. Ciò ha portato allo sviluppo di mercati tariffari localizzati, consentendo l’assegnazione delle tariffe sulla base di contratti intelligenti. Al contrario, la catena EVM si basa su un mercato tariffario globale, il che significa che le monete NFT possono influenzare gli swap o le transazioni DeFi, anche se tali transazioni non sono correlate.

Per riassumere, le capacità di elaborazione parallela di SVM consentono a Solana di raggiungere un TPS più elevato, con conseguente velocità di transazione più elevata, e il costo è quasi trascurabile rispetto all’architettura EVM. SVM è posizionato come l’ambiente blockchain di prossima generazione con maggiore efficienza e prestazioni più elevate. Man mano che sempre più sviluppatori se ne rendono conto, stiamo iniziando a vedere una maggiore adozione di SVM come ambiente di esecuzione per contratti intelligenti e si sta formando un ecosistema emergente di aggregazione SVM.

L'ecosistema emergente dei rollup SVM

L'aggregazione è una soluzione di scalabilità della blockchain che elabora le transazioni al di fuori di una blockchain di livello 1 (ad esempio Solana) e quindi pubblica i dati retroattivamente al livello 1. I rollup sono progettati per ridurre la congestione della rete e le commissioni di transazione raggruppando più transazioni insieme per formare una "prova" che viene poi inviata alla catena principale. Il più grande vantaggio della creazione di un rollup è la possibilità di personalizzare completamente la catena. Questa personalizzazione consente una varietà di casi d'uso, come registri degli ordini personalizzati, mempool crittografici per ridurre al minimo il MEV (Miner Extractable Value) o applicazioni autorizzate progettate per soddisfare requisiti specifici.

Le macchine virtuali possono essere utilizzate anche per semplificare il processo di distribuzione per gli sviluppatori su altre catene che utilizzano la stessa VM. Questo effetto di rete avvantaggia notevolmente Ethereum e la sua VM, poiché è il primo ambiente di runtime per contratti intelligenti crittografici. In quanto tale, l’EVM è stato l’ambiente di esecuzione principale per la creazione di blockchain aggregate. Tra i due tipi di rollup, Optimistic e Zk, i rollup Optimistic come Arbitrum sono i più comuni. Recentemente, ci sono stati molti progressi in SVM volti a portare la tecnologia rollup agli sviluppatori Solana. I principali progetti realizzati per Solana sono Nitro ed Eclipse.

Nitro è una soluzione rollup ottimistica, simile ad Arbitrum o Optimism, che sfrutta la Solana Virtual Machine (SVM) per consentire agli sviluppatori Solana di trasferire le proprie dApp su vari ecosistemi. Nitro prevede di lanciarsi prima su Sei, una catena di transazioni specifica del settore basata su Cosmos, prima di espandersi ad altre catene. Utilizza SVM per eseguire transazioni in parallelo, il che significa che gli utenti saranno in grado di eseguire proprio come su Solana, mentre Nitro utilizza Sei per il regolamento e il consenso. Inoltre, man mano che Sei diventa parte dell’ecosistema Cosmos, i progetti di Nitro e i loro utenti potranno beneficiare della tecnologia di interoperabilità IBC e accedere alle risorse e alla liquidità di Cosmos.

Un'altra soluzione di rollup SVM in fase di sviluppo è Eclipse, progettata per facilitare l'implementazione di rollup personalizzabili. I rollup ottimistici di Eclipse consentono ai progetti di creare le proprie catene di applicazioni uniche beneficiando al tempo stesso della sicurezza delle reti consolidate (ad esempio Cosmos Application Chain, Polygon, Ethereum) e sfruttando la Solana Virtual Machine (SVM). SVM funge da ambiente di esecuzione ed Eclipse gestisce la risoluzione, il consenso e la disponibilità dei dati (DA) con la gestione della rete Layer 1 scelta dallo sviluppatore. Attualmente, Eclipse fornisce una soluzione di rollup ottimistico, ma sta anche lavorando al lancio di zk-rollup.

Eclipse ha rilasciato due soluzioni rollup basate su SVM:

  • Polygon SVM: con questo rollup, qualsiasi progetto basato su Solana può essere facilmente distribuito sulla rete Polygon;

  • Cascade: introdotto da Injective ed Eclipse, Cascade è un rollup SVM ottimizzato per l'ecosistema IBC. Permetterà ai progetti Solana di distribuirsi facilmente su Cascade e di accedere alle risorse e alla liquidità di Cosmos AppChain. Inoltre, i progetti su Injective possono ora sfruttare la SVM parallelizzata di Cascade.

Tutte queste soluzioni semplificano l'uso di Solana VM e ne ampliano la portata. Gli utenti di altre catene potranno anche "assaggiare" l'esperienza di parallelizzazione di Solana senza barriere, il che potrebbe portare più persone a riconoscere i vantaggi di SVM, consentendo a più progetti di spostare le proprie dApp su Solana dai suoi vantaggi dall'architettura e aggiungere più utenti .

SVM è l'ambiente blockchain di prossima generazione per gli sviluppatori

Nonostante abbia solo tre anni, Solana ha già dimostrato prestazioni impressionanti e lo sviluppo di soluzioni di estensione come Nitro ed Eclipse oltre alle sue VM, evidenziando il successo della sua architettura di esecuzione innovativa. Solana ha potuto imparare dalle sfide affrontate dalle reti più vecchie come Bitcoin ed Ethereum. Bitcoin non è stato progettato per i contratti intelligenti, il che ha portato alla nascita di Ethereum. Allo stesso modo, Ethereum non era pronto per l’adozione di massa e le transazioni ad alta velocità, aprendo la strada a Solana e all’elaborazione parallela. Inoltre, sta diventando sempre più facile per gli sviluppatori accedere agli ambienti SVM, con Neon Labs che introduce la compatibilità di Solidity con il runtime Solana, nonché l'imminente aggiornamento Runtime v2, che dovrebbe consentire agli sviluppatori di utilizzare più linguaggi di programmazione (ad esempio Move). dApp compatibili.

È chiaro che Solana VM fornisce un ambiente più avanzato per la creazione di applicazioni di prossima generazione. L'elaborazione parallela delle transazioni consente un throughput più elevato. Simile a ciò che è possibile nella finanza tradizionale, consente agli sviluppatori di creare qualsiasi tipo di prodotto senza preoccuparsi di limiti di velocità o commissioni. Costruire on-chain con TPS 15 non porterà all’adozione di massa delle criptovalute. Grazie a SVM e Sealevel, Solana può (già) elaborare migliaia di transazioni senza congestione o commissioni significative sul gas, rendendolo l’ambiente perfetto per costruire queste nuove applicazioni. Con il miglioramento dell’hardware del validatore, il runtime Sealevel di Solana sarà in grado di elaborare più transazioni in parallelo, ampliando il divario tra SVM ed EVM e attirando più utenti.

Squads supporterà le estensioni della Solana Virtual Machine (SVM) e introdurrà funzionalità multi-firma (multisig) nell'intero ecosistema SVM, consentendo a chiunque di gestire la catena utilizzando il miglior ambiente di esecuzione blockchain e la migliore esperienza di self-hosting sulle risorse.