De Ethereum Virtual Machine (EVM) is waar het Ethereum-netwerk om draait. Ethereum is een open source-tool die de manier heeft veranderd waarop blockchain-technologie wordt gebruikt. Ook al werkt EVM alleen met het Ethereum-netwerk, het is van belang voor meer dan alleen dat netwerk. Vanaf nu willen de meeste blockchain-netwerken compatibel zijn met EVM, vooral vanwege de groeiende gemeenschap van codeerders en gedecentraliseerde apps (dApps). Dit artikel gaat gedetailleerd in op wat de Ethereum Virtual Machine is, hoe deze werkt en wat de voordelen ervan zijn.
Ethereum Definitie van virtuele machines
Als omgeving voor het uitvoeren van slimme contracten en gedecentraliseerde apps (dApps) is de Ethereum Virtual Machine (EVM) een belangrijk onderdeel van het Ethereum blockchain-platform. Het werkt als een autonome computer en is verbonden met het Ethereum-netwerk over de hele wereld. De EVM is verantwoordelijk voor het uitvoeren van code die is geschreven in Solidity, de moedertaal van Ethereum, of andere talen die ermee werken.
Een Turing-complete, sandbox-verwerkingsomgeving is de kern van de EVM. Het is Turing compleet, wat betekent dat het mogelijk elke berekening kan uitvoeren. Dit maakt het een flexibel platform voor het maken van dApps. Omdat de EVM in een sandbox is geplaatst, wordt de uitvoering van de code gescheiden en veilig gehouden. Dit voorkomt dat slechte code het hele netwerk overneemt. Ontwikkelaars van Ethereum zetten slimme contracten om inbytecode dat de EVM kan draaien. Zodra de code op de blockchain is geplaatst, kan deze niet meer worden gewijzigd.
Gebruikers en dApps sturen transacties naar Ethereum-adressen die code bevatten die kan worden uitgevoerd om met de EVM te communiceren. De EVM voert de code uit wanneer deze gebeurtenissen plaatsvinden. De code kan lezen van en schrijven naar de Ethereum-status (het gedistribueerde grootboek), wat het mogelijk maakt om gedecentraliseerde apps te maken die zaken doen als niet-fungibele tokens (NFT's), gedecentraliseerde financiën (DeFi) en meer.
De gedecentraliseerde en deterministische verwerking van de EVM zorgt er vervolgens voor dat alle knooppunten op het Ethereum-netwerk het eens zijn over de veranderingen die deze transacties veroorzaken. Hierdoor blijft de integriteit en betrouwbaarheid van de blockchain behouden.
Ethereum virtuele machinefuncties en -functies
De EVM is een belangrijk onderdeel van de Ethereum-blockchaintechnologie en is gemaakt om een aantal belangrijke dingen te doen. Hier zijn enkele van de belangrijkste kenmerken:
Gedecentraliseerde uitvoering
De EVM bestaat uit een autonoom netwerk van knooppunten die samenwerken om ervoor te zorgen dat geen enkele persoon of groep bepaalt hoe het werkt. Het feit dat de Ethereum-blockchain gedecentraliseerd is, maakt het betrouwbaar en moeilijk te controleren.
Wanneer een slim contract of transactie naar het Ethereum-netwerk wordt verzonden, wordt het naar duizenden knooppunten over de hele wereld verzonden. Deze knooppunten controleren afzonderlijk de code in de transactie en voeren deze uit. Ze zijn het er allemaal over eens of de transactie geldig is en wat er als gevolg daarvan zal gebeuren. Wanneer de actie gedecentraliseerd is, is er geen enkel storingspunt in het netwerk. Het weerhoudt ook iedereen ervan om met het systeem te knoeien, omdat de meeste knooppunten het eens moeten worden over de waarheid van transacties en slimme contractresultaten.
Slimme contractuitvoering
Slimme contracten zijn computerprogramma's die automatisch de regels van een deal uitvoeren of bepaalde dingen doen als aan bepaalde voorwaarden wordt voldaan. Deze slimme contracten zijn geschreven in computertalen van hoog niveau, zoals Solidity, en de EVM is gemaakt om ze uit te voeren. Bytecode is de taal op laag niveau die de EVM kent, en ontwikkelaars zetten hun code daarin om. Er wordt gezegd dat een slim contract onveranderlijk is wanneer het op de Ethereum-blockchain wordt geplaatst. Dit betekent dat de code en het gedrag ervan niet kunnen worden gewijzigd. De EVM past de regels en logica toe die in het slimme contract zijn geschreven, en iedereen kan de blockchain controleren om te zien hoe deze werkt.
Turing-volledigheid
De EVM is Turing-compleet, wat betekent dat hij elke berekening kan uitvoeren die in een programma kan worden geschreven. Deze functie maakt het anders dan blockchains die eenvoudiger zijn en geen Turing-volledigheid hebben. Wanneer ontwikkelaars slimme contracten voor de EVM schrijven, hebben ze veel vrijheid. Ze kunnen ingewikkelde formules in praktijk brengen, dApps maken met ingewikkelde logica en met veel nieuwe blockchain-oplossingen komen.
Gassysteem
De EVM gebruikt een gassysteem om ervoor te zorgen dat de hulpbronnen eerlijk en efficiënt worden verdeeld. Gas is de prijs van de computerbronnen die nodig zijn om een handels- of slim contract uit te voeren. Voor elke EVM-operatie is een bepaalde hoeveelheid gas nodig, en gebruikers moeten voor gas betalen wanneer ze transacties uitvoeren. Gebruikers bepalen de prijs van gas, en mijnwerkers kiezen meestal voor transacties met hogere gasprijzen. Het gassysteem heeft twee hoofddoelen: het stoppen van spam en misbruik van het netwerk door het duur maken van het gebruik van hulpbronnen; en om mijnwerkers en knooppunten aan te moedigen transacties te verwerken door ze in gas als transactiekosten te betalen.
Isolatie en veiligheid
De EVM zorgt ervoor dat de code in een veilige, aparte ruimte wordt uitgevoerd. Elk slim contract heeft zijn eigen ‘sandbox’, wat betekent dat het ene contract de status of het gedrag van een ander contract niet kan veranderen. Deze scheiding maakt de veiligheid beter doordat mogelijke zwakke punten in individuele contracten behouden blijven. Dit betekent dat als een contract kapot is of een bug bevat, dit geen invloed heeft op het Ethereum-netwerk of andere contracten.
Deterministische uitvoering
Elk knooppunt in het Ethereum-netwerk zal hetzelfde resultaat opleveren bij het uitvoeren van een transactie of een slim contract als het dezelfde input krijgt en in dezelfde staat begint. Dit heet deterministische uitvoering. Om overeenstemming te bereiken over alle knooppunten heen is deterministische uitvoering een must. Het zorgt ervoor dat iedereen op het netwerk het eens is over de staat van de blockchain, wat het vertrouwen en de betrouwbaarheid vergroot.
Onveranderlijke code
Wanneer slimme contracten in gebruik worden genomen op de Ethereum-blockchain, kunnen deze niet worden gewijzigd. De code voor een contract kan na publicatie niet meer worden gewijzigd of bijgewerkt. Een belangrijk kenmerk van op blockchain gebaseerde slimme contracten is de onveranderlijkheid, die ervoor zorgt dat het gedrag van het contract in de loop van de tijd hetzelfde blijft. Gebruikers en dApps kunnen er zeker van zijn dat de regels van het contract niet zonder waarschuwing zullen veranderen.
Mondiale berekening
Door gebruik te maken van de rekenkracht van alle knooppunten in het Ethereum-netwerk, maakt de EVM wereldwijde verwerking mogelijk. Deze spreidmethode zorgt ervoor dat de actieve code wordt gedupliceerd, fouten kan verwerken en niet kan worden gecensureerd. Bovendien betekent dit dat het netwerk kan blijven werken, zelfs als sommige knooppunten niet beschikbaar zijn of gehackt zijn.
Op stapel gebaseerde uitvoering
Door de EVM wordt een stack-gebaseerd verwerkingsmodel gebruikt. Dit betekent dat gegevens en operanden op een stapel worden geplaatst en dat waarden van de stapel worden gehaald om acties uit te voeren. De op stapels gebaseerde verwerkingsmethode werkt goed in de beperkte middelen van de EVM en is efficiënt. Het zorgt ervoor dat code snel en betrouwbaar wordt uitgevoerd.
Opcode-systeem
Het is aan het opcodesysteem om de EVM te vertellen welke acties kunnen worden uitgevoerd terwijl de code wordt uitgevoerd. De basisbouwstenen van EVM-opdrachten worden opcodes genoemd. Sommigen daarvan zijn wiskundige processen, het opslaan en ophalen van gegevens, voorwaardelijke verklaringen, interactie met contracten en meer. Slimme contracten worden door ontwikkelaars geschreven in talen op hoog niveau. Deze talen worden vervolgens omgezet in een reeks opcodes die de EVM kan begrijpen en uitvoeren.
Conclusie
Blockchains beschouwen de Ethereum Virtual Machine als een model van hoe dingen beter kunnen worden gedaan. Het vermogen om slimme contracten uit te voeren en gedecentraliseerde apps aan te drijven heeft bedrijven veranderd en de toekomst opener, efficiënter en gedecentraliseerd gemaakt. Als we naar de toekomst kijken, zal de EVM voorop blijven lopen in de ontwikkeling van blockchain, waardoor de manier waarop we technologie gebruiken vooruit gaat en verandert.
Officiële website:
Website: https://www.bitrue.com/
Aanmelden: https://www.bitrue.com/user/register
Disclaimer: de geuite meningen behoren uitsluitend toe aan de auteur en weerspiegelen niet de mening van dit platform. Dit platform en zijn dochterondernemingen wijzen elke verantwoordelijkheid af voor de juistheid of geschiktheid van de verstrekte informatie. Het is uitsluitend bedoeld voor informatieve doeleinden en niet bedoeld als financieel of beleggingsadvies.