Toen Vitalik Buterin Ethereum bedacht, wilde hij de grenzen van blockchaintechnologie verleggen. Hij was geïnspireerd door Bitcoin, maar vond dat de technologie meer moest kunnen dan alleen transacties verwerken. Daarom bouwde hij het blockchainnetwerk Ethereum. Ethereum heeft alle functies van Bitcoin. Het kan peer-to-peer transacties verwerken en opslaan op een onveranderlijke en gedecentraliseerde manier. Het kan ook bepaalde dingen doen die Bitcoin niet kan. Het kan bijvoorbeeld smart contracts uitvoeren.
Maar hoe voert een blockchain een smart contract uit? In het geval van Ethereum is het antwoord de Ethereum Virtual Machine (EVM). De EVM vormt de ruggengraat van de manier waarop het Ethereum-netwerk werkt. In dit artikel bespreken we wat de EVM is, hoe het werkt, de voordelen ervan en de toepassingen. Maar voordat we hier dieper op ingaan, laten we even kort stilstaan bij smart contracts.
TL;DR
Vitalik Buterin heeft Ethereum gemaakt om smart contracts te introduceren. Deze zelfuitvoerende contracten worden uitgevoerd op de Ethereum Virtual Machine (EVM).
De EVM is software waarmee smart contracts kunnen worden uitgevoerd en geïmplementeerd op het Ethereum-netwerk.
EVM verwerkt transacties in twee toestanden: de ‘world state’ (accountsaldi en smart contracts) en de ‘machine state’ (het uitvoeren van transactiestappen).
Smart contracts worden geschreven in Solidity en gecompileerd in bytecode. De EVM voert ze uit. Gaskosten zorgen voor veiligheid en voorkomen dat mensen het systeem misbruiken.
De impact van de EVM zie je bijvoorbeeld bij ERC-20-tokens, gedecentraliseerde beurzen, NFT's, DeFi-leningen en DAO's.
Wat zijn smart contracts?
Smart contracts zijn computerprogramma's of applicaties die zelfstandig draaien op een blockchainnetwerk. Ze bestaan uit stukjes code die ontwikkelaars gebruiken om specifieke instructies uit te voeren. Gebruikers hebben geen controle over smart contracts, want ze worden precies uitgevoerd zoals ze geprogrammeerd zijn.
Ethereum was het eerste blockchainnetwerk dat smart contracts introduceerde. Er zijn nu miljoenen smart contracts geschreven en actief op de Ethereum-blockchain. De EVM speelde een cruciale rol in dit succes.
Wat is de Ethereum Virtual Machine (EVM)?
De EVM is ingebouwd in het hart van het protocol. Zoals de naam al zegt, is de EVM een virtuele machine of digitale software die het Ethereum-netwerk aandrijft. Software voor virtuele machines kan programma's uitvoeren, data opslaan, verbinding maken met netwerken en andere computertaken uitvoeren. Het is ook verantwoordelijk voor het uitvoeren en implementeren van de code van smart contracts.
Hoe het werkt
Omdat Ethereum meer doet dan alleen peer-to-peer transacties verwerken, heeft het een complex systeem nodig voor berekeningen. Daarom noemen Ethereum-ontwikkelaars het netwerk geen gedistribueerd grootboek, maar een ‘unbound state machine’. Dat is in het kort hoe de EVM werkt. Het Ethereum-netwerk bestaat dus uit twee ‘states’: een 'world state’ en een 'machine state'.
World state
De world state is waar Ethereum de accountsaldo's en smart contracts opslaat. Net als het Bitcoin-grootboek is het gedecentraliseerd, onveranderlijk en online toegankelijk voor iedereen. De EVM werkt deze laag elke keer bij als een transactie wordt voltooid. Dat betekent dat iedereen met een blokverkenner de Ethereum-blockchain kan bekijken en dezelfde data in realtime kan zien.
Machine state
De machine state is waar de EVM de transacties stap voor stap verwerkt. Het wordt ook wel de sandbox van Ethereum voor ontwikkelaars genoemd. Het Ethereum-netwerk verwerkt twee soorten transacties. De eerste is de ‘message call’: wanneer een account ETH-tokens naar een ander overmaakt. In dit geval verplaatst de EVM de ETH-tokens van het ene wallet-adres naar het andere. Vervolgens wordt de transactie bijgewerkt in de world state. De afzender betaalt gaskosten voor de berekeningen die nodig zijn om de transactie te versturen.
De tweede soort transactie heet ‘contract creation’. Dit gebeurt wanneer een ontwikkelaar een smart contract op Ethereum wil uitvoeren. In dit geval betaalt de afzender gaskosten en voert deze een ‘Smart Contract bytecode’ in.
De programmeertaal Solidity
De meest gebruikte computertaal voor het maken van Ethereum smart contracts is Solidity. Net als Javascript is het een high-level taal die geschikt is voor mensen, maar computers begrijpen het niet. Daarom moeten ontwikkelaars, nadat ze een smart contract in Solidity hebben geschreven, het vertalen naar machinetaal of bytecodes met behulp van een Ethereum Virtual Machine-compiler, zoals solc.
Uitvoering van smart contracts
Terwijl de EVM de code uitvoert, neemt de gasvoorraad af, afhankelijk van de gaskosten van de uitgevoerde berekeningen. Als de gasvoorraad op enig moment nul wordt voordat de transactie is voltooid, stopt de EVM onmiddellijk. De transactie wordt afgebroken en de world state verandert niet. Het netwerk wordt niet beïnvloed, maar het ETH-saldo van de afzender daalt om de berekeningen te betalen die zijn gebruikt om de code tot het stoppunt uit te voeren. Als de uitvoering succesvol wordt voltooid, werkt de EVM de world state bij zodat deze overeenkomt met de versie van de machine state.
Ethereum-gaskosten
Zoals we hierboven kunnen zien, spelen gaskosteneen cruciale rol bij het verwerken van transacties op de Ethereum-blockchain. Toen Ethereum het Proof of Work (PoW)-consensusmechanisme gebruikte, vereiste het verwerken van een transactie hardware en elektriciteit, en hadden miners prikkels nodig om hun taken uit te voeren. Bij het verwerken van ETH-tokenoverdrachten variëren de gaskosten afhankelijk van de drukte in de pool.
Bij het uitvoeren van smart contracts spelen gaskosten een andere rol. Op het moment van uitvoering worden Smart Contract bytecodes opgesplitst in kleinere stukjes, genaamd ‘opcodes'. Opcodes zijn een afkorting van Operational Codes en zijn de instructies die de EVM gebruikt om berekeningen uit te voeren. Aan elke opcode worden gaskosten toegewezen: hoe complexer de opcode, hoe hoger de kosten. Deze stap is essentieel om de Ethereum-blockchain te beschermen tegen kwaadaardige aanvallen. Als een gebruiker bijvoorbeeld een DDos-aanval uitvoert, blijft de EVM het smart contract uitvoeren in de machine state. Het brengt gaskostenin rekening voor elke berekening, en wanneer de afzender geen gas meer heeft, wordt de transactie afgebroken.
Wat zijn de voordelen van EVM?
Zoals hierboven beschreven, voorkomt de EVM dat kwaadwillenden het netwerk aanvallen. Daarom maakt het de uitvoering van smart contracts en andere geautomatiseerde diensten mogelijk op een veilig en betrouwbaar platform.
Het Ethereum-netwerk is op het moment van schrijven het grootste crypto-ecosysteem. Bovendien wordt het beschouwd als de gouden standaard voor het maken van gedecentraliseerde applicaties (Dapps) en het implementeren van smart contracts. Veel andere blockchains hebben sidechains gemaakt waarmee Ethereum-ontwikkelaars hun applicaties kunnen overzetten zonder de code te wijzigen.
EVM is ook gedecentraliseerd, wat betekent dat iedereen zonder toestemming een smart contract op Ethereum kan maken. Het geeft ontwikkelaars ook de mogelijkheid om gedecentraliseerde diensten en applicaties te bouwen en te implementeren, wat onlangs enorm populair is geworden.
Gebruikssituaties voor EVM
Dankzij de Ethereum Virtual Machine die smart contracts uitvoert, zijn er veel nieuwe uitvindingen naar de blockchainwereld gekomen. Hier zijn de vijf beste toepassingen van EVM:
ERC-20-tokens
ERC-20-tokens worden gegenereerd door smart contracts met behulp van vooraf gedefinieerde datastructuren. De datastructuur is verantwoordelijk voor het geven van een naam aan de token, het distribueren en het bijhouden ervan. In 2017, toen initial coin offerings (ICO's) populair waren, werden veel nieuwe cryptocurrency’s gelanceerd met behulp van ERC-20-tokens. Tegenwoordig worden ECR-20-tokens het beste gebruikt voor stablecoins, zoals USDT.
Gedecentraliseerde beurzen (DEX'en)
Op gedecentraliseerde beurzen (DEX'en) kunnen gebruikers crypto kopen, verkopen en verhandelen door smart contracts in te zetten. Beurzen zoals Uniswap en ShushiSwap gebruiken ook applicaties voor automated market makers (AMM's), zodat gebruikers gebruik kunnen maken van de liquiditeitspools van tokens zonder tussenkomst van derden.
NFT's
Non-fungible tokens (NFTs) zijn digitale artefacten die zijn opgeslagen op de blockchain. Ze verifiëren eigendom en kunnen niet worden gekopieerd. Blockchain-enthousiastelingen gebruiken smart contracts om NFT-collecties te maken en te minten. Enkele van de duurste NFT-collecties zijn de Bored Ape Yacht Club (BAYC) en Cryptopunks. Eigenaren kunnen hun NFT's overdragen of verhandelen op marktplaatsen zoals OpenSea.
DeFi-leningen
Lenen met decentralized finance (DeFi) is mogelijk op platforms waarop gebruikers cryptocurrency’s kunnen lenen of uitlenen zonder een derde partij te gebruiken. Smart contracts regelen de protocollen voor lenen en uitlenen. Leningen worden onmiddellijk aan leners verstrekt en kredietverstrekkers ontvangen soms dagelijks rente.
Gedecentraliseerde autonome organisaties
Een gedecentraliseerde autonome organisatie (DAO) is een gemeenschappelijke entiteit zonder centrale autoriteit. In DAO's nemen individuele leden gezamenlijk bestuursbeslissingen over het project. De regels van een DAO worden vastgesteld door kernleden van de community en geïmplementeerd via smart contracts.
Beperkingen van EVM
De EVM heeft twee belangrijke beperkingen. Ten eerste vereist het dat gebruikers Solidity kennen en kunnen programmeren. Veel mensen hebben hulp nodig bij het programmeren, waardoor het voor nieuwe gebruikers lastig is om smart contracts te maken en ermee te werken.
De tweede beperking is dat de gaskosten heel duur kunnen worden bij het maken van een smart contract of het implementeren van een Ethereum-netwerkapplicatie.
Welke cryptocurrency's zijn compatibel met EVM?
EVM-compatibele blockchains zijn een eenvoudige oplossing voor het probleem van dure gaskosten. Ontwikkelaars hebben bepaalde onderdelen van het Ethereum-netwerk geleend en DApps gemaakt waarmee gebruikers snel en makkelijk assets kunnen verplaatsen tussen verschillende EVM-netwerken. Veel van de populairste blockchains die vandaag de dag worden gebruikt, volgen deze EVM-compatibele aanpak, met name:
Binance Smart Chain
Avalanche
Fantom
Cardano
Polygon
Tron
De toekomst van EVM
Voortbouwend op de basis van Bitcoin, is Vitalik Buterins visie om een gedecentraliseerde supercomputer te creëren die virtueel voor iedereen toegankelijk is. De Ethereum Virtual Machine heeft een grote rol gespeeld in het realiseren van die visie. Sinds zijn ontstaan heeft de EVM verschillende upgrades gehad en blijft het verder ontwikkeld worden.
De Dencun-upgrade introduceerde EIP-4844, wat proto-danksharding naar Ethereum bracht. Dit verlaagt de gaskosten aanzienlijk doordat het netwerk Layer-2 transactiegegevens efficiënter kan verwerken. Proto-danksharding wordt ondersteund door een nieuw datatype genaamd blobs, die van de blockchain worden verwijderd in plaats van permanent te worden opgeslagen. Daarnaast heeft EIP-4788 (ook onderdeel van de Dencun-upgrade) geholpen om de interoperabiliteit te verbeteren door de EVM direct toegang te geven tot de status van de Beacon Chain. Dit is essentieel voor protocollen zoals liquid staking en cross-chain interacties. De Dencun-upgrade is in maart 2024 voltooid.
Vooruitkijkend legt de roadmap van Ethereum de nadruk op schaalbaarheid door middel van rollups, waarbij zero-knowledge EVM's (zkEVM's) een cruciale rol spelen. Met zkEVM's zijn efficiënte off-chain transactieverwerking mogelijk met behoud van compatibiliteit met Ethereum, waardoor de schaalbaarheid wordt verbeterd.
Tot slot
De Ethereum Virtual Machine is onderdeel van de fundamentele infrastructuur van het Ethereum-netwerk. Het is essentieel om smart contracts op de blockchain te laten draaien, waarbij de software verantwoordelijk is voor het uitvoeren van meerdere computertaken. Naast de operationele functie beschermt de EVM het netwerk door aanvallen te helpen voorkomen, en ondersteunt het een veilig, veerkrachtig en gedecentraliseerd platform waarop ontwikkelaars kunnen bouwen.
Wil je meer weten over het evoluerende Ethereum-netwerk? Bekijk onze gids over de Blast Layer-2 die native yield biedt, en lees meer over Curve Finance, de gedecentraliseerde beurs voor stablecoins die is gebouwd op Ethereum.
© 2024 OKX. Dit artikel mag in zijn geheel worden gereproduceerd of gedistribueerd, of uittreksels van 100 woorden of minder van dit artikel mogen worden gebruikt, mits dit gebruik niet commercieel is. Bij elke reproductie of verspreiding van het hele artikel moet ook duidelijk worden vermeld: "Dit artikel is © 2024 OKX en wordt gebruikt met toestemming." Toegestane uittreksels moeten de naam van het artikel vermelden en toeschrijving bevatten, bijvoorbeeld "Naam artikel, [naam auteur indien toepasselijk], © 2024 OKX." Afgeleide werken of ander gebruik van dit artikel zijn niet toegestaan.