Inleiding
Hoewel een besturingssysteem (OS) wederzijds exclusief is in die zin dat het ofwel Windows, MacOS of Linux is, enz., is het soms mogelijk om het ene OS op het andere te draaien. Er is bijvoorbeeld een mogelijkheid om Windows OS op MacOS te draaien, en Android OS op Windows OS. Het doel achter het stapelen van besturingssystemen is om een OS te testen, risicovolle software te isoleren van het host-OS, een oude versie van een OS te draaien of om code te ontwikkelen en te testen op verschillende platforms. Een EVM wordt gebruikt in blockchains omdat het een universele, betrouwbare manier biedt om smart contracts uit te voeren en ervoor zorgt dat elke node in het netwerk transacties op precies dezelfde manier uitvoert.
Wat is een virtuele machine?
Een virtuele machine (VM) is in wezen een andere computer die in je bestaande computer leeft. Met slechts een paar klikken kun je het opzetten zonder extra fysieke hardware nodig te hebben. Eenmaal draaiend, gedraagt het zich als een volwaardige computer. Je kunt een besturingssysteem installeren, bestanden opslaan, applicaties draaien en zelfs op internet surfen, en dit is allemaal mogelijk binnen die virtuele ruimte. In de wereld van cryptocurrencies worden smart contracts op blockchains ontwikkeld en uitgevoerd op virtuele machines. De meest voorkomende hiervan is de Ethereum Virtual Machine (EVM).
Achter de schermen is het je hoofdcomputer, bekend als de host, die dit mogelijk maakt. Om de VM soepel te laten draaien, deelt de host zijn eigen bronnen zoals geheugen, verwerkingskracht en opslag. Deze setup komt van pas wanneer je moet werken met software die alleen draait op een ander besturingssysteem dan degene die op je host is geïnstalleerd.
Hoe een VM werkt
Hoe werkt een virtuele machine eigenlijk? In het centrum van het hele proces staat een speciaal stuk software genaamd een hypervisor. De hypervisor fungeert als een manager, die de fysieke bronnen van je computer beheert. Deze bronnen omvatten componenten zoals de processor (CPU), geheugen (RAM) en opslag. Ze zijn gemaakt om efficiënt te werken in verdeling zodat één of zelfs meerdere virtuele machines tegelijkertijd kunnen draaien.
Er zijn twee manieren waarop hypervisors typisch worden opgezet. Sommige worden direct op de hardware zelf geïnstalleerd, wat verklaart waarom ze vaak worden gevonden in datacenters en cloudomgevingen waar snelheid en efficiëntie het belangrijkst zijn. Andere draaien bovenop je normale besturingssysteem, bijna als elke andere app. Deze zijn meer gebruikelijk voor dagelijks gebruik, testen of ontwikkelingswerk. Je kunt bijvoorbeeld genieten van het Android-ecosysteem op Windows OS door een app als BlueStacks te installeren.
Zodra de hypervisor zijn werk heeft gedaan en je virtuele machine klaar is, kun je het behandelen als een fysieke computer. Je kunt het opstarten, en vervolgens programma's installeren, internet gebruiken, of zelfs applicaties bouwen en draaien, allemaal binnen die virtuele ruimte.
Virtuele machines in blockchain-netwerken
De meeste mensen die blockchain-applicaties gebruiken, staan nooit stil bij de onzichtbare infrastructuur die ervoor zorgt dat alles soepel verloopt. Of je nu tokens uitwisselt op een gedecentraliseerde exchange, een NFT mint, of fondsen verstuurt via een Layer 2 blockchain, een vitaal component doet al het zware werk op de achtergrond. Dat component is de blockchain virtuele machine.
In de traditionele techwereld is een virtuele machine (VM) in wezen een geïsoleerde sandbox. Het stelt ontwikkelaars in staat om software te draaien in een beperkte en gecontroleerde omgeving. Deze software staat los van de onderliggende hardware. Op blockchain-netwerken dienen VM's echter een heel ander doel. Ze fungeren als de uitvoeringsmotoren voor smart contracts, de zelfuitvoerende code-agenten die gedecentraliseerde applicaties in staat stellen om 24/7 soepel te draaien. Zonder VM's zou er geen betrouwbare manier zijn voor duizenden onafhankelijke computers over de hele wereld om het eens te worden over hoe een contract moet worden uitgevoerd.
Ethereum Virtual Machine
De Ethereum Virtual Machine (EVM) is het meest bekende voorbeeld van Blockchain VM's. Talen zoals Solidity, Vyper of Yul kunnen door ontwikkelaars worden gebruikt om contracten te schrijven en ze te implementeren op Ethereum en andere EVM-compatibele blockchains. De EVM zorgt ervoor dat elke node smart contracts op exact dezelfde manier verwerkt, omdat het helpt consistentie en veiligheid in het hele netwerk te behouden.
Andere VM's in de blockchain-wereld
Maar Ethereum is niet de enige blockchain die een virtuele machine heeft. Verschillende blockchain-netwerken ontwerpen hun eigen modellen om doelen te bereiken die specifiek zijn voor hun vereisten. NEAR en Cosmos vertrouwen op WebAssembly-gebaseerde VM's, bekend om hun flexibiliteit. Deze maken het mogelijk om smart contracts te schrijven in verschillende programmeertalen, wat de drempels verlaagt voor ontwikkelaars die niet iets volledig nieuws willen leren. Ondertussen geeft de MoveVM, gebruikt door blockchains zoals Sui, meer belang aan de Move-taal om veiligheid te prioriteren bij de uitvoering van transacties. Solana neemt een andere route met zijn Solana Virtual Machine, geoptimaliseerd om veel transacties tegelijkertijd te verwerken.
Hoewel de meeste gebruikers er nooit direct mee interageren, werken VM's voortdurend op de achtergrond. Wanneer je een token-swap doet op een DeFi-platform zoals Uniswap, voert de EVM het contract uit. Als je een nieuwe NFT mint, werkt de VM het grootboek bij om te laten zien wie het bezit. Zelfs geavanceerde schaaloplossingen zoals zk-rollups zijn afhankelijk van gespecialiseerde VM's zoals zkEVM's, die smart contract uitvoering combineren met cryptografische bewijzen om zowel efficiëntie als veiligheid te verbeteren.
Nadelen van VM's
Toch hebben virtuele machines ook bepaalde nadelen. VM's voeren code uit en beheren smart contracts op geleende componenten, wat processen langzamer maakt in vergelijking met direct op hardware draaien. Operationele complexiteit ontstaat door het onderhouden van VM's op grote netwerken, wat constante updates en gespecialiseerde kennis vereist. Compatibiliteit is een ander nadeel. Een contract geschreven voor Ethereum zal niet draaien op Solana zonder substantiële wijzigingen. Het creëert extra werk voor ontwikkelaars die meerdere ecosystemen willen bereiken.
Ondanks deze uitdagingen blijven blockchain VM's de kern van innovatie in gedecentraliseerde technologie. Ze zijn de onbezongen helden die gebruikers code laten vertrouwen in plaats van tussenpersonen. VM's creëren een wereld van financiële producten, digitaal eigendom en gedecentraliseerde gemeenschappen. Hoewel je ze misschien nooit direct ziet, zijn virtuele machines de stille motoren die de blockchain-economie draaiende houden.
Conclusie
Kortom, virtuele machines blijven misschien onopgemerkt, maar ze spelen een cruciale rol in moderne technologie. Door dingen eenvoudiger en veiliger te maken achter de schermen, helpen ze ons nieuwe soorten computerprogramma's te bouwen en te gebruiken en veranderen ze hoe we informatie vertrouwen en delen. Of ze nu de nieuwste blockchain-tools aandrijven of mensen in staat stellen software in een beschermde ruimte te draaien, VM's blijven zich stilletjes verbeteren. Hun echte kracht ligt in hoe ze alles ondersteunen vanuit de achtergrond, wat laat zien dat veel van wat technologie het beste laat werken vaak onzichtbaar is.
Veelgestelde vragen
Een virtuele machine in blockchain is een uitvoeringsmotor die smart contracts op een veilige en consistente manier uitvoert over alle netwerknodes.
Wat is de Ethereum Virtual Machine (EVM)?De Ethereum Virtual Machine (EVM) is de meest gebruikte blockchain VM die ervoor zorgt dat elk smart contract op dezelfde manier draait op alle Ethereum-compatibele blockchains.
Waarom zijn virtuele machines belangrijk in blockchain?Virtuele machines zijn belangrijk omdat ze gedecentraliseerde applicaties (dApps) betrouwbaar, veilig en consistent laten werken zonder tussenpersonen nodig te hebben.
Bron: https://blockchainreporter.net/virtual-machines-hidden-engines-powering-blockchain/



