SputnikVM è una delle grandi innovazioni nate dal duro lavoro del team di sviluppo di Ethereum Classic e del suo ETC Labs Core.
LLo scopo dello sviluppo di SputnikVM è creare un nuovo EVM (Ethereum Virtual Machine) per Ethereum Classic.
Per realizzare questo, SputnikVM implementa le funzionalità di EVM Ethereum originale mantenendo la compatibilità. Tuttavia, il design e la codifica sono cambiati per soddisfare gli obiettivi dei suoi sviluppatori: efficienza, portabilità e basso consumo di risorse di calcolo. Grazie a questo, gli sviluppatori mirano a creare una VM in grado di adattarsi e sviluppare nuovi dispositivi IoT abilitato con tecnologia blockchain.
Un altro punto aggiuntivo tra le funzionalità di SputnikVM è la sua compatibilità con altri blockchains. Certamente il progetto è sotto la tutela di Ethereum Classic, ma i suoi sviluppatori hanno deciso di renderlo compatibile anche con Ethereum e altri progetti basati sul tuo codice. Ciò apre la possibilità di utilizzare SputnikVM in altri blockchain, come, Rete PoA.
Senza dubbio, un grande sviluppo con enormi possibilità, soprattutto nei casi industriali, aziendali e domestici.
Caratteristiche di SputnikVM
Tra le caratteristiche più rilevanti di questo progetto, possiamo evidenziare:
- Architettura di esecuzione indipendente. Ciò significa che può essere avviato come processo autonomo o integrato in altre applicazioni, a differenza di EVM che è monolitico. Ciò consente la possibilità di eseguire SputnikVM in un modo più modulare.
- Uno sviluppo universale. SputnikVM ha la capacità di funzionare su diversi blockchain compatibili con la specifica Ethereum EVM. Ciò fornisce la possibilità di utilizzare SputnikVM su altri blockchain supportati. Significa anche che la sua portabilità ad altri progetti compatibili con Ethereum è molto semplice, come nel caso della rete PoA.
- Progettato per essere veloce ed efficiente. SputnikVM vuole essere un'implementazione efficiente di EVM. Ciò cerca di ridurre al minimo l'impatto sull'uso eccessivo di risorse di calcolo e garantire in ogni momento un'esecuzione e una risposta adeguate agli smart contract.
- Compatibile con IoT. Ciò significa che SputnikVM può essere integrato in dispositivi con una potenza di calcolo molto bassa. Ciò cerca di diversificare ed espandere l'ambito di Ethereum Classic in diversi dispositivi, in particolare quelli rivolti all'IoT.
- Scritto in ruggine. Rust è un linguaggio di programmazione incentrato sulla sicurezza e sulle prestazioni. Per questo motivo, SputnikVM può godere di entrambe le funzionalità in modo nativo.
Come funziona SputnikVM?
SputnikVM come qualsiasi macchina virtuale, cerca di creare un file livello di astrazione tra il codice scritto e l'esecuzione di quel codice. Garantendo che sotto qualsiasi concetto, il codice scritto esegua sempre le stesse azioni in qualsiasi scenario di esecuzione. In altre parole, le macchine virtuali cercano di standardizzare e garantire l'elaborazione e l'esecuzione del codice che viene loro fornito. Tutto questo, indipendentemente da altri elementi che fanno parte della piattaforma su cui viene eseguito.
Questo è molto importante nella tecnologia blockchain. Ebbene, questo garantisce un'elevata modularità e resilienza di tutte le parti coinvolte nell'esecuzione di smart contract y DApp.
A questo punto, il funzionamento di SputnikVM non differisce affatto da quello di Ethereum Virtual Machine (EVM). Entrambe le macchine virtuali hanno lo stesso obiettivo: eseguire il codice del contratto intelligente in modo sicuro. Ma per raggiungere questo obiettivo, entrambi utilizzano approcci diversi alla soluzione. A questo punto, non c'è dubbio che EVM sia uno sviluppo eccellente ma la sua struttura lo rende inadatto all'uso in IoT. Per risolvere questi difetti, sono state create diverse implementazioni, di cui SputnikVM è una delle più promettenti.
Ma per capire un po 'di più come funziona SputnikVM, è meglio rivedere alcune delle parti più importanti di esso.
Linguaggio di programmazione
Prima di tutto, SputnikVM può utilizzare il linguaggio di programmazione Solidity o Ruggine per i tuoi contratti intelligenti. Con questo cercano di mantenere la compatibilità con gli smart contract già creati. D'altra parte, la nuova interfaccia in Rust migliora notevolmente la loro efficienza e sicurezza.
Supporto dei codici operativi
I codici operativi o codici operativi, sono a set di istruzioni che servono per eseguire compiti specifici. EVM ha un'ampia varietà di codici operativi. Questi ti consentono di calcolare quasi tutto, con risorse sufficienti. A questo punto, l'approccio di SputnikVM è diverso. Per questo, offre un supporto più piccolo con 75 codici operativi al momento. Lo scopo alla base di questo è offrire un supporto più piccolo ma sufficiente per eseguire contratti intelligenti su dispositivi IoT.
Questo approccio ha due punti positivi:
- Rende la base del codice SputnikVM più semplice e più piccola rispetto a EVM. Ciò semplifica l'esecuzione delle revisioni della portabilità e della sicurezza.
- Riduce al minimo l'utilizzo delle risorse da parte della macchina virtuale, rendendone possibile l'utilizzo su dispositivi con pochissima potenza.
Capacità di funzionare su sistemi embedded
Questa è una delle principali caratteristiche operative di SputnikVM. La capacità di funzionare come parte di un sistema embedded è unica per questo sviluppo. Ciò, ad esempio, consentirebbe a SputnikVM di essere parte integrante di un assieme di sensori su una linea di produzione. Da lì, la macchina virtuale può essere costantemente in esecuzione smart contratto. Verificare che la loro programmazione sia sempre rispettata. Oltre a generare le azioni corrispondenti che vengono quindi archiviate nella blockchain dell'azienda per la revisione e l'audit.
EVM ha certamente capacità simili, ma il suo costo computazionale è molto più alto a causa della sua complessità.
Un chiaro esempio di questa utilità è il progetto SputnikVM su zinco. Rux è un microkernel progettato per i sistemi IoT e che ha la qualità di essere altamente modulare e open source.
Esecuzione parallela
Un'altra grande differenza nel modo in cui funziona SputnikVM è la sua capacità di farlo eseguire attività in parallelo. Ciò fornisce un salto di qualità durante l'esecuzione del codice del contratto intelligente, accelerando il processo. Questo considerando che EVM esegue questo processo in modo sequenziale, che ovviamente ha un impatto negativo sulle prestazioni.
Nonostante ciò, la parallelizzazione in SputnikVM evita di creare rischi per la sicurezza nel trattamento degli stati delle transazioni. Garantire in ogni momento che vengano trattati in modo efficace e senza contrattempi.
Esempio di utilizzo per SputnikVM
I principali casi d'uso di SputnikVM si concentrano principalmente sui dispositivi embedded. Un buon esempio dell'utilità di questo sviluppo può essere il seguente:
Una società di produzione di yogurt ha deciso di avviare una nuova linea di produzione. Tra i suoi requisiti, ha deciso di utilizzare la tecnologia blockchain per monitorare da vicino il controllo di qualità. Per fare ciò, creerà una rete di sensori che alimenterà la blockchain dell'azienda, con misurazioni sulla qualità dell'acqua e del latte, la temperatura dei serbatoi di fermentazione, la concentrazione degli zuccheri e lo stato della fermentazione in ogni momento. Questo al fine di avere un controllo qualità di primo livello, unitamente ad uno storico completo e verificabile delle azioni in detta linea di produzione.
A questo punto, data la semplicità e i bassi requisiti di alimentazione di SputnikVM, può essere integrato in ogni sensore all'interno della linea di produzione. In questo modo si riducono i costi evitando sensori e hardware più elaborati e potenti. Inoltre, una volta che i sensori sono stati programmati con uno smart contract, possono monitorare in ogni momento l'attività a cui sono stati assegnati. Se qualcosa va storto o va bene sulla linea, verrà immutabilmente registrato sulla blockchain. In questo modo, il controllo di qualità dell'azienda migliora notevolmente. Di conseguenza, il prodotto finale manterrà la qualità che l'azienda desidera per i suoi consumatori.
Quanto sai, Cryptonuta?
SputnikVM ha la capacità di cambiare radicalmente l'uso della blockchain nell'IoT?Certo!
La capacità di SputnikVM di integrarsi con dispositivi IoT a basso costo e basso consumo è la sua principale attrazione per l'adozione di massa. Ciò è dovuto al fatto che consente di tokenizzare diversi aspetti aziendali, industriali o domestici, mentre le aziende risparmiano su tali implementazioni. Tutto ciò a causa del basso costo nella progettazione di hardware e software per questo scopo.
Limitazioni di SputnikVM
Nonostante i grandi progressi che SputnikVM rappresenta nel portare la tecnologia blockchain nell'IoT, questo sviluppo ha attualmente diversi limiti, tra cui:
- È in una fase iniziale di sviluppo. Molte delle sue capacità devono ancora essere completamente testate e perfezionate.
- Al momento offre un supporto incompleto per i codici operativi EVM. Questa situazione può portare molti sviluppatori a pensare che SputnikVM non sia adatto ai loro progetti. Tuttavia, lo stato di sviluppo di SputnikVM potrebbe cambiare questo con la maturazione del progetto, solo per offrire compatibilità e supporto al 100%.
- La sua capacità di parallelizzazione è disponibile solo durante la programmazione in Rust. Una situazione che limita lo sviluppo di contratti intelligenti con la possibilità di parallelizzare a questo linguaggio. Solidity ed EVM attualmente non offrono supporto per questa funzione.