Hvad er en ZkEVM, og hvordan kan den forbedre Ethereum-√łkosystemet?
Hjem
Artikler
Hvad er en ZkEVM, og hvordan kan den forbedre Ethereum-√łkosystemet?

Hvad er en ZkEVM, og hvordan kan den forbedre Ethereum-√łkosystemet?

Avanceret
Offentliggjort Apr 14, 2023Opdateret Jun 15, 2023
8m

Denne artikel er et bidrag fra fællesskabet. Forfatteren er Kenny Li, medstifter af Manta Network, en programmerbar protokol til beskyttelse af personlige oplysninger i layer 1, der er baseret på zero-knowledge proofs-teknologien. 

Synspunkterne i denne artikel tilh√łrer bidragsyderen/forfatteren og afspejler ikke n√łdvendigvis Binance Academys synspunkter.

TL;DR

  • En zero-knowledge Ethereum Virtual Machine (zkEVM) er en Ethereum-tilstandsmaskine, der kan udf√łre smart contracts p√• en m√•de, der er kompatibel med zero-knowledge proof-teknologi (ZKP).¬†

  • zkEVM'er udvider mulighederne for zero-knowledge rollups (zk-rollups) p√• Ethereum til at underst√łtte decentraliserede applikationer (DApps).¬†

  • zkEVM'er g√łr det nemt at implementere b√•de eksisterende og nye Ethereum-projekter ved hj√¶lp af ZKP'er for at forbedre Ethereum-√łkosystemet.

Introduktion 

De oprindelige udviklere af Ethereum overvejede ikke ZKP-teknologien, da de f√łrst foreslog netv√¶rket i 2014. I de seneste √•r har ZKP imidlertid vundet opm√¶rksomhed og forventes at spille en langt mere fremtr√¶dende rolle inden for blockchain-omr√•det. Derfor er bestr√¶belserne p√• at kombinere ZKP-teknologien og Ethereums virtuelle maskine blevet intensiveret.¬†

For at forst√• hvad en zkEVM er, skal vi f√łrst kort gennemg√• de to underliggende koncepter: zk-rollups og EVM.¬†

Hvad er Zk-Rollups? 

En rollup er en skaleringsl√łsning, der samler mange transaktionsudf√łrelser uden for main chainen og sender dataene tilbage til hovednetv√¶rket som en enkelt transaktion. Denne proces √łger dataoverf√łrselshastigheden og reducerer samtidig omkostningerne ved udf√łrelsen af disse transaktioner.

P√• Ethereum komprimeres transaktioner inden for en rollup og sendes til Ethereum-hovednettet for omkostningerne ved at verificere en enkelt transaktion. Ethereum-hovednettet s√łrger for afregning og verificerer transaktionsdata, der er indeholdt i rollupen.

En zk-rollup er en type rollup, der anvender ZKP-teknologi, som er en kryptografisk teknologi, der g√łr det muligt at verificere gyldigheden af en oplysning uden at afsl√łre selve oplysningen. zk-rollups beh√łver ikke at offentligg√łre alle transaktionsdata til Ethereum-hovednettet. De beh√łver kun tilstandsforskelle (s√•som √¶ndringer i brugerkontostatus) og gyldighedsbeviser, hvilket s√¶nker gasgebyrerne i processen.

Sikkerheden ved zk-rollups kommer fra ZKP-kryptografi, hvor kryptografiske midler anvendes til at verificere beviser og opn√• tillid. Dette adskiller sig fra andre rollups som f.eks. optimistiske rollups, hvis sikkerhed kommer fra √łkonomisk spilteori, hvor d√•rlige akt√łrer afskr√¶kkes af potentielle tab, og udfordrere motiveres af incitamenter.

Hvad er EVM?

EVM er en tilstandsmaskine, hvorp√• Ethereum-kontosystemet og smart contracts k√łrer. Hver udf√łrelse af en smart contract udl√łser, at EVM overg√•r fra en gammel tilstand til en ny tilstand. EVM definerer reglen for beregning af nye og gyldige tilstande fra √©n blok til en anden.

Tilstand er et vigtigt begreb i Ethereum. Det er en Merkle Patricia Trie-datastruktur, der repr√¶senterer den aktuelle tilstand af Ethereum og g√łr det muligt for alle at spore transaktionsoplysninger fra den aktuelle blok helt tilbage til den oprindelige blok.

Alle noder, der er involveret i vedligeholdelsen af Ethereum, eksisterer for at sikre kontinuitet og konsensus, hvilket g√łr det muligt for hver node at se den n√łjagtige aktuelle tilstand. EVM spiller en afg√łrende rolle for at opretholde denne sammenh√¶ng.

Hvordan fungerer en ZkEVM? 

EVM underst√łtter ikke ZKP'er som standard. zkEVM har til form√•l at sikre kontinuitet i Ethereums tilstand, samtidig med at den giver bevis for, at alle oplysninger er korrekte. P√• denne m√•de kan de forskellige faktorer, der er involveret i beregningen af disse processer, verificeres, samtidig med at sikkerheden og beskyttelsen af personlige oplysninger opretholdes.¬†

zkEVM g√łr dette ved at replikere Ethereum-milj√łet som zk-rollups. Den tager udgangspunkt i den oprindelige tilstand, beregner alle transaktioner og udsender derefter en ny, opdateret tilstand sammen med en tilh√łrende ZKP. Dette bevis sendes til en smart contract, der verificerer korrektheden af b√•de den oprindelige og den nye tilstand uden at skulle verificere alle transaktionerne individuelt.¬†

Eftersom zkEVM'er er baseret p√• EVM'en, kan udviklere nemt tilpasse Ethereum-DApps og smart contracts til zkEVM'er uden at skulle lave ZKP-udviklingsarbejde. Med andre ord g√łr zkEVM'er det muligt for zk-rollups at udf√łre smart contracts ud over token-swaps og betalinger, som tidligere blev underst√łttet uden zkEVM'er.¬†¬†¬†

P√• grund af EVM's kompatibilitetsfunktion kan udviklere bygge nye produkter ved hj√¶lp af eksisterende EVM-v√¶rkt√łjer og programmeringssproget Solidity, mens de nyder godt af den forbedrede sikkerhed, der f√łlger med zkEVM. De samme fordele g√¶lder ogs√• for brugerne ‚Äď de kan forts√¶tte med at bruge de samme DApps og velkendte v√¶rkt√łjer, men med ekstra sikkerhed og beskyttelse af personlige oplysninger.

EVM-kompatibilitet kontra EVM-ækvivalens 

N√•r en blockchain omtales som EVM-kompatibel, betyder det, at den tilbyder et milj√ł, der kan implementere DApps skrevet i programmeringssproget Solidity. Solidity er designet til at udvikle smart contracts, der k√łrer p√• Ethereum-netv√¶rket.¬†

Faktisk kan Ethereum-udviklere kopiere og indsætte koden for eksisterende DApps fra Ethereum og implementere den på andre EVM-kompatible kæder med minimale ændringer. For brugere er enhver EVM-kompatibel kædeadresse den samme som deres Ethereum-adresse. 

Det betyder, at adresserne er kompatible med almindelige wallets s√•som Metamask og Trust Wallet. I √łjeblikket omfatter de vigtigste EVM-kompatible k√¶der BNB Chain, Avalanche C-Chain og Polygon.¬†

EVM-kompatibilitet skal ikke forveksles med EVM-ækvivalens, hvilket betyder, at Layer 2-rollups fra DApp-udviklerens perspektiv er næsten identiske med Layer 1-Ethereum. 

For at bruge en operativsystemanalogi svarer EVM-√¶kvivalens til at gendanne filer og indstillinger via Apple Cloud, hvis en brugers tidligere computer og den nye computer begge k√łrer p√• Apples operativsystem.

I modsætning hertil betyder EVM-kompatibilitet, at hvis en ny computer skifter til et Windows-system, skal de originale filer downloades via cloud-lagring og konverteres for at gendanne foretrukne indstillinger og gamle filer. 

Forskellige typer af ZkEVM'er 

Det er ekstremt langsomt at generere og verificere ZKP'er direkte ved hj√¶lp af EVM, fordi Ethereum oprindeligt ikke var designet til at underst√łtte ZKP-teknologi. I nogle tilf√¶lde kan det tage op til flere timer. Det er imidlertid vigtigt at finde en balance mellem EVM-kompatibilitet og ZKP-effektivitet.

Ethereum-stifter Vitalik Buterin kategoriserede zkEVM'er i f√łlgende fire typer. I lighed med blockchain-trilemmaet har de hver is√¶r forskellige afvejninger mellem ZKP's effektivitet og EVM-kompatibilitet.¬†¬†¬†¬†

Type 1: √Ükvivalens p√• konsensusniveau ‚Äď zkEVM, der er fuldst√¶ndig √¶kvivalent med Ethereum

P√• konsensusniveau svarer en type 1 zkEVM ‚Äď ogs√• kendt som en "enshrined rollup" ‚Äď til Ethereum, og zkEVM-k√¶dens tilstand og transaktioner er identiske med dem i Ethereum. De kan gensidigt verificere blokke og bruges direkte med Ethereum-klienter til udf√łrelse.

Type 1 zkEVM'er g√łr selve Ethereum mere skalerbart og kan indf√łres direkte i Ethereum-hovednettet. Ulempen er, at ZKP's effektivitet er ekstremt ringe og kr√¶ver en stor m√¶ngde beregninger for at blive verificeret. L√łsningen er at anvende parallelle validatorer i stor skala eller specialiserede integrerede kredsl√łb til zk-SNARK i fremtiden.

Type 1 zkEVM'er med h√łj ZK-effektivitet ville v√¶re den mest ideelle form for zkEVM. I √łjeblikket er der mange projekter, der bygger eller udforsker denne type zkEVM.

Type 2: √Ükvivalens p√• bytecode-niveau ‚Äď fuldst√¶ndig √¶kvivalent med EVM

Type 2 svarer fuldstændig til EVM, men ikke til Ethereum. Den adskiller sig fra Ethereum med hensyn til datastrukturer (såsom blokstruktur og tilstandstræ) og sletter nogle stakoperationer, der ikke er ZK-venlige. 

Den er fuldt kompatibel med Ethereums eksisterende DApps, fejlfindingsv√¶rkt√łjer og udviklerinfrastruktur. √Ükvivalens p√• bytecode-niveau kan fremskynde bevisertiden, om end ikke v√¶sentligt. En klar ulempe ved type 2 er, at den er dyr, ikke synergistisk med ZK og har en lav og dyr effektivitet.¬†

Type 2.5: Svarende til type 2, men med ændringer af gasgebyrerne

Type 2.5 har samme fordele og ulemper som type 2, men har lidt lavere gasgebyrer.

Type 3: √Ükvivalens p√• bytecode-niveau ‚Äď svarer n√¶sten til EVM

Type 3 er baseret på type 2, men ofrer yderligere kompatibilitet for at forbedre ZK's effektivitet. Den sletter funktioner, der er vanskelige at implementere på zkEVM, f.eks. precompiles, så noget kodning, der bruges i DApps, som kræver denne funktion, skal omskrives.

Type 4: √Ükvivalens p√• udviklingssprogniveau ‚Äď sprog p√• h√łjt niveau svarende til EVM

Type 4 EVM'er har den h√łjeste ZK-ydeevne, men en relativt ringe kompatibilitet.

Sammenfatning 

Hovedform√•let med implementeringen af zkEVM er at udvide underst√łttelsen af ZKP-beregning til at omfatte udf√łrelse af smart contracts og dermed udvide DApps til alle EVM-kompatible protokoller. Men ZKPs' anvendelsesmuligheder stopper ikke her.¬†

ZKP-teknologien kan potentielt være kompatibel med Web2-use cases. Ved at kombinere forskellige Web2-use cases med ZKP kan Web3-applikationer blive mere smidige og brugervenlige. Det vil også give brugere, der allerede er vant til traditionelle internetbrowsere, adgang til Web3 og dermed fremme udbredelsen af Web3.

Yderligere læsning


Ansvarsfraskrivelse og risikoadvarsel: Dette indhold pr√¶senteres for dig "som det er" til generel information og uddannelsesm√¶ssige form√•l uden erkl√¶ring eller garanti af nogen art. Det skal ikke opfattes som √łkonomisk, juridisk eller anden professionel r√•dgivning, og det er heller ikke hensigten at anbefale k√łb af et bestemt produkt eller en bestemt tjeneste. Du b√łr selv s√łge r√•d fra relevante, professionelle r√•dgivere. Hvis denne artikel er et bidrag fra en tredjepart, b√łr du bem√¶rke, at dennes synspunkter udtrykkeligt tilh√łrer denne tredjepartsbidragsyder og ikke n√łdvendigvis afspejler Binance Academys synspunkter. L√¶s vores fulde ansvarsfraskrivelse her for yderligere oplysninger. Priserne p√• digitale aktiver kan v√¶re volatile. V√¶rdien af din investering kan g√• op eller ned, og du f√•r muligvis ikke det investerede bel√łb tilbage. Du er eneansvarlig for dine investeringsbeslutninger, og Binance Academy er ikke ansvarlig for eventuelle tab, du m√•tte lide. Dette materiale b√łr ikke anses for v√¶rende √łkonomisk, juridisk eller anden r√•dgivning. For yderligere oplysninger kan du l√¶se vores vilk√•r for anvendelse og risikoadvarsel.