Virtual machine
Een virtual machine, vaak VM genoemd, is software die werkt als een computer of als een omgeving voor programmacode. In crypto voert zo'n omgeving smart contracts volgens vaste regels uit.
Wat is een virtual machine?
Er zijn twee hoofdsoorten. Een systeemgerichte VM is een virtuele computer met een eigen besturingssysteem. Meerdere van zulke virtuele computers kunnen dezelfde fysieke computer delen.
Een procesgerichte VM is geen complete computer. Het is vooral een vaste omgeving waarin programmacode draait. De regels van die omgeving bepalen wat de code wel en niet kan doen.
Binnen crypto lijkt een VM meestal op dit tweede type. De Ethereum Virtual Machine, of EVM, voert bijvoorbeeld smart contracts uit. Een smart contract is code die automatisch een vooraf vastgelegde taak uitvoert.
Een voorbeeld van een virtual machine
Iemand stuurt een transactie naar een smart contract om tokens te versturen. De EVM voert dan de code van dat contract uit.
De VM controleert de voorwaarden in de code. Als alles klopt, kan het contract de opgeslagen saldi aanpassen. Voor dit rekenwerk gebruikt de transactie gas.
Waarom zijn virtual machines belangrijk in crypto?
Een blockchain-VM zorgt dat verschillende nodes, oftewel computers in het netwerk, dezelfde code op dezelfde manier uitvoeren. Daardoor hoort dezelfde invoer steeds dezelfde uitkomst te geven.
In berichten over Ethereum, smart contracts of andere programmeerbare blockchains kun je daarom termen als VM of EVM tegenkomen. Dat betekent dat het netwerk code kan uitvoeren, en dus meer kan doen dan alleen crypto versturen.
Een VM en consensus hebben verschillende taken. De VM bepaalt wat een transactie technisch doet. Consensus zorgt ervoor dat het netwerk het eens wordt over welke transacties en uitkomsten worden geaccepteerd. Berekeningen en opslag in blockchain-VM's zijn bovendien beperkt en kunnen kosten veroorzaken.