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.