Blockchain
20/8/22

Wat is zero-knowledge Ethereum Virtual Machine (zkEVM)?

Wat is zero-knowledge Ethereum Virtual Machine (zkEVM)?
Ethereum
eth

€600 terugkrijgen?

  1. Vraag een gratis Bybit Card aan
  2. Stort €100 en ontvang direct €10
  3. Betaal met je Bybit Card en ontvang 10% cashback tot wel €600!
Start direct bij
Bybit logo
Bybit Card

In 2022 gaf Polygon (MATIC) aan de zero-knowledge Ethereum Virtual Machine (zkEVM) te lanceren. Dit is een layer 2 scaling solution die zich richt op het verbeteren van de schaalbaarheid; de transactiekosten gaan omlaag en gebruikers kunnen sneller hun transactie laten verwerken. Maar, Polygon is zelf ook al een layer 2 scaling solution, dus waarom is de ontwikkeling van de zero-knowledge Ethereum Virtual Machine (zkEVM) dan nodig? In dit artikel lees je wat de zero-knowledge Ethereum Virtual Machine (zkEVM) is, hoe zkEVM werkt en wat het nut van deze schaalbaarheidsoplossing is.

Wil je meer weten over layer 2 scaling solutions? In onderstaande video, gemaakt door AllesOverCrypto, leggen we meer uit over dit type schaalbaarheidsoplossing.

Bekijk snel

Wat is Ethereum Virtual Machine (EVM)?

Voordat we dieper in de zero-knowledge Ethereum Virtual Machine kunnen duiken, is het beter om eerst meer te leren over de EVM. De Ethereum Virtual Machine is een systeem (of technologie) dat door ontwikkelaars gebruikt wordt om decentrale applicaties te ontwikkelen voor de Ethereum-blockchain. Een ontwikkelaar kan EVM op zijn computer of laptop downloaden. Vervolgens zal EVM de laatste versie van de Ethereum-blockchain bijhouden. Ontwikkelaars kunnen hun applicatie middels de EVM vanaf hun computer op Ethereum laten draaien.

Het is belangrijk dat de EVM continu een update van de versie geeft. Er worden namelijk nieuwe blokken aan de blockchain toegevoegd, en deze blokken hebben een invloed op de werking van de applicatie. Wanneer er een gebeurtenis binnen de dApp plaatsvindt, wordt deze op de blockchain opgeslagen. Zo kunnen ontwikkelaars gebeurtenissen volgen om hun dApps te testen en verder te ontwikkelen.

Wil je een razendsnelle uitleg over de EVM in video-vorm? Bekijk dan onderstaande video.

Wat is zero-knowledge Ethereum Virtual Machine (zkEVM)?

De zero-knowledge Ethereum Virtual Machine (zkEVM) is een layer 2 scaling solution die zich richt op het verbeteren van de schaalbaarheid. Ondanks dat zkEVM door Polygon is ontwikkeld, is het volledig compatibel (dus kan samenwerken) met de smart contracts, wallets en ontwikkelaarstools die op Ethereum draaien.

Ethereum is een blockchain die veel lijdt onder het schaalbaarheidsprobleem. Op zijn dieptepunt moesten gebruikers honderden dollars aan transactiekosten betalen. Zij moesten soms een uur wachten voordat hun transactie verwerkt was en op de mainchain was opgeslagen. Hier moet zkEVM een einde aan maken.

Zk-proof

Binnen de zkEVM wordt gebruik gemaakt van het zero-knowledge cryptografie-protocol. We noemen dit ook wel zk-proof, en deze technologie kom je bij meerdere blockchainprojecten tegen. Zk-proof wordt gebruikt om meerdere transacties te bundelen, waarna ze op de mainchain worden opgeslagen. Het zorgt ervoor dat er minder ruimte nodig is, waardoor transacties sneller en goedkoper verwerkt kunnen worden.

Nadat de transacties volgens de zk-proof zijn verwerkt, worden ze dus op de blockchain van Ethereum opgeslagen. In veel gevallen worden de transacties niet hier verwerkt. In plaats daarvan worden ze op de scaling solution, sidechain of ander netwerk verwerkt. Op deze plaats kunnen de transacties namelijk sneller verwerkt worden.

Vervolgens worden meerdere transacties gebundeld tot één transactie. Dit betekent dat de kosten gedeeld worden door alle transacties die door de zk-proof zijn gebundeld. Stel dat de transactiekosten 100 dollar bedragen, en er 1000 transacties zijn gebundeld, betaalt iedereen slechts $0,10. Dat is dus fors goedkoper!

In onderstaande video geeft Vitalik Buterin, een van de mede-oprichters van Ethereum, een uitleg over wat zkEVM is en hoe deze technologie werkt.

https://youtu.be/1GZY3bMx8Is

Wat maakt zkEVM uniek?

De zero-knowledge Ethereum Virtual Machine (zkEVM) maakt het makkelijk om EVM-compatibele applicaties te migreren naar zkEVM. Wat betekent dat?

Net zoals de EVM, kunnen ontwikkelaars een applicatie ontwikkelen met zkEVM. Het verschil is echter dat de zkEVM ervoor zorgt dat de gebeurtenissen die vanuit de zkEVM plaatsvinden veel sneller en goedkoper verwerkt worden op Ethereum. Ontwikkelaars kunnen hun applicatie dus tegen veel lagere kosten ontwikkelen wanneer ze gebruik maken van zkEVM.

Polygon gaf zelf aan dat de zkEVM de kosten tot 90% kan verminderen. Daarnaast zal de zkEVM ook gebruikt kunnen worden voor het lanceren van NFT's (non-fungible tokens). Deze NFT's worden nu ook met EVM's gemaakt, al zijn er steeds meer layer 2 scaling solutions voor NFT's, waarvan Immutable X het bekendst is.

Hoe werkt zkEVM?

Net als de EVM, zorgt ook de zkEVM voor een update van de 'staat' van de blockchain. Echter, de zkEVM gaat nog een stap verder en zorgt voor een bewijs waaruit blijkt dat de staat van de blockchain correct is.

Hoe werkt EVM?

Eerst kijken we naar de werking van de Ethereum Virtual Machine. Wanneer een ontwikkelaar een aanpassingen in zijn smart contract doet, wordt de 'staat' van de blockchain aangepast. Hiermee bedoelen we dat de EVM de laatste versie van de blockchain ophaalt. Het veranderen van de staat heet de 'state transition'. Maar wat gebeurt er bij de state transition?

  1. De bytecode van het smart contract wordt geladen vanuit de EVM en uitgevoerd door nodes in de EVM. Alle nodes krijgen dezelfde gegevens door, en dus zal ook het resultaat bij iedere node hetzelfde zijn. Is het resultaat niet hetzelfde? Dan kunnen de nodes de transactie niet uitvoeren.
  2. Er vindt communicatie tussen de blockchain en de EVM plaats. Deze 'EVM Opcodes' communiceren met de verschillende onderdelen van de EVM en halen data uit de blockchain, waarna ze deze in het geheugen van de EVM schrijven.
  3. De data die naar de EVM is verplaatst wordt nu uitgevoerd, waarna de transitie is voltooid. Deze staat blijft hetzelfde totdat er weer een nieuwe transactie is uitgevoerd.

Hoe werkt de zkEVM?

In zijn beginsel werkt de zkEVM op dezelfde manier als de EVM. Toch vinden een aantal extra handelingen plaats die ervoor zorgen dat de data beter gecontroleerd wordt. Laten we bovengenoemde stappen als basis nemen. De zkEVM voert de volgende extra handelingen uit bij deze stappen:

  1. De zkEVM kijkt of de bytecode die wordt geladen wel de juiste code is en van het juiste adres afkomt.
  2. Er wordt gekeken of de communicatie tussen de verschillende onderdelen klopt. Als er data wordt verstuurd, moet deze data bij aankomst precies hetzelfde zijn. Bij zkEVM wordt hier extra op gecontroleerd.
  3. Controle zorgt ervoor dat alles op de juiste manier wordt uitgevoerd, en data uit de blockchain ook daadwerkelijk klopt met data in de EVM.

Architectuur van zkEVM

Laten we eens gaan kijken naar de architectuur van zkEVM, welke uit drie onderdelen bestaat:

  • Execution environment;
  • Proving circuit;
  • Verifier contract.

Execution environment

Het eerste onderdeel is de execution environment, ofwel de uitvoeringsomgeving. Een applicatie is in feite en smart contract, en in deze omgeving worden de smart contract van de zkEVM uitgevoerd. De manier waarop dat gebeurt lijkt veel op de normale EVM. In de uitvoeringsomgeving wordt de staat van de blockchain gekopieerd, om deze vervolgens te combineren met de transactie waardoor een nieuwe staat ontstaat.

Proving circuit

In de proving circuit worden de zero-knowledge proofs ontwikkeld die de validiteit van de transacties uit de execution environment controleren. Dit is een belangrijk onderdeel, omdat hier wordt gecontroleerd of alle data ook daadwerkelijk valide is, en niemand onterecht data verandert. Alle data gaat in de proving circuit, waarna een zk-proof wordt gegenereerd. Hier komt een 'proof' uit, dat als bewijs van de validiteit dient.

Verifier contract

De proofs, ofwel de uitkomsten van de transacties, worden naar een smart contract op de layer 1 blockchain van Ethereum verplaatst. De input (die wordt gebruikt voor het maken van de proof) en de proof worden in het verifier contract opgeslagen. Wanneer dit eenmaal is voltooid, zijn alle stappen uitgevoerd.

In onderstaande video gaat men dieper in op de technische werking van zkEVM. De video is vrij technisch. Ben je geïnteresseerd in de volledige werking van de zkEVM? Dan zal deze video je zonder twijfel helpen om hierachter te komen.

Wanneer lost Ethereum zijn eigen problemen op?

Het lijkt alsof layer 2 scaling solutions als paddenstoelen uit de grond blijven schieten. Veel ontwikkelaars proberen de problemen van layer 1 blockchains, zoals Ethereum en Bitcoin, op te lossen door een extra protocol te ontwikkelen. Je vraagt je misschien af wanneer Ethereum van plan is zijn eigen problemen op te lossen. Goed nieuws, want Ethereum is bezig met de upgrade naar Ethereum 2.0. Naar verwachting zal de blockchain op 19 september 2022 overgaan naar Proof-of-Stake (PoS). Daarvoor maakte de blockchain gebruik van Proof-of-Work (PoW).

Onder andere de overgang naar een ander consensus mechanisme moet ervoor zorgen dat Ethereum schaalbaarder wordt. Wanneer dat slaagt, betalen gebruikers lagere transactiekosten en hoeven ze minder langer op de verwerking van hun transactie te wachten.

Natuurlijk is het nog wel de vraag of deze overgang ook daadwerkelijk het beoogde resultaat oplevert. Er zijn ondertussen veel nieuwe blockchain ontwikkeld die veel sneller dan Ethereum zijn, zoals Solana (SOL), Radix (XRD) en Fantom (FTM).

Zou een succesvolle upgrade van Ethereum 2.0 het einde van scaling solutions als zkEVM betekenen? Waarschijnlijk niet. Veel ontwikkelaars ontwikkelen hun applicatie nu op een scaling solution, zoals Polygon, Immutable X, zkEVM of Optimism. Ook kiezen veel gebruikers ervoor hun transactie over deze oplossingen uit te voeren. De kans is klein dat dit zal verdwijnen. En dat zou alleen maar goed zijn voor Ethereum. Des te vaker men layer 2 scaling solutions gebruikt, des te vaker de blockchain van Ethereum gebruikt wordt. Immers worden alle transactie die door layer 2 scaling solutions zijn uitgevoerd op de blockchain van Ethereum opgeslagen.

Welke andere layer 2 scaling solutions zijn er?

De zkEVM van Polygon is natuurlijk niet de enige layer 2 scaling solution die ervoor zorgt dat je sneller en goedkoper transacties over Ethereum kunt uitvoeren. Er zijn zelfs ook scaling solutions voor de blockchain van Bitcoin, die hetzelfde doel voor ogen hebben: gebruikers goedkoper en sneller een transactie laten uitvoeren.

Dit zijn de belangrijkste layer 2 scaling solutions:

  • Polygon (MATIC) is een sidechain voor Ethereum die tot 7.200 transacties per seconde (TPS) kan uitvoeren (terwijl Ethereum er 14 per seconde kan verwerken), waar gebruikers minder dan één Amerikaanse dollar voor betalen;
  • Lightning Network is een scaling solutions voor Bitcoin (BTC) en kan 250 transacties per seconde uitvoeren (terwijl Bitcoin 7 transacties per seconde kan verwerken);
  • Arbitrum is een Optimistic Rollup voor Ethereum en kan tot 40.000 transacties per seconde uitvoeren;
  • Optimism is een Optimstic Rollup voor Ethereum en heeft slechts 0.3 seconde voor de verwerking van een transactie nodig, waarbij de gas fee 143 keer lager uitvalt dan op Ethereum;
  • Immutable X is een zk-Rollup voor Ethereum, in het bijzonder voor NFT's, en kan 9.000 transacties per seconde verwerken.

Natuurlijk zijn er nog veel meer scaling solutions voor blockchains als Ethereum en Bitcoin. We zien echter dat deze oplossingen het vaakst gebruikt worden. Je kunt als gebruiker zelf gebruik maken van deze oplossingen door jouw transacties over deze oplossingen uit te voeren. Zorg ervoor dat je eerst informatie inwint over hoe je dat kunt doen, voordat je dit uiteindelijk gaat uitvoeren.

Conclusie

De zero-knowledge Ethereum Virtual Machine (zkEVM) laat ontwikkelaars op een veilige, goedkope en snelle manier applicaties voor Ethereum ontwikkelen. Deze technologie werkt hetzelfde als de normale Ethereum Virtual Machine, maar heeft toch een unieke werking die ervoor zorgt dat de staat van de blockchain sneller gekopieerd kan worden naar de virtual machine van de ontwikkelaar.

Dit soort oplossingen blijven nodig zolang Ethereum last heeft van het schaalbaarheidsprobleem. Maar ook wanneer dit probleem is opgelost, zullen dit soort oplossingen naar alle waarschijnlijkheid nog steeds nodig zijn. Dat geldt niet alleen voor de zkEVM, maar ook voor oplossingen zoals Optimism, Immutable X, Arbitrum en Polygon.

Ben je op zoek naar meer informatie of heb je nog vragen over beleggen? Of wil je graag andere cryptoliefhebbers ontmoeten? In de gratis Discordkanalen van ons product Money Mastery van AllesOverCrypto kun je vragen stellen en kom je in gesprek met duizenden andere liefhebbers van crypto. Heb je andere crypto gerelateerde vragen? Het makkelijkste is om jouw vraag in onze FAQ op te zoeken. Wat je ook kunt doen, is dat je jouw vraag + AllesOverCrypto googelt. Laat vooral weten wat jouw gedachten zijn over de beleggingsvormen die we in dit artikel bespreken.

Ontdek Alles Over Crypto

Schrijf je in voor onze gratis nieuwsbrief en ontvang wekelijks de nieuwste inzichten in de cryptowereld.

Je bent succesvol ingeschreven!
Oeps! Er is iets fout gegaan!